Page MenuHomeWildfire Games

Adds snapping to edges for buildings
ClosedPublic

Authored by vladislavbelov on Jul 15 2019, 12:20 AM.
Tags
None
Tokens
"Orange Medal" token, awarded by Krinkle."Party Time" token, awarded by asterix."Party Time" token, awarded by nani."Orange Medal" token, awarded by elexis.

Details

Reviewers
wraitii
elexis
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Commits
rP23330: Adds snapping to edges for buildings
Summary

The patch allows place buildings faster and more perfect aligned. Also it might help to find nearest placeable position in some cases (for ex on the GIF you might see when a preview is inside CC the snapping tries to place it outside without collision).

How it works (GIF, ~10MB):

Test Plan
  1. Apply the patch
  2. Run the game
  3. Make sure that snapping works with Shift key pressed

Diff Detail

Unit TestsFailed

TimeTest
0 msJenkins > TestComponentScripts::test_scripts
Test failed: L"Running script simulation/components/tests/test_GuiInterface.js" Assertion failed: scriptInterface.LoadScript(pathname, content)
0 msJenkins > cxxtest-debug-gcc6.xml::[failed-to-read]
Failed to read test report file /zpool0/trunk/cxxtest-debug-gcc6.xml org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog. at org.dom4j.io.SAXReader.read(SAXReader.java:482)
0 msJenkins > TestAllocators::test_da
0 msJenkins > TestBase32::test_base32
0 msJenkins > TestBase32::test_base32_lengths
View Full Test Results (2 Failed · 319 Passed)

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Thank you for working on this @vladislavbelov .

Why put this behind a hotkey?

Because it's new behaviour and it has own restrictions.

This seems to me like desirable default placement behavior.

However after testing it feels really natural and the fact that you still free-place when not near buildings is very nice - I would agree with Josh above that this might be made the default case and a hotkey to opt out, rather than the current situation.
I would agree with committing this in JS anyways - just saying it might be worth rewriting in C++ at some point anyways. Also agreed that picking entities to compare to will be key.

I'd prefer to add it as option and test on a meaningful number of matches, including community players.

As far as I can see it has a bit different idea: remove free placement completely.

binaries/data/config/default.cfg
316

Number of actions is much more than number of available handy keys. So that situation is expected. All these keys are context-sensitive. CapsLock changes a context, it means you won't be able to start typing immediately, you need to remember/see and disable it.

binaries/data/mods/public/gui/session/input.js
1089

Currently we don't have a correct implementation of such methods, we don't account obstructions. I may suggest to add it as optional and test it within a bunch of matches.

binaries/data/mods/public/simulation/components/GuiInterface.js
1728

Why? We compare two bools.

elexis added inline comments.Jul 17 2019, 5:53 PM
binaries/data/mods/public/gui/session/input.js
1089

Should this only pick the players entities or also the ones of allies?
I wonder about the worst case performance - what about skipping units (non-static obstructions)? Order of magnitude of units to consider would be 1000+ units in a 4v4 fight, but the function returns all of them, even copied to the GUIInterface. If done correctly, it will contribute to the true 0ad experience.

Some profiling (on Kushites sandbox) showed GetObstructionEdges to be the slowest part of the function, taking around 60% of the runtime.
Maybe move that to c++ ?

Stan added a subscriber: Stan.Sep 23 2019, 12:42 PM
Stan added inline comments.
binaries/data/mods/public/simulation/helpers/Placement.js
1 ↗(On Diff #8905)

Shouldn't that be in foundation or something ?

vladislavbelov added inline comments.Sep 23 2019, 1:15 PM
binaries/data/mods/public/simulation/helpers/Placement.js
1 ↗(On Diff #8905)

We don't use any foundation in the code. We work only with the obstruction component.

Stan added inline comments.Oct 9 2019, 4:05 PM
binaries/data/mods/public/gui/session/input.js
725

let

1051

let maybe reduce the duplication wile at it

Added C++ function to get edges.

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/scripting/JSInterface_Simulation.h
|  24| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 245| 245| 	return v1.x * v2.x + v1.y * v2.y;
| 246| 246| };
| 247| 247| 
| 248|    |-/////////////////////////////////////////////////////////////////////
|    | 248|+// ///////////////////////////////////////////////////////////////////
| 249| 249| //	Vector3D
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
| 252| 252| //
| 253|    |-/////////////////////////////////////////////////////////////////////
|    | 253|+// ///////////////////////////////////////////////////////////////////
| 254| 254| 
| 255| 255| function Vector3D(x = 0, y = 0, z = 0)
| 256| 256| {
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 844| 844| 			break;
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 847|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848|    |-				{
|    | 848|+			{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849|    |-					let now = Date.now();
|    | 849|+				let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 850|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851|    |-					{
|    | 851|+				{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 852|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853|    |-						{
|    | 853|+					{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854|    |-							var sptr = ev.hotkey.split(".");
|    | 854|+						var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855|    |-							performGroup("snap", sptr[3]);
|    | 855|+						performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856|    |-						}
|    | 856|+					}
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857|    |-					}
|    | 857|+				}
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858|    |-					else
|    | 858|+				else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
| 859|    |-					{
|    | 859|+				{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
| 860|    |-						var sptr = ev.hotkey.split(".");
|    | 860|+					var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861|    |-						performGroup(sptr[2], sptr[3]);
|    | 861|+					performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863|    |-						doublePressTimer = now;
|    | 863|+					doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864|    |-						prevHotkey = ev.hotkey;
|    | 864|+					prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867| 867| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865|    |-					}
|    | 865|+				}
| 866| 866| 				}
| 867| 867| 				break;
| 868| 868| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866|    |-				}
|    | 866|+			}
| 867| 867| 				break;
| 868| 868| 		}
| 869| 869| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867|    |-				break;
|    | 867|+			break;
| 868| 868| 		}
| 869| 869| 		break;
| 870| 870| 
|    | [NORMAL] ESLintBear (space-in-parens):
|    | There should be no spaces inside this paren.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1515|1515| 		g_BatchTrainingEntityAllowedCount < batchedSize * appropriateBuildings.length)
|1516|1516| 	{
|1517|1517| 		// Train as many full batches as we can
|1518|    |-		let buildingsCountToTrainFullBatch = Math.floor( g_BatchTrainingEntityAllowedCount / batchedSize);
|    |1518|+		let buildingsCountToTrainFullBatch = Math.floor(g_BatchTrainingEntityAllowedCount / batchedSize);
|1519|1519| 		Engine.PostNetworkCommand({
|1520|1520| 			"type": "train",
|1521|1521| 			"entities": appropriateBuildings.slice(0, buildingsCountToTrainFullBatch),
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1594|1594| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1595|1595| 
|1596|1596| 	// Reset the last idle unit, etc., if the selection type has changed.
|1597|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1597|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1598|1598| 		resetIdleUnit();
|1599|1599| 	lastIdleClasses = classes;
|1600|1600| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 811| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 814| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 916| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1005| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1019| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1028| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1117| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1545| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 747| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 860| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 876| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 902| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 926| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
|1082| »   »   »   »   »   var·snapToEdge·=·Engine.HotkeyIsPressed("session.snaptoedge");
|    | [NORMAL] JSHintBear:
|    | 'snapToEdge' is already defined.

binaries/data/mods/public/gui/session/input.js
|1085| »   »   »   »   »   »   var·snapData·=·Engine.GuiInterfaceCall("GetFoundationSnapData",·{
|    | [NORMAL] JSHintBear:
|    | 'snapData' is already defined.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 821| 821| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 822| 822| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 823| 823| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 824|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 824|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 825| 825| 	}
| 826| 826| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 827| 827| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1654|1654| 			{
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|    |-						"x": pos.x,
|    |1657|+					"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|    |-						"z": pos.z,
|    |1658|+					"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|    |-						"angle": cmpPosition.GetRotation().y,
|    |1659|+					"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|    |-						"ent": ent
|    |1660|+					"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|1663|1663| 		}
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1711|1711| 				edges.push(edge);
|1712|1712| 			}
|1713|1713| 			return edges;
|1714|    |-		}
|    |1714|+		};
|1715|1715| 
|1716|1716| 		let edges = getValidEdges(allEdges, templatePos);
|1717|1717| 		if (edges.length)
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1732|1732| 						return behindA - behindB;
|1733|1733| 					if (!behindA)
|1734|1734| 						return a.offsetDistance - b.offsetDistance;
|1735|    |-					else
|1736|    |-						return -a.signedDistance - -b.signedDistance;
|    |1735|+					return -a.signedDistance - -b.signedDistance;
|1737|1736| 				}
|1738|1737| 				return scoreA - scoreB;
|1739|1738| 			};

binaries/data/mods/public/simulation/components/GuiInterface.js
|1686| »   »   const·getValidEdges·=·(allEdges,·position)·=>·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'allEdges' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1804| »   »   »   »   »   let·distance·=·Vector2D.dot(secondEdge.normal,·templatePos)·-·Vector2D.dot(secondEdge.normal,·secondEdge.begin);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'distance' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1714| »   »   }
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1736| »   »   »   »   »   »   return·-a.signedDistance·-·-b.signedDistance;
|    | [NORMAL] JSHintBear:
|    | Confusing minuses.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1064/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/scripting/JSInterface_Simulation.h
|  24| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 245| 245| 	return v1.x * v2.x + v1.y * v2.y;
| 246| 246| };
| 247| 247| 
| 248|    |-/////////////////////////////////////////////////////////////////////
|    | 248|+// ///////////////////////////////////////////////////////////////////
| 249| 249| //	Vector3D
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
| 252| 252| //
| 253|    |-/////////////////////////////////////////////////////////////////////
|    | 253|+// ///////////////////////////////////////////////////////////////////
| 254| 254| 
| 255| 255| function Vector3D(x = 0, y = 0, z = 0)
| 256| 256| {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 821| 821| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 822| 822| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 823| 823| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 824|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 824|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 825| 825| 	}
| 826| 826| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 827| 827| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1654|1654| 			{
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|    |-						"x": pos.x,
|    |1657|+					"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|    |-						"z": pos.z,
|    |1658|+					"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|    |-						"angle": cmpPosition.GetRotation().y,
|    |1659|+					"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|    |-						"ent": ent
|    |1660|+					"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|1663|1663| 		}
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1703|1703| 				edges.push(edge);
|1704|1704| 			}
|1705|1705| 			return edges;
|1706|    |-		}
|    |1706|+		};
|1707|1707| 
|1708|1708| 		let edges = getValidEdges(data.snapToEdges, templatePos);
|1709|1709| 		if (edges.length)
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1724|1724| 						return behindA - behindB;
|1725|1725| 					if (!behindA)
|1726|1726| 						return a.offsetDistance - b.offsetDistance;
|1727|    |-					else
|1728|    |-						return -a.signedDistance - -b.signedDistance;
|    |1727|+					return -a.signedDistance - -b.signedDistance;
|1729|1728| 				}
|1730|1729| 				return scoreA - scoreB;
|1731|1730| 			};

binaries/data/mods/public/simulation/components/GuiInterface.js
|1796| »   »   »   »   »   let·distance·=·Vector2D.dot(secondEdge.normal,·templatePos)·-·Vector2D.dot(secondEdge.normal,·secondEdge.begin);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'distance' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1706| »   »   }
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1728| »   »   »   »   »   »   return·-a.signedDistance·-·-b.signedDistance;
|    | [NORMAL] JSHintBear:
|    | Confusing minuses.
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 844| 844| 			break;
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 847|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848|    |-				{
|    | 848|+			{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849|    |-					let now = Date.now();
|    | 849|+				let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 850|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851|    |-					{
|    | 851|+				{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 852|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853|    |-						{
|    | 853|+					{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854|    |-							var sptr = ev.hotkey.split(".");
|    | 854|+						var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855|    |-							performGroup("snap", sptr[3]);
|    | 855|+						performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856|    |-						}
|    | 856|+					}
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857|    |-					}
|    | 857|+				}
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858|    |-					else
|    | 858|+				else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
| 859|    |-					{
|    | 859|+				{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
| 860|    |-						var sptr = ev.hotkey.split(".");
|    | 860|+					var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861|    |-						performGroup(sptr[2], sptr[3]);
|    | 861|+					performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863|    |-						doublePressTimer = now;
|    | 863|+					doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864|    |-						prevHotkey = ev.hotkey;
|    | 864|+					prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867| 867| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865|    |-					}
|    | 865|+				}
| 866| 866| 				}
| 867| 867| 				break;
| 868| 868| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866|    |-				}
|    | 866|+			}
| 867| 867| 				break;
| 868| 868| 		}
| 869| 869| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867|    |-				break;
|    | 867|+			break;
| 868| 868| 		}
| 869| 869| 		break;
| 870| 870| 
|    | [NORMAL] ESLintBear (space-in-parens):
|    | There should be no spaces inside this paren.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1515|1515| 		g_BatchTrainingEntityAllowedCount < batchedSize * appropriateBuildings.length)
|1516|1516| 	{
|1517|1517| 		// Train as many full batches as we can
|1518|    |-		let buildingsCountToTrainFullBatch = Math.floor( g_BatchTrainingEntityAllowedCount / batchedSize);
|    |1518|+		let buildingsCountToTrainFullBatch = Math.floor(g_BatchTrainingEntityAllowedCount / batchedSize);
|1519|1519| 		Engine.PostNetworkCommand({
|1520|1520| 			"type": "train",
|1521|1521| 			"entities": appropriateBuildings.slice(0, buildingsCountToTrainFullBatch),
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1594|1594| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1595|1595| 
|1596|1596| 	// Reset the last idle unit, etc., if the selection type has changed.
|1597|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1597|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1598|1598| 		resetIdleUnit();
|1599|1599| 	lastIdleClasses = classes;
|1600|1600| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 811| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 814| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 916| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1005| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1019| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1028| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1117| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1545| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 747| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 860| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 876| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 902| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 926| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
|1082| »   »   »   »   »   var·snapToEdge·=·Engine.HotkeyIsPressed("session.snaptoedge");
|    | [NORMAL] JSHintBear:
|    | 'snapToEdge' is already defined.

binaries/data/mods/public/gui/session/input.js
|1085| »   »   »   »   »   »   var·snapData·=·Engine.GuiInterfaceCall("GetFoundationSnapData",·{
|    | [NORMAL] JSHintBear:
|    | 'snapData' is already defined.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1065/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/scripting/JSInterface_Simulation.h
|  24| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 245| 245| 	return v1.x * v2.x + v1.y * v2.y;
| 246| 246| };
| 247| 247| 
| 248|    |-/////////////////////////////////////////////////////////////////////
|    | 248|+// ///////////////////////////////////////////////////////////////////
| 249| 249| //	Vector3D
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
| 252| 252| //
| 253|    |-/////////////////////////////////////////////////////////////////////
|    | 253|+// ///////////////////////////////////////////////////////////////////
| 254| 254| 
| 255| 255| function Vector3D(x = 0, y = 0, z = 0)
| 256| 256| {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 821| 821| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 822| 822| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 823| 823| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 824|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 824|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 825| 825| 	}
| 826| 826| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 827| 827| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1654|1654| 			{
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|    |-						"x": pos.x,
|    |1657|+					"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|    |-						"z": pos.z,
|    |1658|+					"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|    |-						"angle": cmpPosition.GetRotation().y,
|    |1659|+					"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|    |-						"ent": ent
|    |1660|+					"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|1663|1663| 		}
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1703|1703| 				edges.push(edge);
|1704|1704| 			}
|1705|1705| 			return edges;
|1706|    |-		}
|    |1706|+		};
|1707|1707| 
|1708|1708| 		let edges = getValidEdges(data.snapToEdges, templatePos, maxSide);
|1709|1709| 		if (edges.length)

binaries/data/mods/public/simulation/components/GuiInterface.js
|1678| »   »   const·getValidEdges·=·(allEdges,·position,·maxSide)·=>·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'maxSide' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1795| »   »   »   »   »   let·distance·=·Vector2D.dot(secondEdge.normal,·templatePos)·-·Vector2D.dot(secondEdge.normal,·secondEdge.begin);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'distance' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1706| »   »   }
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1727| »   »   »   »   »   return·-a.signedDistance·-·-b.signedDistance;
|    | [NORMAL] JSHintBear:
|    | Confusing minuses.
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 844| 844| 			break;
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 847|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848|    |-				{
|    | 848|+			{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849|    |-					let now = Date.now();
|    | 849|+				let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 850|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851|    |-					{
|    | 851|+				{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 852|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853|    |-						{
|    | 853|+					{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854|    |-							var sptr = ev.hotkey.split(".");
|    | 854|+						var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855|    |-							performGroup("snap", sptr[3]);
|    | 855|+						performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856|    |-						}
|    | 856|+					}
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857|    |-					}
|    | 857|+				}
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858|    |-					else
|    | 858|+				else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
| 859|    |-					{
|    | 859|+				{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
| 860|    |-						var sptr = ev.hotkey.split(".");
|    | 860|+					var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861|    |-						performGroup(sptr[2], sptr[3]);
|    | 861|+					performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863|    |-						doublePressTimer = now;
|    | 863|+					doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864|    |-						prevHotkey = ev.hotkey;
|    | 864|+					prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867| 867| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865|    |-					}
|    | 865|+				}
| 866| 866| 				}
| 867| 867| 				break;
| 868| 868| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866|    |-				}
|    | 866|+			}
| 867| 867| 				break;
| 868| 868| 		}
| 869| 869| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867|    |-				break;
|    | 867|+			break;
| 868| 868| 		}
| 869| 869| 		break;
| 870| 870| 
|    | [NORMAL] ESLintBear (space-in-parens):
|    | There should be no spaces inside this paren.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1515|1515| 		g_BatchTrainingEntityAllowedCount < batchedSize * appropriateBuildings.length)
|1516|1516| 	{
|1517|1517| 		// Train as many full batches as we can
|1518|    |-		let buildingsCountToTrainFullBatch = Math.floor( g_BatchTrainingEntityAllowedCount / batchedSize);
|    |1518|+		let buildingsCountToTrainFullBatch = Math.floor(g_BatchTrainingEntityAllowedCount / batchedSize);
|1519|1519| 		Engine.PostNetworkCommand({
|1520|1520| 			"type": "train",
|1521|1521| 			"entities": appropriateBuildings.slice(0, buildingsCountToTrainFullBatch),
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1594|1594| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1595|1595| 
|1596|1596| 	// Reset the last idle unit, etc., if the selection type has changed.
|1597|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1597|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1598|1598| 		resetIdleUnit();
|1599|1599| 	lastIdleClasses = classes;
|1600|1600| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 811| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 814| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 916| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1005| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1019| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1028| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1117| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1545| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 747| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 860| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 876| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 902| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 926| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
|1082| »   »   »   »   »   var·snapToEdge·=·Engine.HotkeyIsPressed("session.snaptoedge");
|    | [NORMAL] JSHintBear:
|    | 'snapToEdge' is already defined.

binaries/data/mods/public/gui/session/input.js
|1085| »   »   »   »   »   »   var·snapData·=·Engine.GuiInterfaceCall("GetFoundationSnapData",·{
|    | [NORMAL] JSHintBear:
|    | 'snapData' is already defined.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1066/display/redirect

Stan added inline comments.Nov 10 2019, 9:24 AM
binaries/data/mods/public/gui/session/input.js
725

Let.

1051

Let.

1082

Let.

1085

Let.

1093

Can't you assign the object directly ? Object.assign(secondObject, firstObject); or a = b ?

binaries/data/mods/public/simulation/components/GuiInterface.js
1734

I'm not sure how to write it but I believe you can use array.find() here.

1758

Maybe you could move the functions out ?

source/simulation2/components/CCmpObstruction.cpp
524

ternary ?

vladislavbelov marked 3 inline comments as done.

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/555/display/redirect

vladislavbelov added inline comments.Nov 10 2019, 2:18 PM
binaries/data/mods/public/gui/session/input.js
1093

No, different types.

binaries/data/mods/public/simulation/components/GuiInterface.js
1734

It's not a usual find.

1758

Yeah, that was in elexis`s comment.

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/scripting/JSInterface_Simulation.h
|  24| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 245| 245| 	return v1.x * v2.x + v1.y * v2.y;
| 246| 246| };
| 247| 247| 
| 248|    |-/////////////////////////////////////////////////////////////////////
|    | 248|+// ///////////////////////////////////////////////////////////////////
| 249| 249| //	Vector3D
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
| 252| 252| //
| 253|    |-/////////////////////////////////////////////////////////////////////
|    | 253|+// ///////////////////////////////////////////////////////////////////
| 254| 254| 
| 255| 255| function Vector3D(x = 0, y = 0, z = 0)
| 256| 256| {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 821| 821| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 822| 822| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 823| 823| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 824|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 824|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 825| 825| 	}
| 826| 826| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 827| 827| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1654|1654| 			{
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|    |-						"x": pos.x,
|    |1657|+					"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1655|1655| 				minDist2 = dist2;
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|    |-						"z": pos.z,
|    |1658|+					"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1656|1656| 				minDistEntitySnapData = {
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|    |-						"angle": cmpPosition.GetRotation().y,
|    |1659|+					"angle": cmpPosition.GetRotation().y,
|1660|1660| 						"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 						"x": pos.x,
|1658|1658| 						"z": pos.z,
|1659|1659| 						"angle": cmpPosition.GetRotation().y,
|1660|    |-						"ent": ent
|    |1660|+					"ent": ent
|1661|1661| 				};
|1662|1662| 			}
|1663|1663| 		}
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1703|1703| 				edges.push(edge);
|1704|1704| 			}
|1705|1705| 			return edges;
|1706|    |-		}
|    |1706|+		};
|1707|1707| 
|1708|1708| 		let edges = getValidEdges(data.snapToEdges, templatePos, maxSide);
|1709|1709| 		if (edges.length)

binaries/data/mods/public/simulation/components/GuiInterface.js
|1678| »   »   const·getValidEdges·=·(allEdges,·position,·maxSide)·=>·{
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'maxSide' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1795| »   »   »   »   »   let·distance·=·Vector2D.dot(secondEdge.normal,·templatePos)·-·Vector2D.dot(secondEdge.normal,·secondEdge.begin);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'distance' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1706| »   »   }
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.

binaries/data/mods/public/simulation/components/GuiInterface.js
|1727| »   »   »   »   »   return·-a.signedDistance·-·-b.signedDistance;
|    | [NORMAL] JSHintBear:
|    | Confusing minuses.
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 844| 844| 			break;
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 847|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848|    |-				{
|    | 848|+			{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 		case "hotkeydown":
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849|    |-					let now = Date.now();
|    | 849|+				let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 850|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				{
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851|    |-					{
|    | 851|+				{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 					let now = Date.now();
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 852|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853|    |-						{
|    | 853|+					{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					{
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854|    |-							var sptr = ev.hotkey.split(".");
|    | 854|+						var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855|    |-							performGroup("snap", sptr[3]);
|    | 855|+						performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						{
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856|    |-						}
|    | 856|+					}
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 							var sptr = ev.hotkey.split(".");
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857|    |-					}
|    | 857|+				}
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							performGroup("snap", sptr[3]);
| 856| 856| 						}
| 857| 857| 					}
| 858|    |-					else
|    | 858|+				else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 						}
| 857| 857| 					}
| 858| 858| 					else
| 859|    |-					{
|    | 859|+				{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 					}
| 858| 858| 					else
| 859| 859| 					{
| 860|    |-						var sptr = ev.hotkey.split(".");
|    | 860|+					var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					else
| 859| 859| 					{
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861|    |-						performGroup(sptr[2], sptr[3]);
|    | 861|+					performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 860| 860| 						var sptr = ev.hotkey.split(".");
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863|    |-						doublePressTimer = now;
|    | 863|+					doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						performGroup(sptr[2], sptr[3]);
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864|    |-						prevHotkey = ev.hotkey;
|    | 864|+					prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867| 867| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865|    |-					}
|    | 865|+				}
| 866| 866| 				}
| 867| 867| 				break;
| 868| 868| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 						doublePressTimer = now;
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866|    |-				}
|    | 866|+			}
| 867| 867| 				break;
| 868| 868| 		}
| 869| 869| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						prevHotkey = ev.hotkey;
| 865| 865| 					}
| 866| 866| 				}
| 867|    |-				break;
|    | 867|+			break;
| 868| 868| 		}
| 869| 869| 		break;
| 870| 870| 
|    | [NORMAL] ESLintBear (space-in-parens):
|    | There should be no spaces inside this paren.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1515|1515| 		g_BatchTrainingEntityAllowedCount < batchedSize * appropriateBuildings.length)
|1516|1516| 	{
|1517|1517| 		// Train as many full batches as we can
|1518|    |-		let buildingsCountToTrainFullBatch = Math.floor( g_BatchTrainingEntityAllowedCount / batchedSize);
|    |1518|+		let buildingsCountToTrainFullBatch = Math.floor(g_BatchTrainingEntityAllowedCount / batchedSize);
|1519|1519| 		Engine.PostNetworkCommand({
|1520|1520| 			"type": "train",
|1521|1521| 			"entities": appropriateBuildings.slice(0, buildingsCountToTrainFullBatch),
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1594|1594| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1595|1595| 
|1596|1596| 	// Reset the last idle unit, etc., if the selection type has changed.
|1597|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1597|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1598|1598| 		resetIdleUnit();
|1599|1599| 	lastIdleClasses = classes;
|1600|1600| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 811| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 814| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 916| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1005| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1019| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1028| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1117| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1545| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 747| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 860| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 876| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 902| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 926| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1069/display/redirect

Stan added inline comments.Nov 10 2019, 3:11 PM
binaries/data/mods/public/gui/session/input.js
1051–1052

Helper function for all three calls ?

binaries/data/mods/public/simulation/components/GuiInterface.js
1700

Math.Min() ?

1726

Order important ? if !behindA it's gonna be always different that behindB ?

1734

Is there a way to order the edges so that you only have a small part of the array to browse through ?

1745

Cache the Pi values ?

source/simulation2/scripting/JSInterface_Simulation.cpp
139

I guess it's lighter to do that first than the math ? Else you could move it next to where it's called.

174

Convention says ++value but here it would make it start at -1.
I guess one could also use i and the index of the entity, but that's not better.

vladislavbelov added inline comments.Nov 10 2019, 3:19 PM
binaries/data/mods/public/gui/session/input.js
1051–1052

I'm thinking about moving to another class.

binaries/data/mods/public/simulation/components/GuiInterface.js
1700

Math.max then :)

1726

Order is important :)

1745

You mean Math.PI / N? We don't need to cache Math.PI by itself.

source/simulation2/scripting/JSInterface_Simulation.cpp
139

It's easier to check, so I moved it before the size check.

174

We use ++index for loops, but it's not about loops, but about independed from loop index.

Stan added inline comments.Nov 11 2019, 10:46 AM
binaries/data/mods/public/gui/session/input.js
1051–1052

Maybe that would be nicer. Though might be slower;

binaries/data/mods/public/simulation/components/GuiInterface.js
1745

Yeah that's what I meant.

source/simulation2/scripting/JSInterface_Simulation.cpp
174

True but we also use it for variables.

Moves BuildingSnapping to other class.

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/562/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1076/display/redirect

Stan added inline comments.Nov 11 2019, 10:09 PM
binaries/data/mods/public/simulation/helpers/BuildingPlacement.js
1

BuildingSnapper ?
SnappingManager ?

Fixes some @elexis notes.

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/563/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1077/display/redirect

Adds distance threshold.

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/950/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/46/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/scripting/JSInterface_Simulation.h
|  25| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 245| 245| 	return v1.x * v2.x + v1.y * v2.y;
| 246| 246| };
| 247| 247| 
| 248|    |-/////////////////////////////////////////////////////////////////////
|    | 248|+// ///////////////////////////////////////////////////////////////////
| 249| 249| //	Vector3D
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
| 252| 252| //
| 253|    |-/////////////////////////////////////////////////////////////////////
|    | 253|+// ///////////////////////////////////////////////////////////////////
| 254| 254| 
| 255| 255| function Vector3D(x = 0, y = 0, z = 0)
| 256| 256| {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  49|  49| 	"GetResource": resource => ({
|  50|  50| 		"aiAnalysisInfluenceGroup":
|  51|  51| 			resource == "food" ? "ignore" :
|  52|    |-			resource == "wood" ? "abundant" : "sparse"
|    |  52|+				resource == "wood" ? "abundant" : "sparse"
|  53|  53| 	})
|  54|  54| };
|  55|  55| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  57|  57| 
|  58|  58| 
|  59|  59| AddMock(SYSTEM_ENTITY, IID_Barter, {
|  60|    |-	GetPrices: function() {
|    |  60|+	"GetPrices": function() {
|  61|  61| 		return {
|  62|  62| 			"buy": { "food": 150 },
|  63|  63| 			"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'PlayerHasMarket' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	"PlayerHasMarket": function () { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (space-before-function-paren):
|    | Unexpected space before function parentheses.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	PlayerHasMarket: function() { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVictoryConditions' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|    |-	GetVictoryConditions: () => ["conquest", "wonder"],
|    |  70|+	"GetVictoryConditions": () => ["conquest", "wonder"],
|  71|  71| 	GetAlliedVictory: function() { return false; }
|  72|  72| });
|  73|  73| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetAlliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|  70| 	GetVictoryConditions: () => ["conquest", "wonder"],
|  71|    |-	GetAlliedVictory: function() { return false; }
|    |  71|+	"GetAlliedVictory": function() { return false; }
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|    |-	GetNumPlayers: function() { return 2; },
|    |  75|+	"GetNumPlayers": function() { return 2; },
|  76|  76| 	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|  75| 	GetNumPlayers: function() { return 2; },
|  76|    |-	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|    |  76|+	"GetPlayerByID": function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosVisibility' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|    |-	GetLosVisibility: function(ent, player) { return "visible"; },
|    |  80|+	"GetLosVisibility": function(ent, player) { return "visible"; },
|  81|  81| 	GetLosCircular: function() { return false; }
|  82|  82| });
|  83|  83| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosCircular' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|  80| 	GetLosVisibility: function(ent, player) { return "visible"; },
|  81|    |-	GetLosCircular: function() { return false; }
|    |  81|+	"GetLosCircular": function() { return false; }
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|    |-	GetCurrentTemplateName: function(ent) { return "example"; },
|    |  85|+	"GetCurrentTemplateName": function(ent) { return "example"; },
|  86|  86| 	GetTemplate: function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTemplate' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|  85| 	GetCurrentTemplateName: function(ent) { return "example"; },
|  86|    |-	GetTemplate: function(name) { return ""; }
|    |  86|+	"GetTemplate": function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTime' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|    |-	GetTime: function() { return 0; },
|    |  90|+	"GetTime": function() { return 0; },
|  91|  91| 	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|  90| 	GetTime: function() { return 0; },
|  91|    |-	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|    |  91|+	"SetTimeout": function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|    |-	GetName: function() { return "Player 1"; },
|    |  95|+	"GetName": function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|    |-	GetCiv: function() { return "gaia"; },
|    |  96|+	"GetCiv": function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	"GetColor": function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { "r": 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, "g": 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, "b": 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, "a": 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1 }; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|    |-	CanControlAllUnits: function() { return false; },
|    |  98|+	"CanControlAllUnits": function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|    |-	GetPopulationCount: function() { return 10; },
|    |  99|+	"GetPopulationCount": function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100|    |-	GetPopulationLimit: function() { return 20; },
|    | 100|+	"GetPopulationLimit": function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101|    |-	GetMaxPopulation: function() { return 200; },
|    | 101|+	"GetMaxPopulation": function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	"GetResourceCounts": function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	GetResourceCounts: function() { return { "food": 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103|    |-	GetPanelEntities: function() { return []; },
|    | 103|+	"GetPanelEntities": function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104|    |-	IsTrainingBlocked: function() { return false; },
|    | 104|+	"IsTrainingBlocked": function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105|    |-	GetState: function() { return "active"; },
|    | 105|+	"GetState": function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106|    |-	GetTeam: function() { return -1; },
|    | 106|+	"GetTeam": function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107|    |-	GetLockTeams: function() { return false; },
|    | 107|+	"GetLockTeams": function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108|    |-	GetCheatsEnabled: function() { return false; },
|    | 108|+	"GetCheatsEnabled": function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 109|+	"GetDiplomacy": function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110|    |-	IsAlly: function() { return false; },
|    | 110|+	"IsAlly": function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111|    |-	IsMutualAlly: function() { return false; },
|    | 111|+	"IsMutualAlly": function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112|    |-	IsNeutral: function() { return false; },
|    | 112|+	"IsNeutral": function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113|    |-	IsEnemy: function() { return true; },
|    | 113|+	"IsEnemy": function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114|    |-	GetDisabledTemplates: function() { return {}; },
|    | 114|+	"GetDisabledTemplates": function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 115|+	"GetDisabledTechnologies": function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 116|+	"GetSpyCostMultiplier": function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117|    |-	HasSharedDropsites: function() { return false; },
|    | 117|+	"HasSharedDropsites": function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
| 120| 120| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118|    |-	HasSharedLos: function() { return false; }
|    | 118|+	"HasSharedLos": function() { return false; }
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	"GetLimits": function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return { "Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return {"Foo": 10 }; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	"GetCounts": function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return { "Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return {"Foo": 5 }; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	"GetLimitChangers": function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return { "Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return {"Foo": {} }; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 134| 134| });
| 135| 135| 
| 136| 136| AddMock(100, IID_StatisticsTracker, {
| 137|    |-	GetBasicStatistics: function() {
|    | 137|+	"GetBasicStatistics": function() {
| 138| 138| 		return {
| 139| 139| 			"resourcesGathered": {
| 140| 140| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 146| 146| 			"percentMapExplored": 10
| 147| 147| 		};
| 148| 148| 	},
| 149|    |-	GetSequences: function() {
|    | 149|+	"GetSequences": function() {
| 150| 150| 		return {
| 151| 151| 			"unitsTrained": [0, 10],
| 152| 152| 			"unitsLost": [0, 42],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 171| 171| 			"teamPeakPercentOfMapControlled": [0, 10]
| 172| 172| 		};
| 173| 173| 	},
| 174|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 174|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 172| 172| 		};
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 175|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
| 178| 178| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 176|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180|    |-	GetName: function() { return "Player 2"; },
|    | 180|+	"GetName": function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181|    |-	GetCiv: function() { return "mace"; },
|    | 181|+	"GetCiv": function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	"GetColor": function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { "r": 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, "g": 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, "b": 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, "a": 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1 }; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183|    |-	CanControlAllUnits: function() { return true; },
|    | 183|+	"CanControlAllUnits": function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184|    |-	GetPopulationCount: function() { return 40; },
|    | 184|+	"GetPopulationCount": function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185|    |-	GetPopulationLimit: function() { return 30; },
|    | 185|+	"GetPopulationLimit": function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186|    |-	GetMaxPopulation: function() { return 300; },
|    | 186|+	"GetMaxPopulation": function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	"GetResourceCounts": function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	GetResourceCounts: function() { return { "food": 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188|    |-	GetPanelEntities: function() { return []; },
|    | 188|+	"GetPanelEntities": function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189|    |-	IsTrainingBlocked: function() { return false; },
|    | 189|+	"IsTrainingBlocked": function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190|    |-	GetState: function() { return "active"; },
|    | 190|+	"GetState": function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191|    |-	GetTeam: function() { return -1; },
|    | 191|+	"GetTeam": function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192|    |-	GetLockTeams: function() {return false; },
|    | 192|+	"GetLockTeams": function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193|    |-	GetCheatsEnabled: function() { return false; },
|    | 193|+	"GetCheatsEnabled": function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 194|+	"GetDiplomacy": function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195|    |-	IsAlly: function() { return true; },
|    | 195|+	"IsAlly": function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196|    |-	IsMutualAlly: function() {return false; },
|    | 196|+	"IsMutualAlly": function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197|    |-	IsNeutral: function() { return false; },
|    | 197|+	"IsNeutral": function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198|    |-	IsEnemy: function() { return false; },
|    | 198|+	"IsEnemy": function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199|    |-	GetDisabledTemplates: function() { return {}; },
|    | 199|+	"GetDisabledTemplates": function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 200|+	"GetDisabledTechnologies": function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 201|+	"GetSpyCostMultiplier": function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202|    |-	HasSharedDropsites: function() { return false; },
|    | 202|+	"HasSharedDropsites": function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
| 205| 205| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203|    |-	HasSharedLos: function() { return false; }
|    | 203|+	"HasSharedLos": function() { return false; }
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	"GetLimits": function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return { "Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return {"Bar": 20 }; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	"GetCounts": function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return { "Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return {"Bar": 0 }; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	"GetLimitChangers": function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return { "Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return {"Bar": {} }; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 219| 219| });
| 220| 220| 
| 221| 221| AddMock(101, IID_StatisticsTracker, {
| 222|    |-	GetBasicStatistics: function() {
|    | 222|+	"GetBasicStatistics": function() {
| 223| 223| 		return {
| 224| 224| 			"resourcesGathered": {
| 225| 225| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 231| 231| 			"percentMapExplored": 10
| 232| 232| 		};
| 233| 233| 	},
| 234|    |-	GetSequences: function() {
|    | 234|+	"GetSequences": function() {
| 235| 235| 		return {
| 236| 236| 			"unitsTrained": [0, 10],
| 237| 237| 			"unitsLost": [0, 9],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 256| 256| 			"teamPeakPercentOfMapControlled": [0, 10]
| 257| 257| 		};
| 258| 258| 	},
| 259|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 259|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 257| 257| 		};
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 260|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
| 263| 263| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 261|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 262| 262| });
| 263| 263| 
| 264| 264| // Note: property order matters when using TS_ASSERT_UNEVAL_EQUALS,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'players' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 265| 265| //	because uneval preserves property order. So make sure this object
| 266| 266| //	matches the ordering in GuiInterface.
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268|    |-	players: [
|    | 268|+	"players": [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268| 268| 	players: [
| 269| 269| 		{
| 270|    |-			name: "Player 1",
|    | 270|+			"name": "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 268| 268| 	players: [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271|    |-			civ: "gaia",
|    | 271|+			"civ": "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			"color": { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { "r":1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r: 1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, "g":1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g: 1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, "b":1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b: 1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, "a":1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, a: 1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273|    |-			controlsAll: false,
|    | 273|+			"controlsAll": false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274|    |-			popCount: 10,
|    | 274|+			"popCount": 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275|    |-			popLimit: 20,
|    | 275|+			"popLimit": 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276|    |-			popMax: 200,
|    | 276|+			"popMax": 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277|    |-			panelEntities: [],
|    | 277|+			"panelEntities": [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			"resourceCounts": { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			resourceCounts: { "food": 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279|    |-			trainingBlocked: false,
|    | 279|+			"trainingBlocked": false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280|    |-			state: "active",
|    | 280|+			"state": "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281|    |-			team: -1,
|    | 281|+			"team": -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282|    |-			teamsLocked: false,
|    | 282|+			"teamsLocked": false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283|    |-			cheatsEnabled: false,
|    | 283|+			"cheatsEnabled": false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284|    |-			disabledTemplates: {},
|    | 284|+			"disabledTemplates": {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285|    |-			disabledTechnologies: {},
|    | 285|+			"disabledTechnologies": {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286|    |-			hasSharedDropsites: false,
|    | 286|+			"hasSharedDropsites": false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287|    |-			hasSharedLos: false,
|    | 287|+			"hasSharedLos": false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288|    |-			spyCostMultiplier: 1,
|    | 288|+			"spyCostMultiplier": 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289|    |-			phase: "village",
|    | 289|+			"phase": "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290|    |-			isAlly: [false, false],
|    | 290|+			"isAlly": [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291|    |-			isMutualAlly: [false, false],
|    | 291|+			"isMutualAlly": [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292|    |-			isNeutral: [false, false],
|    | 292|+			"isNeutral": [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293|    |-			isEnemy: [true, true],
|    | 293|+			"isEnemy": [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			"entityLimits": {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: { "Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: {"Foo": 10 },
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			"entityCounts": {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: { "Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: {"Foo": 5 },
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			"entityLimitChangers": {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: { "Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: {"Foo": {} },
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297|    |-			researchQueued: new Map(),
|    | 297|+			"researchQueued": new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298|    |-			researchStarted: new Set(),
|    | 298|+			"researchStarted": new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299|    |-			researchedTechs: new Set(),
|    | 299|+			"researchedTechs": new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300|    |-			classCounts: {},
|    | 300|+			"classCounts": {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301|    |-			typeCountsByClass: {},
|    | 301|+			"typeCountsByClass": {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302|    |-			canBarter: false,
|    | 302|+			"canBarter": false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303|    |-			barterPrices: {
|    | 303|+			"barterPrices": {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307|    |-			statistics: {
|    | 307|+			"statistics": {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308|    |-				resourcesGathered: {
|    | 308|+				"resourcesGathered": {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309|    |-					food: 100,
|    | 309|+					"food": 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310|    |-					wood: 0,
|    | 310|+					"wood": 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311|    |-					metal: 0,
|    | 311|+					"metal": 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312|    |-					stone: 0,
|    | 312|+					"stone": 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313|    |-					vegetarianFood: 0
|    | 313|+					"vegetarianFood": 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
| 316| 316| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315|    |-				percentMapExplored: 10
|    | 315|+				"percentMapExplored": 10
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
| 319|    |-			name: "Player 2",
|    | 319|+			"name": "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 317| 317| 		},
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320|    |-			civ: "mace",
|    | 320|+			"civ": "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			"color": { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { "r":1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r: 1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, "g":0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g: 0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, "b":0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b: 0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, "a":1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, a: 1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322|    |-			controlsAll: true,
|    | 322|+			"controlsAll": true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323|    |-			popCount: 40,
|    | 323|+			"popCount": 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324|    |-			popLimit: 30,
|    | 324|+			"popLimit": 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325|    |-			popMax: 300,
|    | 325|+			"popMax": 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326|    |-			panelEntities: [],
|    | 326|+			"panelEntities": [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			"resourceCounts": { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			resourceCounts: { "food": 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328|    |-			trainingBlocked: false,
|    | 328|+			"trainingBlocked": false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329|    |-			state: "active",
|    | 329|+			"state": "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330|    |-			team: -1,
|    | 330|+			"team": -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331|    |-			teamsLocked: false,
|    | 331|+			"teamsLocked": false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332|    |-			cheatsEnabled: false,
|    | 332|+			"cheatsEnabled": false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333|    |-			disabledTemplates: {},
|    | 333|+			"disabledTemplates": {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334|    |-			disabledTechnologies: {},
|    | 334|+			"disabledTechnologies": {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335|    |-			hasSharedDropsites: false,
|    | 335|+			"hasSharedDropsites": false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336|    |-			hasSharedLos: false,
|    | 336|+			"hasSharedLos": false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337|    |-			spyCostMultiplier: 1,
|    | 337|+			"spyCostMultiplier": 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338|    |-			phase: "village",
|    | 338|+			"phase": "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339|    |-			isAlly: [true, true],
|    | 339|+			"isAlly": [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340|    |-			isMutualAlly: [false, false],
|    | 340|+			"isMutualAlly": [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341|    |-			isNeutral: [false, false],
|    | 341|+			"isNeutral": [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342|    |-			isEnemy: [false, false],
|    | 342|+			"isEnemy": [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			"entityLimits": {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: { "Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: {"Bar": 20 },
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			"entityCounts": {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: { "Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: {"Bar": 0 },
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			"entityLimitChangers": {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: { "Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: {"Bar": {} },
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346|    |-			researchQueued: new Map(),
|    | 346|+			"researchQueued": new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347|    |-			researchStarted: new Set(),
|    | 347|+			"researchStarted": new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348|    |-			researchedTechs: new Set(),
|    | 348|+			"researchedTechs": new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349|    |-			classCounts: {},
|    | 349|+			"classCounts": {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350|    |-			typeCountsByClass: {},
|    | 350|+			"typeCountsByClass": {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351|    |-			canBarter: false,
|    | 351|+			"canBarter": false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352|    |-			barterPrices: {
|    | 352|+			"barterPrices": {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356|    |-			statistics: {
|    | 356|+			"statistics": {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357|    |-				resourcesGathered: {
|    | 357|+				"resourcesGathered": {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358|    |-					food: 100,
|    | 358|+					"food": 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359|    |-					wood: 0,
|    | 359|+					"wood": 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360|    |-					metal: 0,
|    | 360|+					"metal": 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361|    |-					stone: 0,
|    | 361|+					"stone": 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362|    |-					vegetarianFood: 0
|    | 362|+					"vegetarianFood": 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
| 365| 365| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364|    |-				percentMapExplored: 10
|    | 364|+				"percentMapExplored": 10
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'circularMap' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
| 368|    |-	circularMap: false,
|    | 368|+	"circularMap": false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'timeElapsed' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 366| 366| 		}
| 367| 367| 	],
| 368| 368| 	circularMap: false,
| 369|    |-	timeElapsed: 0,
|    | 369|+	"timeElapsed": 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
| 372| 372| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'alliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 368| 368| 	circularMap: false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371|    |-	alliedVictory: false
|    | 371|+	"alliedVictory": false
| 372| 372| });
| 373| 373| 
| 374| 374| TS_ASSERT_UNEVAL_EQUALS(cmp.GetExtendedSimulationState(), {
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r": 1, "g":1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g": 1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b": 1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b":1, "a": 1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": { "Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": {"Foo": 10 },
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": { "Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": {"Foo": 5 },
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": { "Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": {"Foo": {} },
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r": 1, "g":0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g": 0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b": 0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b":0, "a": 1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": { "Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": {"Bar": 20 },
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": { "Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": {"Bar": 0 },
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": { "Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": {"Bar": {} },
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntitiesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 526| 526| 
| 527| 527| 
| 528| 528| AddMock(10, IID_Builder, {
| 529|    |-	GetEntitiesList: function() {
|    | 529|+	"GetEntitiesList": function() {
| 530| 530| 		return ["test1", "test2"];
| 531| 531| 	},
| 532| 532| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 532| 532| });
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535|    |-	GetHitpoints: function() { return 50; },
|    | 535|+	"GetHitpoints": function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536|    |-	GetMaxHitpoints: function() { return 60; },
|    | 536|+	"GetMaxHitpoints": function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsRepairable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537|    |-	IsRepairable: function() { return false; },
|    | 537|+	"IsRepairable": function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
| 540| 540| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUnhealable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538|    |-	IsUnhealable: function() { return false; }
|    | 538|+	"IsUnhealable": function() { return false; }
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542|    |-	GetClassesList: function() { return ["class1", "class2"]; },
|    | 542|+	"GetClassesList": function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVisibleClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543|    |-	GetVisibleClassesList: function() { return ["class3", "class4"]; },
|    | 543|+	"GetVisibleClassesList": function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRank' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544|    |-	GetRank: function() { return "foo"; },
|    | 544|+	"GetRank": function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSelectionGroupName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545|    |-	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | 545|+	"GetSelectionGroupName": function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546|    |-	HasClass: function() { return true; },
|    | 546|+	"HasClass": function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
| 549| 549| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUndeletable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547|    |-	IsUndeletable: function() { return false; }
|    | 547|+	"IsUndeletable": function() { return false; }
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551|    |-	GetTurretParent: function() {return INVALID_ENTITY;},
|    | 551|+	"GetTurretParent": function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552|    |-	GetPosition: function() {
|    | 552|+	"GetPosition": function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return { x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {"x":1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x: 1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, "y":2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y: 2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, "z":3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z: 3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z:3 };
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555|    |-	IsInWorld: function() {
|    | 555|+	"IsInWorld": function() {
| 556| 556| 		return true;
| 557| 557| 	}
| 558| 558| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": { x:1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {"x":1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x: 1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, "y":2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y: 2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, "z":3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z: 3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z:3 },
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'isBarterMarket'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 584| 584| 	"builder": true,
| 585| 585| 	"canGarrison": false,
| 586| 586| 	"visibility": "visible",
| 587|    |-	"isBarterMarket":true,
|    | 587|+	"isBarterMarket": true,
| 588| 588| 	"resourceTrickle": {
| 589| 589| 		"interval": 1250,
| 590| 590| 		"rates": { "food": 2, "wood": 3, "stone": 5, "metal": 9 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 824| 824| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 825| 825| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 826| 826| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 827|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 827|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 828| 828| 	}
| 829| 829| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 830| 830| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 			{
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|    |-						"x": pos.x,
|    |1660|+					"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|    |-						"z": pos.z,
|    |1661|+					"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|    |-						"angle": cmpPosition.GetRotation().y,
|    |1662|+					"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|    |-						"ent": ent
|    |1663|+					"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|1666|1666| 		}
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 			break;
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 848|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849|    |-				{
|    | 849|+			{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850|    |-					let now = Date.now();
|    | 850|+				let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 851|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852|    |-					{
|    | 852|+				{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 853|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854|    |-						{
|    | 854|+					{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855|    |-							var sptr = ev.hotkey.split(".");
|    | 855|+						var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856|    |-							performGroup("snap", sptr[3]);
|    | 856|+						performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857|    |-						}
|    | 857|+					}
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858|    |-					}
|    | 858|+				}
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859|    |-					else
|    | 859|+				else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
| 860|    |-					{
|    | 860|+				{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
| 861|    |-						var sptr = ev.hotkey.split(".");
|    | 861|+					var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862|    |-						performGroup(sptr[2], sptr[3]);
|    | 862|+					performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864|    |-						doublePressTimer = now;
|    | 864|+					doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865|    |-						prevHotkey = ev.hotkey;
|    | 865|+					prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868| 868| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866|    |-					}
|    | 866|+				}
| 867| 867| 				}
| 868| 868| 				break;
| 869| 869| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867|    |-				}
|    | 867|+			}
| 868| 868| 				break;
| 869| 869| 		}
| 870| 870| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868|    |-				break;
|    | 868|+			break;
| 869| 869| 		}
| 870| 870| 		break;
| 871| 871| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1599|1599| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1600|1600| 
|1601|1601| 	// Reset the last idle unit, etc., if the selection type has changed.
|1602|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1602|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1603|1603| 		resetIdleUnit();
|1604|1604| 	lastIdleClasses = classes;
|1605|1605| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 727| ·»   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 728| ·»   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 733| ·»   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 812| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 815| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 917| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1006| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1020| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1029| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1054| ·»   »   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1055| ·»   »   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1056| ·»   »   »   »   »   "z":·placementSupport.position.z,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1059| ·»   »   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1120| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1550| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 748| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 861| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 877| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 903| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 927| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1468/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/951/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/47/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/scripting/JSInterface_Simulation.h
|  25| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 245| 245| 	return v1.x * v2.x + v1.y * v2.y;
| 246| 246| };
| 247| 247| 
| 248|    |-/////////////////////////////////////////////////////////////////////
|    | 248|+// ///////////////////////////////////////////////////////////////////
| 249| 249| //	Vector3D
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 250| 250| //
| 251| 251| //	Class for representing and manipulating 3D vectors
| 252| 252| //
| 253|    |-/////////////////////////////////////////////////////////////////////
|    | 253|+// ///////////////////////////////////////////////////////////////////
| 254| 254| 
| 255| 255| function Vector3D(x = 0, y = 0, z = 0)
| 256| 256| {
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  49|  49| 	"GetResource": resource => ({
|  50|  50| 		"aiAnalysisInfluenceGroup":
|  51|  51| 			resource == "food" ? "ignore" :
|  52|    |-			resource == "wood" ? "abundant" : "sparse"
|    |  52|+				resource == "wood" ? "abundant" : "sparse"
|  53|  53| 	})
|  54|  54| };
|  55|  55| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  57|  57| 
|  58|  58| 
|  59|  59| AddMock(SYSTEM_ENTITY, IID_Barter, {
|  60|    |-	GetPrices: function() {
|    |  60|+	"GetPrices": function() {
|  61|  61| 		return {
|  62|  62| 			"buy": { "food": 150 },
|  63|  63| 			"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'PlayerHasMarket' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	"PlayerHasMarket": function () { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (space-before-function-paren):
|    | Unexpected space before function parentheses.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	PlayerHasMarket: function() { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVictoryConditions' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|    |-	GetVictoryConditions: () => ["conquest", "wonder"],
|    |  70|+	"GetVictoryConditions": () => ["conquest", "wonder"],
|  71|  71| 	GetAlliedVictory: function() { return false; }
|  72|  72| });
|  73|  73| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetAlliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|  70| 	GetVictoryConditions: () => ["conquest", "wonder"],
|  71|    |-	GetAlliedVictory: function() { return false; }
|    |  71|+	"GetAlliedVictory": function() { return false; }
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|    |-	GetNumPlayers: function() { return 2; },
|    |  75|+	"GetNumPlayers": function() { return 2; },
|  76|  76| 	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|  75| 	GetNumPlayers: function() { return 2; },
|  76|    |-	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|    |  76|+	"GetPlayerByID": function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosVisibility' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|    |-	GetLosVisibility: function(ent, player) { return "visible"; },
|    |  80|+	"GetLosVisibility": function(ent, player) { return "visible"; },
|  81|  81| 	GetLosCircular: function() { return false; }
|  82|  82| });
|  83|  83| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosCircular' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|  80| 	GetLosVisibility: function(ent, player) { return "visible"; },
|  81|    |-	GetLosCircular: function() { return false; }
|    |  81|+	"GetLosCircular": function() { return false; }
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|    |-	GetCurrentTemplateName: function(ent) { return "example"; },
|    |  85|+	"GetCurrentTemplateName": function(ent) { return "example"; },
|  86|  86| 	GetTemplate: function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTemplate' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|  85| 	GetCurrentTemplateName: function(ent) { return "example"; },
|  86|    |-	GetTemplate: function(name) { return ""; }
|    |  86|+	"GetTemplate": function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTime' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|    |-	GetTime: function() { return 0; },
|    |  90|+	"GetTime": function() { return 0; },
|  91|  91| 	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|  90| 	GetTime: function() { return 0; },
|  91|    |-	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|    |  91|+	"SetTimeout": function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|    |-	GetName: function() { return "Player 1"; },
|    |  95|+	"GetName": function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|    |-	GetCiv: function() { return "gaia"; },
|    |  96|+	"GetCiv": function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	"GetColor": function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { "r": 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, "g": 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, "b": 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, "a": 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1 }; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|    |-	CanControlAllUnits: function() { return false; },
|    |  98|+	"CanControlAllUnits": function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|    |-	GetPopulationCount: function() { return 10; },
|    |  99|+	"GetPopulationCount": function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100|    |-	GetPopulationLimit: function() { return 20; },
|    | 100|+	"GetPopulationLimit": function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101|    |-	GetMaxPopulation: function() { return 200; },
|    | 101|+	"GetMaxPopulation": function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	"GetResourceCounts": function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	GetResourceCounts: function() { return { "food": 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103|    |-	GetPanelEntities: function() { return []; },
|    | 103|+	"GetPanelEntities": function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104|    |-	IsTrainingBlocked: function() { return false; },
|    | 104|+	"IsTrainingBlocked": function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105|    |-	GetState: function() { return "active"; },
|    | 105|+	"GetState": function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106|    |-	GetTeam: function() { return -1; },
|    | 106|+	"GetTeam": function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107|    |-	GetLockTeams: function() { return false; },
|    | 107|+	"GetLockTeams": function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108|    |-	GetCheatsEnabled: function() { return false; },
|    | 108|+	"GetCheatsEnabled": function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 109|+	"GetDiplomacy": function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110|    |-	IsAlly: function() { return false; },
|    | 110|+	"IsAlly": function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111|    |-	IsMutualAlly: function() { return false; },
|    | 111|+	"IsMutualAlly": function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112|    |-	IsNeutral: function() { return false; },
|    | 112|+	"IsNeutral": function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113|    |-	IsEnemy: function() { return true; },
|    | 113|+	"IsEnemy": function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114|    |-	GetDisabledTemplates: function() { return {}; },
|    | 114|+	"GetDisabledTemplates": function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 115|+	"GetDisabledTechnologies": function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 116|+	"GetSpyCostMultiplier": function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117|    |-	HasSharedDropsites: function() { return false; },
|    | 117|+	"HasSharedDropsites": function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
| 120| 120| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118|    |-	HasSharedLos: function() { return false; }
|    | 118|+	"HasSharedLos": function() { return false; }
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	"GetLimits": function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return { "Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return {"Foo": 10 }; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	"GetCounts": function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return { "Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return {"Foo": 5 }; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	"GetLimitChangers": function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return { "Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return {"Foo": {} }; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 134| 134| });
| 135| 135| 
| 136| 136| AddMock(100, IID_StatisticsTracker, {
| 137|    |-	GetBasicStatistics: function() {
|    | 137|+	"GetBasicStatistics": function() {
| 138| 138| 		return {
| 139| 139| 			"resourcesGathered": {
| 140| 140| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 146| 146| 			"percentMapExplored": 10
| 147| 147| 		};
| 148| 148| 	},
| 149|    |-	GetSequences: function() {
|    | 149|+	"GetSequences": function() {
| 150| 150| 		return {
| 151| 151| 			"unitsTrained": [0, 10],
| 152| 152| 			"unitsLost": [0, 42],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 171| 171| 			"teamPeakPercentOfMapControlled": [0, 10]
| 172| 172| 		};
| 173| 173| 	},
| 174|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 174|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 172| 172| 		};
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 175|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
| 178| 178| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 176|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180|    |-	GetName: function() { return "Player 2"; },
|    | 180|+	"GetName": function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181|    |-	GetCiv: function() { return "mace"; },
|    | 181|+	"GetCiv": function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	"GetColor": function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { "r": 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, "g": 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, "b": 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, "a": 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1 }; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183|    |-	CanControlAllUnits: function() { return true; },
|    | 183|+	"CanControlAllUnits": function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184|    |-	GetPopulationCount: function() { return 40; },
|    | 184|+	"GetPopulationCount": function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185|    |-	GetPopulationLimit: function() { return 30; },
|    | 185|+	"GetPopulationLimit": function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186|    |-	GetMaxPopulation: function() { return 300; },
|    | 186|+	"GetMaxPopulation": function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	"GetResourceCounts": function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	GetResourceCounts: function() { return { "food": 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188|    |-	GetPanelEntities: function() { return []; },
|    | 188|+	"GetPanelEntities": function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189|    |-	IsTrainingBlocked: function() { return false; },
|    | 189|+	"IsTrainingBlocked": function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190|    |-	GetState: function() { return "active"; },
|    | 190|+	"GetState": function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191|    |-	GetTeam: function() { return -1; },
|    | 191|+	"GetTeam": function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192|    |-	GetLockTeams: function() {return false; },
|    | 192|+	"GetLockTeams": function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193|    |-	GetCheatsEnabled: function() { return false; },
|    | 193|+	"GetCheatsEnabled": function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 194|+	"GetDiplomacy": function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195|    |-	IsAlly: function() { return true; },
|    | 195|+	"IsAlly": function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196|    |-	IsMutualAlly: function() {return false; },
|    | 196|+	"IsMutualAlly": function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197|    |-	IsNeutral: function() { return false; },
|    | 197|+	"IsNeutral": function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198|    |-	IsEnemy: function() { return false; },
|    | 198|+	"IsEnemy": function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199|    |-	GetDisabledTemplates: function() { return {}; },
|    | 199|+	"GetDisabledTemplates": function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 200|+	"GetDisabledTechnologies": function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 201|+	"GetSpyCostMultiplier": function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202|    |-	HasSharedDropsites: function() { return false; },
|    | 202|+	"HasSharedDropsites": function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
| 205| 205| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203|    |-	HasSharedLos: function() { return false; }
|    | 203|+	"HasSharedLos": function() { return false; }
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	"GetLimits": function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return { "Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return {"Bar": 20 }; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	"GetCounts": function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return { "Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return {"Bar": 0 }; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	"GetLimitChangers": function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return { "Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return {"Bar": {} }; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 219| 219| });
| 220| 220| 
| 221| 221| AddMock(101, IID_StatisticsTracker, {
| 222|    |-	GetBasicStatistics: function() {
|    | 222|+	"GetBasicStatistics": function() {
| 223| 223| 		return {
| 224| 224| 			"resourcesGathered": {
| 225| 225| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 231| 231| 			"percentMapExplored": 10
| 232| 232| 		};
| 233| 233| 	},
| 234|    |-	GetSequences: function() {
|    | 234|+	"GetSequences": function() {
| 235| 235| 		return {
| 236| 236| 			"unitsTrained": [0, 10],
| 237| 237| 			"unitsLost": [0, 9],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 256| 256| 			"teamPeakPercentOfMapControlled": [0, 10]
| 257| 257| 		};
| 258| 258| 	},
| 259|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 259|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 257| 257| 		};
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 260|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
| 263| 263| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 261|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 262| 262| });
| 263| 263| 
| 264| 264| // Note: property order matters when using TS_ASSERT_UNEVAL_EQUALS,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'players' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 265| 265| //	because uneval preserves property order. So make sure this object
| 266| 266| //	matches the ordering in GuiInterface.
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268|    |-	players: [
|    | 268|+	"players": [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268| 268| 	players: [
| 269| 269| 		{
| 270|    |-			name: "Player 1",
|    | 270|+			"name": "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 268| 268| 	players: [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271|    |-			civ: "gaia",
|    | 271|+			"civ": "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			"color": { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { "r":1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r: 1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, "g":1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g: 1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, "b":1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b: 1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, "a":1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, a: 1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273|    |-			controlsAll: false,
|    | 273|+			"controlsAll": false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274|    |-			popCount: 10,
|    | 274|+			"popCount": 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275|    |-			popLimit: 20,
|    | 275|+			"popLimit": 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276|    |-			popMax: 200,
|    | 276|+			"popMax": 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277|    |-			panelEntities: [],
|    | 277|+			"panelEntities": [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			"resourceCounts": { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			resourceCounts: { "food": 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279|    |-			trainingBlocked: false,
|    | 279|+			"trainingBlocked": false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280|    |-			state: "active",
|    | 280|+			"state": "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281|    |-			team: -1,
|    | 281|+			"team": -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282|    |-			teamsLocked: false,
|    | 282|+			"teamsLocked": false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283|    |-			cheatsEnabled: false,
|    | 283|+			"cheatsEnabled": false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284|    |-			disabledTemplates: {},
|    | 284|+			"disabledTemplates": {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285|    |-			disabledTechnologies: {},
|    | 285|+			"disabledTechnologies": {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286|    |-			hasSharedDropsites: false,
|    | 286|+			"hasSharedDropsites": false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287|    |-			hasSharedLos: false,
|    | 287|+			"hasSharedLos": false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288|    |-			spyCostMultiplier: 1,
|    | 288|+			"spyCostMultiplier": 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289|    |-			phase: "village",
|    | 289|+			"phase": "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290|    |-			isAlly: [false, false],
|    | 290|+			"isAlly": [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291|    |-			isMutualAlly: [false, false],
|    | 291|+			"isMutualAlly": [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292|    |-			isNeutral: [false, false],
|    | 292|+			"isNeutral": [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293|    |-			isEnemy: [true, true],
|    | 293|+			"isEnemy": [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			"entityLimits": {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: { "Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: {"Foo": 10 },
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			"entityCounts": {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: { "Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: {"Foo": 5 },
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			"entityLimitChangers": {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: { "Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: {"Foo": {} },
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297|    |-			researchQueued: new Map(),
|    | 297|+			"researchQueued": new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298|    |-			researchStarted: new Set(),
|    | 298|+			"researchStarted": new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299|    |-			researchedTechs: new Set(),
|    | 299|+			"researchedTechs": new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300|    |-			classCounts: {},
|    | 300|+			"classCounts": {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301|    |-			typeCountsByClass: {},
|    | 301|+			"typeCountsByClass": {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302|    |-			canBarter: false,
|    | 302|+			"canBarter": false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303|    |-			barterPrices: {
|    | 303|+			"barterPrices": {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307|    |-			statistics: {
|    | 307|+			"statistics": {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308|    |-				resourcesGathered: {
|    | 308|+				"resourcesGathered": {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309|    |-					food: 100,
|    | 309|+					"food": 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310|    |-					wood: 0,
|    | 310|+					"wood": 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311|    |-					metal: 0,
|    | 311|+					"metal": 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312|    |-					stone: 0,
|    | 312|+					"stone": 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313|    |-					vegetarianFood: 0
|    | 313|+					"vegetarianFood": 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
| 316| 316| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315|    |-				percentMapExplored: 10
|    | 315|+				"percentMapExplored": 10
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
| 319|    |-			name: "Player 2",
|    | 319|+			"name": "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 317| 317| 		},
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320|    |-			civ: "mace",
|    | 320|+			"civ": "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			"color": { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { "r":1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r: 1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, "g":0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g: 0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, "b":0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b: 0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, "a":1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, a: 1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322|    |-			controlsAll: true,
|    | 322|+			"controlsAll": true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323|    |-			popCount: 40,
|    | 323|+			"popCount": 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324|    |-			popLimit: 30,
|    | 324|+			"popLimit": 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325|    |-			popMax: 300,
|    | 325|+			"popMax": 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326|    |-			panelEntities: [],
|    | 326|+			"panelEntities": [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			"resourceCounts": { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			resourceCounts: { "food": 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328|    |-			trainingBlocked: false,
|    | 328|+			"trainingBlocked": false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329|    |-			state: "active",
|    | 329|+			"state": "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330|    |-			team: -1,
|    | 330|+			"team": -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331|    |-			teamsLocked: false,
|    | 331|+			"teamsLocked": false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332|    |-			cheatsEnabled: false,
|    | 332|+			"cheatsEnabled": false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333|    |-			disabledTemplates: {},
|    | 333|+			"disabledTemplates": {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334|    |-			disabledTechnologies: {},
|    | 334|+			"disabledTechnologies": {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335|    |-			hasSharedDropsites: false,
|    | 335|+			"hasSharedDropsites": false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336|    |-			hasSharedLos: false,
|    | 336|+			"hasSharedLos": false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337|    |-			spyCostMultiplier: 1,
|    | 337|+			"spyCostMultiplier": 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338|    |-			phase: "village",
|    | 338|+			"phase": "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339|    |-			isAlly: [true, true],
|    | 339|+			"isAlly": [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340|    |-			isMutualAlly: [false, false],
|    | 340|+			"isMutualAlly": [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341|    |-			isNeutral: [false, false],
|    | 341|+			"isNeutral": [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342|    |-			isEnemy: [false, false],
|    | 342|+			"isEnemy": [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			"entityLimits": {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: { "Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: {"Bar": 20 },
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			"entityCounts": {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: { "Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: {"Bar": 0 },
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			"entityLimitChangers": {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: { "Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: {"Bar": {} },
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346|    |-			researchQueued: new Map(),
|    | 346|+			"researchQueued": new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347|    |-			researchStarted: new Set(),
|    | 347|+			"researchStarted": new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348|    |-			researchedTechs: new Set(),
|    | 348|+			"researchedTechs": new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349|    |-			classCounts: {},
|    | 349|+			"classCounts": {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350|    |-			typeCountsByClass: {},
|    | 350|+			"typeCountsByClass": {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351|    |-			canBarter: false,
|    | 351|+			"canBarter": false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352|    |-			barterPrices: {
|    | 352|+			"barterPrices": {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356|    |-			statistics: {
|    | 356|+			"statistics": {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357|    |-				resourcesGathered: {
|    | 357|+				"resourcesGathered": {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358|    |-					food: 100,
|    | 358|+					"food": 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359|    |-					wood: 0,
|    | 359|+					"wood": 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360|    |-					metal: 0,
|    | 360|+					"metal": 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361|    |-					stone: 0,
|    | 361|+					"stone": 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362|    |-					vegetarianFood: 0
|    | 362|+					"vegetarianFood": 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
| 365| 365| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364|    |-				percentMapExplored: 10
|    | 364|+				"percentMapExplored": 10
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'circularMap' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
| 368|    |-	circularMap: false,
|    | 368|+	"circularMap": false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'timeElapsed' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 366| 366| 		}
| 367| 367| 	],
| 368| 368| 	circularMap: false,
| 369|    |-	timeElapsed: 0,
|    | 369|+	"timeElapsed": 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
| 372| 372| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'alliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 368| 368| 	circularMap: false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371|    |-	alliedVictory: false
|    | 371|+	"alliedVictory": false
| 372| 372| });
| 373| 373| 
| 374| 374| TS_ASSERT_UNEVAL_EQUALS(cmp.GetExtendedSimulationState(), {
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r": 1, "g":1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g": 1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b": 1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b":1, "a": 1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": { "Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": {"Foo": 10 },
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": { "Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": {"Foo": 5 },
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": { "Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": {"Foo": {} },
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r": 1, "g":0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g": 0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b": 0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b":0, "a": 1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": { "Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": {"Bar": 20 },
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": { "Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": {"Bar": 0 },
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": { "Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": {"Bar": {} },
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntitiesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 526| 526| 
| 527| 527| 
| 528| 528| AddMock(10, IID_Builder, {
| 529|    |-	GetEntitiesList: function() {
|    | 529|+	"GetEntitiesList": function() {
| 530| 530| 		return ["test1", "test2"];
| 531| 531| 	},
| 532| 532| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 532| 532| });
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535|    |-	GetHitpoints: function() { return 50; },
|    | 535|+	"GetHitpoints": function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536|    |-	GetMaxHitpoints: function() { return 60; },
|    | 536|+	"GetMaxHitpoints": function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsRepairable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537|    |-	IsRepairable: function() { return false; },
|    | 537|+	"IsRepairable": function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
| 540| 540| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUnhealable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538|    |-	IsUnhealable: function() { return false; }
|    | 538|+	"IsUnhealable": function() { return false; }
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542|    |-	GetClassesList: function() { return ["class1", "class2"]; },
|    | 542|+	"GetClassesList": function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVisibleClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543|    |-	GetVisibleClassesList: function() { return ["class3", "class4"]; },
|    | 543|+	"GetVisibleClassesList": function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRank' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544|    |-	GetRank: function() { return "foo"; },
|    | 544|+	"GetRank": function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSelectionGroupName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545|    |-	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | 545|+	"GetSelectionGroupName": function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546|    |-	HasClass: function() { return true; },
|    | 546|+	"HasClass": function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
| 549| 549| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUndeletable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547|    |-	IsUndeletable: function() { return false; }
|    | 547|+	"IsUndeletable": function() { return false; }
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551|    |-	GetTurretParent: function() {return INVALID_ENTITY;},
|    | 551|+	"GetTurretParent": function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552|    |-	GetPosition: function() {
|    | 552|+	"GetPosition": function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return { x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {"x":1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x: 1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, "y":2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y: 2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, "z":3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z: 3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z:3 };
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555|    |-	IsInWorld: function() {
|    | 555|+	"IsInWorld": function() {
| 556| 556| 		return true;
| 557| 557| 	}
| 558| 558| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": { x:1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {"x":1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x: 1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, "y":2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y: 2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, "z":3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z: 3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z:3 },
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'isBarterMarket'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 584| 584| 	"builder": true,
| 585| 585| 	"canGarrison": false,
| 586| 586| 	"visibility": "visible",
| 587|    |-	"isBarterMarket":true,
|    | 587|+	"isBarterMarket": true,
| 588| 588| 	"resourceTrickle": {
| 589| 589| 		"interval": 1250,
| 590| 590| 		"rates": { "food": 2, "wood": 3, "stone": 5, "metal": 9 }
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 824| 824| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 825| 825| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 826| 826| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 827|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 827|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 828| 828| 	}
| 829| 829| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 830| 830| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 			{
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|    |-						"x": pos.x,
|    |1660|+					"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|    |-						"z": pos.z,
|    |1661|+					"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|    |-						"angle": cmpPosition.GetRotation().y,
|    |1662|+					"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|    |-						"ent": ent
|    |1663|+					"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|1666|1666| 		}
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 			break;
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 848|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849|    |-				{
|    | 849|+			{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850|    |-					let now = Date.now();
|    | 850|+				let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 851|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852|    |-					{
|    | 852|+				{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 853|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854|    |-						{
|    | 854|+					{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855|    |-							var sptr = ev.hotkey.split(".");
|    | 855|+						var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856|    |-							performGroup("snap", sptr[3]);
|    | 856|+						performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857|    |-						}
|    | 857|+					}
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858|    |-					}
|    | 858|+				}
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859|    |-					else
|    | 859|+				else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
| 860|    |-					{
|    | 860|+				{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
| 861|    |-						var sptr = ev.hotkey.split(".");
|    | 861|+					var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862|    |-						performGroup(sptr[2], sptr[3]);
|    | 862|+					performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864|    |-						doublePressTimer = now;
|    | 864|+					doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865|    |-						prevHotkey = ev.hotkey;
|    | 865|+					prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868| 868| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866|    |-					}
|    | 866|+				}
| 867| 867| 				}
| 868| 868| 				break;
| 869| 869| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867|    |-				}
|    | 867|+			}
| 868| 868| 				break;
| 869| 869| 		}
| 870| 870| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868|    |-				break;
|    | 868|+			break;
| 869| 869| 		}
| 870| 870| 		break;
| 871| 871| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1599|1599| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1600|1600| 
|1601|1601| 	// Reset the last idle unit, etc., if the selection type has changed.
|1602|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1602|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1603|1603| 		resetIdleUnit();
|1604|1604| 	lastIdleClasses = classes;
|1605|1605| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 727| ·»   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 728| ·»   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 733| ·»   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 812| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 815| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 917| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1006| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1020| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1029| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1054| ·»   »   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1055| ·»   »   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1056| ·»   »   »   »   »   "z":·placementSupport.position.z,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1059| ·»   »   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1120| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1550| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 748| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 861| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 877| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 903| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 927| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1469/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/952/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/48/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/scripting/JSInterface_Simulation.h
|  25| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|  35|  35| 	this.x = v.x;
|  36|  36| 	this.y = v.y;
|  37|  37| 	return this;
|  38|    |-}
|    |  38|+};
|  39|  39| 
|  40|  40| Vector2D.prototype.add = function(v)
|  41|  41| {
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 252| 252| 	return v1.x * v2.x + v1.y * v2.y;
| 253| 253| };
| 254| 254| 
| 255|    |-/////////////////////////////////////////////////////////////////////
|    | 255|+// ///////////////////////////////////////////////////////////////////
| 256| 256| //	Vector3D
| 257| 257| //
| 258| 258| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 257| 257| //
| 258| 258| //	Class for representing and manipulating 3D vectors
| 259| 259| //
| 260|    |-/////////////////////////////////////////////////////////////////////
|    | 260|+// ///////////////////////////////////////////////////////////////////
| 261| 261| 
| 262| 262| function Vector3D(x = 0, y = 0, z = 0)
| 263| 263| {

binaries/data/mods/public/globalscripts/vector.js
|  38| }
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 824| 824| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 825| 825| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 826| 826| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 827|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 827|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 828| 828| 	}
| 829| 829| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 830| 830| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 			{
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|    |-						"x": pos.x,
|    |1660|+					"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|    |-						"z": pos.z,
|    |1661|+					"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|    |-						"angle": cmpPosition.GetRotation().y,
|    |1662|+					"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|    |-						"ent": ent
|    |1663|+					"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|1666|1666| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  49|  49| 	"GetResource": resource => ({
|  50|  50| 		"aiAnalysisInfluenceGroup":
|  51|  51| 			resource == "food" ? "ignore" :
|  52|    |-			resource == "wood" ? "abundant" : "sparse"
|    |  52|+				resource == "wood" ? "abundant" : "sparse"
|  53|  53| 	})
|  54|  54| };
|  55|  55| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  57|  57| 
|  58|  58| 
|  59|  59| AddMock(SYSTEM_ENTITY, IID_Barter, {
|  60|    |-	GetPrices: function() {
|    |  60|+	"GetPrices": function() {
|  61|  61| 		return {
|  62|  62| 			"buy": { "food": 150 },
|  63|  63| 			"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'PlayerHasMarket' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	"PlayerHasMarket": function () { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (space-before-function-paren):
|    | Unexpected space before function parentheses.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	PlayerHasMarket: function() { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVictoryConditions' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|    |-	GetVictoryConditions: () => ["conquest", "wonder"],
|    |  70|+	"GetVictoryConditions": () => ["conquest", "wonder"],
|  71|  71| 	GetAlliedVictory: function() { return false; }
|  72|  72| });
|  73|  73| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetAlliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|  70| 	GetVictoryConditions: () => ["conquest", "wonder"],
|  71|    |-	GetAlliedVictory: function() { return false; }
|    |  71|+	"GetAlliedVictory": function() { return false; }
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|    |-	GetNumPlayers: function() { return 2; },
|    |  75|+	"GetNumPlayers": function() { return 2; },
|  76|  76| 	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|  75| 	GetNumPlayers: function() { return 2; },
|  76|    |-	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|    |  76|+	"GetPlayerByID": function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosVisibility' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|    |-	GetLosVisibility: function(ent, player) { return "visible"; },
|    |  80|+	"GetLosVisibility": function(ent, player) { return "visible"; },
|  81|  81| 	GetLosCircular: function() { return false; }
|  82|  82| });
|  83|  83| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosCircular' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|  80| 	GetLosVisibility: function(ent, player) { return "visible"; },
|  81|    |-	GetLosCircular: function() { return false; }
|    |  81|+	"GetLosCircular": function() { return false; }
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|    |-	GetCurrentTemplateName: function(ent) { return "example"; },
|    |  85|+	"GetCurrentTemplateName": function(ent) { return "example"; },
|  86|  86| 	GetTemplate: function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTemplate' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|  85| 	GetCurrentTemplateName: function(ent) { return "example"; },
|  86|    |-	GetTemplate: function(name) { return ""; }
|    |  86|+	"GetTemplate": function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTime' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|    |-	GetTime: function() { return 0; },
|    |  90|+	"GetTime": function() { return 0; },
|  91|  91| 	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|  90| 	GetTime: function() { return 0; },
|  91|    |-	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|    |  91|+	"SetTimeout": function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|    |-	GetName: function() { return "Player 1"; },
|    |  95|+	"GetName": function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|    |-	GetCiv: function() { return "gaia"; },
|    |  96|+	"GetCiv": function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	"GetColor": function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { "r": 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, "g": 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, "b": 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, "a": 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1 }; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|    |-	CanControlAllUnits: function() { return false; },
|    |  98|+	"CanControlAllUnits": function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|    |-	GetPopulationCount: function() { return 10; },
|    |  99|+	"GetPopulationCount": function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100|    |-	GetPopulationLimit: function() { return 20; },
|    | 100|+	"GetPopulationLimit": function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101|    |-	GetMaxPopulation: function() { return 200; },
|    | 101|+	"GetMaxPopulation": function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	"GetResourceCounts": function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	GetResourceCounts: function() { return { "food": 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103|    |-	GetPanelEntities: function() { return []; },
|    | 103|+	"GetPanelEntities": function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104|    |-	IsTrainingBlocked: function() { return false; },
|    | 104|+	"IsTrainingBlocked": function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105|    |-	GetState: function() { return "active"; },
|    | 105|+	"GetState": function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106|    |-	GetTeam: function() { return -1; },
|    | 106|+	"GetTeam": function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107|    |-	GetLockTeams: function() { return false; },
|    | 107|+	"GetLockTeams": function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108|    |-	GetCheatsEnabled: function() { return false; },
|    | 108|+	"GetCheatsEnabled": function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 109|+	"GetDiplomacy": function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110|    |-	IsAlly: function() { return false; },
|    | 110|+	"IsAlly": function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111|    |-	IsMutualAlly: function() { return false; },
|    | 111|+	"IsMutualAlly": function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112|    |-	IsNeutral: function() { return false; },
|    | 112|+	"IsNeutral": function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113|    |-	IsEnemy: function() { return true; },
|    | 113|+	"IsEnemy": function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114|    |-	GetDisabledTemplates: function() { return {}; },
|    | 114|+	"GetDisabledTemplates": function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 115|+	"GetDisabledTechnologies": function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 116|+	"GetSpyCostMultiplier": function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117|    |-	HasSharedDropsites: function() { return false; },
|    | 117|+	"HasSharedDropsites": function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
| 120| 120| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118|    |-	HasSharedLos: function() { return false; }
|    | 118|+	"HasSharedLos": function() { return false; }
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	"GetLimits": function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return { "Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return {"Foo": 10 }; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	"GetCounts": function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return { "Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return {"Foo": 5 }; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	"GetLimitChangers": function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return { "Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return {"Foo": {} }; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 134| 134| });
| 135| 135| 
| 136| 136| AddMock(100, IID_StatisticsTracker, {
| 137|    |-	GetBasicStatistics: function() {
|    | 137|+	"GetBasicStatistics": function() {
| 138| 138| 		return {
| 139| 139| 			"resourcesGathered": {
| 140| 140| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 146| 146| 			"percentMapExplored": 10
| 147| 147| 		};
| 148| 148| 	},
| 149|    |-	GetSequences: function() {
|    | 149|+	"GetSequences": function() {
| 150| 150| 		return {
| 151| 151| 			"unitsTrained": [0, 10],
| 152| 152| 			"unitsLost": [0, 42],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 171| 171| 			"teamPeakPercentOfMapControlled": [0, 10]
| 172| 172| 		};
| 173| 173| 	},
| 174|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 174|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 172| 172| 		};
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 175|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
| 178| 178| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 176|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180|    |-	GetName: function() { return "Player 2"; },
|    | 180|+	"GetName": function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181|    |-	GetCiv: function() { return "mace"; },
|    | 181|+	"GetCiv": function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	"GetColor": function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { "r": 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, "g": 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, "b": 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, "a": 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1 }; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183|    |-	CanControlAllUnits: function() { return true; },
|    | 183|+	"CanControlAllUnits": function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184|    |-	GetPopulationCount: function() { return 40; },
|    | 184|+	"GetPopulationCount": function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185|    |-	GetPopulationLimit: function() { return 30; },
|    | 185|+	"GetPopulationLimit": function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186|    |-	GetMaxPopulation: function() { return 300; },
|    | 186|+	"GetMaxPopulation": function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	"GetResourceCounts": function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	GetResourceCounts: function() { return { "food": 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188|    |-	GetPanelEntities: function() { return []; },
|    | 188|+	"GetPanelEntities": function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189|    |-	IsTrainingBlocked: function() { return false; },
|    | 189|+	"IsTrainingBlocked": function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190|    |-	GetState: function() { return "active"; },
|    | 190|+	"GetState": function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191|    |-	GetTeam: function() { return -1; },
|    | 191|+	"GetTeam": function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192|    |-	GetLockTeams: function() {return false; },
|    | 192|+	"GetLockTeams": function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193|    |-	GetCheatsEnabled: function() { return false; },
|    | 193|+	"GetCheatsEnabled": function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 194|+	"GetDiplomacy": function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195|    |-	IsAlly: function() { return true; },
|    | 195|+	"IsAlly": function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196|    |-	IsMutualAlly: function() {return false; },
|    | 196|+	"IsMutualAlly": function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197|    |-	IsNeutral: function() { return false; },
|    | 197|+	"IsNeutral": function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198|    |-	IsEnemy: function() { return false; },
|    | 198|+	"IsEnemy": function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199|    |-	GetDisabledTemplates: function() { return {}; },
|    | 199|+	"GetDisabledTemplates": function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 200|+	"GetDisabledTechnologies": function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 201|+	"GetSpyCostMultiplier": function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202|    |-	HasSharedDropsites: function() { return false; },
|    | 202|+	"HasSharedDropsites": function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
| 205| 205| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203|    |-	HasSharedLos: function() { return false; }
|    | 203|+	"HasSharedLos": function() { return false; }
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	"GetLimits": function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return { "Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return {"Bar": 20 }; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	"GetCounts": function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return { "Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return {"Bar": 0 }; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	"GetLimitChangers": function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return { "Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return {"Bar": {} }; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 219| 219| });
| 220| 220| 
| 221| 221| AddMock(101, IID_StatisticsTracker, {
| 222|    |-	GetBasicStatistics: function() {
|    | 222|+	"GetBasicStatistics": function() {
| 223| 223| 		return {
| 224| 224| 			"resourcesGathered": {
| 225| 225| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 231| 231| 			"percentMapExplored": 10
| 232| 232| 		};
| 233| 233| 	},
| 234|    |-	GetSequences: function() {
|    | 234|+	"GetSequences": function() {
| 235| 235| 		return {
| 236| 236| 			"unitsTrained": [0, 10],
| 237| 237| 			"unitsLost": [0, 9],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 256| 256| 			"teamPeakPercentOfMapControlled": [0, 10]
| 257| 257| 		};
| 258| 258| 	},
| 259|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 259|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 257| 257| 		};
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 260|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
| 263| 263| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 261|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 262| 262| });
| 263| 263| 
| 264| 264| // Note: property order matters when using TS_ASSERT_UNEVAL_EQUALS,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'players' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 265| 265| //	because uneval preserves property order. So make sure this object
| 266| 266| //	matches the ordering in GuiInterface.
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268|    |-	players: [
|    | 268|+	"players": [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268| 268| 	players: [
| 269| 269| 		{
| 270|    |-			name: "Player 1",
|    | 270|+			"name": "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 268| 268| 	players: [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271|    |-			civ: "gaia",
|    | 271|+			"civ": "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			"color": { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { "r":1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r: 1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, "g":1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g: 1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, "b":1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b: 1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, "a":1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, a: 1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273|    |-			controlsAll: false,
|    | 273|+			"controlsAll": false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274|    |-			popCount: 10,
|    | 274|+			"popCount": 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275|    |-			popLimit: 20,
|    | 275|+			"popLimit": 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276|    |-			popMax: 200,
|    | 276|+			"popMax": 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277|    |-			panelEntities: [],
|    | 277|+			"panelEntities": [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			"resourceCounts": { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			resourceCounts: { "food": 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279|    |-			trainingBlocked: false,
|    | 279|+			"trainingBlocked": false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280|    |-			state: "active",
|    | 280|+			"state": "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281|    |-			team: -1,
|    | 281|+			"team": -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282|    |-			teamsLocked: false,
|    | 282|+			"teamsLocked": false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283|    |-			cheatsEnabled: false,
|    | 283|+			"cheatsEnabled": false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284|    |-			disabledTemplates: {},
|    | 284|+			"disabledTemplates": {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285|    |-			disabledTechnologies: {},
|    | 285|+			"disabledTechnologies": {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286|    |-			hasSharedDropsites: false,
|    | 286|+			"hasSharedDropsites": false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287|    |-			hasSharedLos: false,
|    | 287|+			"hasSharedLos": false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288|    |-			spyCostMultiplier: 1,
|    | 288|+			"spyCostMultiplier": 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289|    |-			phase: "village",
|    | 289|+			"phase": "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290|    |-			isAlly: [false, false],
|    | 290|+			"isAlly": [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291|    |-			isMutualAlly: [false, false],
|    | 291|+			"isMutualAlly": [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292|    |-			isNeutral: [false, false],
|    | 292|+			"isNeutral": [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293|    |-			isEnemy: [true, true],
|    | 293|+			"isEnemy": [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			"entityLimits": {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: { "Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: {"Foo": 10 },
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			"entityCounts": {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: { "Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: {"Foo": 5 },
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			"entityLimitChangers": {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: { "Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: {"Foo": {} },
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297|    |-			researchQueued: new Map(),
|    | 297|+			"researchQueued": new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298|    |-			researchStarted: new Set(),
|    | 298|+			"researchStarted": new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299|    |-			researchedTechs: new Set(),
|    | 299|+			"researchedTechs": new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300|    |-			classCounts: {},
|    | 300|+			"classCounts": {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301|    |-			typeCountsByClass: {},
|    | 301|+			"typeCountsByClass": {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302|    |-			canBarter: false,
|    | 302|+			"canBarter": false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303|    |-			barterPrices: {
|    | 303|+			"barterPrices": {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307|    |-			statistics: {
|    | 307|+			"statistics": {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308|    |-				resourcesGathered: {
|    | 308|+				"resourcesGathered": {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309|    |-					food: 100,
|    | 309|+					"food": 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310|    |-					wood: 0,
|    | 310|+					"wood": 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311|    |-					metal: 0,
|    | 311|+					"metal": 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312|    |-					stone: 0,
|    | 312|+					"stone": 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313|    |-					vegetarianFood: 0
|    | 313|+					"vegetarianFood": 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
| 316| 316| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315|    |-				percentMapExplored: 10
|    | 315|+				"percentMapExplored": 10
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
| 319|    |-			name: "Player 2",
|    | 319|+			"name": "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 317| 317| 		},
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320|    |-			civ: "mace",
|    | 320|+			"civ": "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			"color": { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { "r":1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r: 1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, "g":0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g: 0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, "b":0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b: 0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, "a":1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, a: 1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322|    |-			controlsAll: true,
|    | 322|+			"controlsAll": true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323|    |-			popCount: 40,
|    | 323|+			"popCount": 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324|    |-			popLimit: 30,
|    | 324|+			"popLimit": 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325|    |-			popMax: 300,
|    | 325|+			"popMax": 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326|    |-			panelEntities: [],
|    | 326|+			"panelEntities": [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			"resourceCounts": { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			resourceCounts: { "food": 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328|    |-			trainingBlocked: false,
|    | 328|+			"trainingBlocked": false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329|    |-			state: "active",
|    | 329|+			"state": "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330|    |-			team: -1,
|    | 330|+			"team": -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331|    |-			teamsLocked: false,
|    | 331|+			"teamsLocked": false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332|    |-			cheatsEnabled: false,
|    | 332|+			"cheatsEnabled": false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333|    |-			disabledTemplates: {},
|    | 333|+			"disabledTemplates": {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334|    |-			disabledTechnologies: {},
|    | 334|+			"disabledTechnologies": {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335|    |-			hasSharedDropsites: false,
|    | 335|+			"hasSharedDropsites": false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336|    |-			hasSharedLos: false,
|    | 336|+			"hasSharedLos": false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337|    |-			spyCostMultiplier: 1,
|    | 337|+			"spyCostMultiplier": 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338|    |-			phase: "village",
|    | 338|+			"phase": "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339|    |-			isAlly: [true, true],
|    | 339|+			"isAlly": [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340|    |-			isMutualAlly: [false, false],
|    | 340|+			"isMutualAlly": [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341|    |-			isNeutral: [false, false],
|    | 341|+			"isNeutral": [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342|    |-			isEnemy: [false, false],
|    | 342|+			"isEnemy": [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			"entityLimits": {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: { "Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: {"Bar": 20 },
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			"entityCounts": {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: { "Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: {"Bar": 0 },
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			"entityLimitChangers": {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: { "Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: {"Bar": {} },
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346|    |-			researchQueued: new Map(),
|    | 346|+			"researchQueued": new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347|    |-			researchStarted: new Set(),
|    | 347|+			"researchStarted": new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348|    |-			researchedTechs: new Set(),
|    | 348|+			"researchedTechs": new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349|    |-			classCounts: {},
|    | 349|+			"classCounts": {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350|    |-			typeCountsByClass: {},
|    | 350|+			"typeCountsByClass": {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351|    |-			canBarter: false,
|    | 351|+			"canBarter": false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352|    |-			barterPrices: {
|    | 352|+			"barterPrices": {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356|    |-			statistics: {
|    | 356|+			"statistics": {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357|    |-				resourcesGathered: {
|    | 357|+				"resourcesGathered": {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358|    |-					food: 100,
|    | 358|+					"food": 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359|    |-					wood: 0,
|    | 359|+					"wood": 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360|    |-					metal: 0,
|    | 360|+					"metal": 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361|    |-					stone: 0,
|    | 361|+					"stone": 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362|    |-					vegetarianFood: 0
|    | 362|+					"vegetarianFood": 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
| 365| 365| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364|    |-				percentMapExplored: 10
|    | 364|+				"percentMapExplored": 10
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'circularMap' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
| 368|    |-	circularMap: false,
|    | 368|+	"circularMap": false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'timeElapsed' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 366| 366| 		}
| 367| 367| 	],
| 368| 368| 	circularMap: false,
| 369|    |-	timeElapsed: 0,
|    | 369|+	"timeElapsed": 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
| 372| 372| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'alliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 368| 368| 	circularMap: false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371|    |-	alliedVictory: false
|    | 371|+	"alliedVictory": false
| 372| 372| });
| 373| 373| 
| 374| 374| TS_ASSERT_UNEVAL_EQUALS(cmp.GetExtendedSimulationState(), {
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r": 1, "g":1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g": 1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b": 1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b":1, "a": 1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": { "Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": {"Foo": 10 },
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": { "Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": {"Foo": 5 },
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": { "Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": {"Foo": {} },
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r": 1, "g":0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g": 0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b": 0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b":0, "a": 1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": { "Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": {"Bar": 20 },
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": { "Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": {"Bar": 0 },
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": { "Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": {"Bar": {} },
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntitiesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 526| 526| 
| 527| 527| 
| 528| 528| AddMock(10, IID_Builder, {
| 529|    |-	GetEntitiesList: function() {
|    | 529|+	"GetEntitiesList": function() {
| 530| 530| 		return ["test1", "test2"];
| 531| 531| 	},
| 532| 532| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 532| 532| });
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535|    |-	GetHitpoints: function() { return 50; },
|    | 535|+	"GetHitpoints": function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536|    |-	GetMaxHitpoints: function() { return 60; },
|    | 536|+	"GetMaxHitpoints": function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsRepairable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537|    |-	IsRepairable: function() { return false; },
|    | 537|+	"IsRepairable": function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
| 540| 540| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUnhealable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538|    |-	IsUnhealable: function() { return false; }
|    | 538|+	"IsUnhealable": function() { return false; }
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542|    |-	GetClassesList: function() { return ["class1", "class2"]; },
|    | 542|+	"GetClassesList": function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVisibleClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543|    |-	GetVisibleClassesList: function() { return ["class3", "class4"]; },
|    | 543|+	"GetVisibleClassesList": function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRank' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544|    |-	GetRank: function() { return "foo"; },
|    | 544|+	"GetRank": function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSelectionGroupName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545|    |-	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | 545|+	"GetSelectionGroupName": function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546|    |-	HasClass: function() { return true; },
|    | 546|+	"HasClass": function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
| 549| 549| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUndeletable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547|    |-	IsUndeletable: function() { return false; }
|    | 547|+	"IsUndeletable": function() { return false; }
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551|    |-	GetTurretParent: function() {return INVALID_ENTITY;},
|    | 551|+	"GetTurretParent": function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552|    |-	GetPosition: function() {
|    | 552|+	"GetPosition": function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return { x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {"x":1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x: 1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, "y":2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y: 2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, "z":3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z: 3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z:3 };
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555|    |-	IsInWorld: function() {
|    | 555|+	"IsInWorld": function() {
| 556| 556| 		return true;
| 557| 557| 	}
| 558| 558| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": { x:1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {"x":1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x: 1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, "y":2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y: 2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, "z":3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z: 3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z:3 },
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'isBarterMarket'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 584| 584| 	"builder": true,
| 585| 585| 	"canGarrison": false,
| 586| 586| 	"visibility": "visible",
| 587|    |-	"isBarterMarket":true,
|    | 587|+	"isBarterMarket": true,
| 588| 588| 	"resourceTrickle": {
| 589| 589| 		"interval": 1250,
| 590| 590| 		"rates": { "food": 2, "wood": 3, "stone": 5, "metal": 9 }
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 			break;
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 848|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849|    |-				{
|    | 849|+			{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850|    |-					let now = Date.now();
|    | 850|+				let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 851|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852|    |-					{
|    | 852|+				{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 853|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854|    |-						{
|    | 854|+					{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855|    |-							var sptr = ev.hotkey.split(".");
|    | 855|+						var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856|    |-							performGroup("snap", sptr[3]);
|    | 856|+						performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857|    |-						}
|    | 857|+					}
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858|    |-					}
|    | 858|+				}
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859|    |-					else
|    | 859|+				else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
| 860|    |-					{
|    | 860|+				{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
| 861|    |-						var sptr = ev.hotkey.split(".");
|    | 861|+					var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862|    |-						performGroup(sptr[2], sptr[3]);
|    | 862|+					performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864|    |-						doublePressTimer = now;
|    | 864|+					doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865|    |-						prevHotkey = ev.hotkey;
|    | 865|+					prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868| 868| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866|    |-					}
|    | 866|+				}
| 867| 867| 				}
| 868| 868| 				break;
| 869| 869| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867|    |-				}
|    | 867|+			}
| 868| 868| 				break;
| 869| 869| 		}
| 870| 870| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868|    |-				break;
|    | 868|+			break;
| 869| 869| 		}
| 870| 870| 		break;
| 871| 871| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1599|1599| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1600|1600| 
|1601|1601| 	// Reset the last idle unit, etc., if the selection type has changed.
|1602|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1602|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1603|1603| 		resetIdleUnit();
|1604|1604| 	lastIdleClasses = classes;
|1605|1605| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 727| ·»   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 728| ·»   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 733| ·»   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 812| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 815| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 917| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1006| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1020| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1029| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1054| ·»   »   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1055| ·»   »   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1056| ·»   »   »   »   »   "z":·placementSupport.position.z,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1059| ·»   »   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1120| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1550| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 748| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 861| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 877| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 903| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 927| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1470/display/redirect

Vulcan added a comment.Jan 5 2020, 1:20 AM

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/953/display/redirect

Vulcan added a comment.Jan 5 2020, 1:23 AM

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/49/display/redirect

Vulcan added a comment.Jan 5 2020, 1:36 AM

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/simulation2/scripting/JSInterface_Simulation.h
|  25| namespace·JSI_Simulation
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'namespaceJSI_Simulation{' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/tests/test_ObstructionManager.h
|  23| class·MockObstruction·:·public·ICmpObstruction
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classMockObstruction:' is invalid C code. Use --std or --language to configure the language.

source/simulation2/components/ICmpObstruction.h
|  29| class·ICmpObstruction·:·public·IComponent
|    | [MAJOR] CPPCheckBear (syntaxError):
|    | Code 'classICmpObstruction:' is invalid C code. Use --std or --language to configure the language.
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   1|    |-/////////////////////////////////////////////////////////////////////
|    |   1|+// ///////////////////////////////////////////////////////////////////
|   2|   2| //	Vector2D
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|   3|   3| //
|   4|   4| //	Class for representing and manipulating 2D vectors
|   5|   5| //
|   6|    |-/////////////////////////////////////////////////////////////////////
|    |   6|+// ///////////////////////////////////////////////////////////////////
|   7|   7| 
|   8|   8| // TODO: Type errors if v not instanceof Vector classes
|   9|   9| // TODO: Possibly implement in C++
|    | [NORMAL] ESLintBear (semi):
|    | Missing semicolon.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|  35|  35| 	this.x = v.x;
|  36|  36| 	this.y = v.y;
|  37|  37| 	return this;
|  38|    |-}
|    |  38|+};
|  39|  39| 
|  40|  40| Vector2D.prototype.add = function(v)
|  41|  41| {
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 252| 252| 	return v1.x * v2.x + v1.y * v2.y;
| 253| 253| };
| 254| 254| 
| 255|    |-/////////////////////////////////////////////////////////////////////
|    | 255|+// ///////////////////////////////////////////////////////////////////
| 256| 256| //	Vector3D
| 257| 257| //
| 258| 258| //	Class for representing and manipulating 3D vectors
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/vector.js
| 257| 257| //
| 258| 258| //	Class for representing and manipulating 3D vectors
| 259| 259| //
| 260|    |-/////////////////////////////////////////////////////////////////////
|    | 260|+// ///////////////////////////////////////////////////////////////////
| 261| 261| 
| 262| 262| function Vector3D(x = 0, y = 0, z = 0)
| 263| 263| {

binaries/data/mods/public/globalscripts/vector.js
|  38| }
|    | [NORMAL] JSHintBear:
|    | Missing semicolon.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  49|  49| 	"GetResource": resource => ({
|  50|  50| 		"aiAnalysisInfluenceGroup":
|  51|  51| 			resource == "food" ? "ignore" :
|  52|    |-			resource == "wood" ? "abundant" : "sparse"
|    |  52|+				resource == "wood" ? "abundant" : "sparse"
|  53|  53| 	})
|  54|  54| };
|  55|  55| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  57|  57| 
|  58|  58| 
|  59|  59| AddMock(SYSTEM_ENTITY, IID_Barter, {
|  60|    |-	GetPrices: function() {
|    |  60|+	"GetPrices": function() {
|  61|  61| 		return {
|  62|  62| 			"buy": { "food": 150 },
|  63|  63| 			"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'PlayerHasMarket' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	"PlayerHasMarket": function () { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (space-before-function-paren):
|    | Unexpected space before function parentheses.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  63|  63| 			"sell": { "food": 25 }
|  64|  64| 		};
|  65|  65| 	},
|  66|    |-	PlayerHasMarket: function () { return false; }
|    |  66|+	PlayerHasMarket: function() { return false; }
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVictoryConditions' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  67|  67| });
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|    |-	GetVictoryConditions: () => ["conquest", "wonder"],
|    |  70|+	"GetVictoryConditions": () => ["conquest", "wonder"],
|  71|  71| 	GetAlliedVictory: function() { return false; }
|  72|  72| });
|  73|  73| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetAlliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  68|  68| 
|  69|  69| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  70|  70| 	GetVictoryConditions: () => ["conquest", "wonder"],
|  71|    |-	GetAlliedVictory: function() { return false; }
|    |  71|+	"GetAlliedVictory": function() { return false; }
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  72|  72| });
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|    |-	GetNumPlayers: function() { return 2; },
|    |  75|+	"GetNumPlayers": function() { return 2; },
|  76|  76| 	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  73|  73| 
|  74|  74| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  75|  75| 	GetNumPlayers: function() { return 2; },
|  76|    |-	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|    |  76|+	"GetPlayerByID": function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosVisibility' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  77|  77| });
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|    |-	GetLosVisibility: function(ent, player) { return "visible"; },
|    |  80|+	"GetLosVisibility": function(ent, player) { return "visible"; },
|  81|  81| 	GetLosCircular: function() { return false; }
|  82|  82| });
|  83|  83| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLosCircular' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  78|  78| 
|  79|  79| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  80|  80| 	GetLosVisibility: function(ent, player) { return "visible"; },
|  81|    |-	GetLosCircular: function() { return false; }
|    |  81|+	"GetLosCircular": function() { return false; }
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  82|  82| });
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|    |-	GetCurrentTemplateName: function(ent) { return "example"; },
|    |  85|+	"GetCurrentTemplateName": function(ent) { return "example"; },
|  86|  86| 	GetTemplate: function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTemplate' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  83|  83| 
|  84|  84| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  85|  85| 	GetCurrentTemplateName: function(ent) { return "example"; },
|  86|    |-	GetTemplate: function(name) { return ""; }
|    |  86|+	"GetTemplate": function(name) { return ""; }
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTime' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  87|  87| });
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|    |-	GetTime: function() { return 0; },
|    |  90|+	"GetTime": function() { return 0; },
|  91|  91| 	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  88|  88| 
|  89|  89| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  90|  90| 	GetTime: function() { return 0; },
|  91|    |-	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|    |  91|+	"SetTimeout": function(ent, iid, funcname, time, data) { return 0; }
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  92|  92| });
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|    |-	GetName: function() { return "Player 1"; },
|    |  95|+	"GetName": function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  93|  93| 
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|    |-	GetCiv: function() { return "gaia"; },
|    |  96|+	"GetCiv": function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	"GetColor": function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { "r": 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, "g": 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, "b": 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, "a": 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  94|  94| AddMock(100, IID_Player, {
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  97|+	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1 }; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  95|  95| 	GetName: function() { return "Player 1"; },
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|    |-	CanControlAllUnits: function() { return false; },
|    |  98|+	"CanControlAllUnits": function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  96|  96| 	GetCiv: function() { return "gaia"; },
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|    |-	GetPopulationCount: function() { return 10; },
|    |  99|+	"GetPopulationCount": function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  97|  97| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100|    |-	GetPopulationLimit: function() { return 20; },
|    | 100|+	"GetPopulationLimit": function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  98|  98| 	CanControlAllUnits: function() { return false; },
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101|    |-	GetMaxPopulation: function() { return 200; },
|    | 101|+	"GetMaxPopulation": function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	"GetResourceCounts": function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|  99|  99| 	GetPopulationCount: function() { return 10; },
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 102|+	GetResourceCounts: function() { return { "food": 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 100| 100| 	GetPopulationLimit: function() { return 20; },
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103|    |-	GetPanelEntities: function() { return []; },
|    | 103|+	"GetPanelEntities": function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 101| 101| 	GetMaxPopulation: function() { return 200; },
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104|    |-	IsTrainingBlocked: function() { return false; },
|    | 104|+	"IsTrainingBlocked": function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 102| 102| 	GetResourceCounts: function() { return { food: 100 }; },
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105|    |-	GetState: function() { return "active"; },
|    | 105|+	"GetState": function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 103| 103| 	GetPanelEntities: function() { return []; },
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106|    |-	GetTeam: function() { return -1; },
|    | 106|+	"GetTeam": function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 104| 104| 	IsTrainingBlocked: function() { return false; },
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107|    |-	GetLockTeams: function() { return false; },
|    | 107|+	"GetLockTeams": function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 105| 105| 	GetState: function() { return "active"; },
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108|    |-	GetCheatsEnabled: function() { return false; },
|    | 108|+	"GetCheatsEnabled": function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 106| 106| 	GetTeam: function() { return -1; },
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 109|+	"GetDiplomacy": function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 107| 107| 	GetLockTeams: function() { return false; },
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110|    |-	IsAlly: function() { return false; },
|    | 110|+	"IsAlly": function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 108| 108| 	GetCheatsEnabled: function() { return false; },
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111|    |-	IsMutualAlly: function() { return false; },
|    | 111|+	"IsMutualAlly": function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 109| 109| 	GetDiplomacy: function() { return [-1, 1]; },
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112|    |-	IsNeutral: function() { return false; },
|    | 112|+	"IsNeutral": function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 110| 110| 	IsAlly: function() { return false; },
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113|    |-	IsEnemy: function() { return true; },
|    | 113|+	"IsEnemy": function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 111| 111| 	IsMutualAlly: function() { return false; },
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114|    |-	GetDisabledTemplates: function() { return {}; },
|    | 114|+	"GetDisabledTemplates": function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 112| 112| 	IsNeutral: function() { return false; },
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 115|+	"GetDisabledTechnologies": function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 113| 113| 	IsEnemy: function() { return true; },
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 116|+	"GetSpyCostMultiplier": function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 114| 114| 	GetDisabledTemplates: function() { return {}; },
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117|    |-	HasSharedDropsites: function() { return false; },
|    | 117|+	"HasSharedDropsites": function() { return false; },
| 118| 118| 	HasSharedLos: function() { return false; }
| 119| 119| });
| 120| 120| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 115| 115| 	GetDisabledTechnologies: function() { return {}; },
| 116| 116| 	GetSpyCostMultiplier: function() { return 1; },
| 117| 117| 	HasSharedDropsites: function() { return false; },
| 118|    |-	HasSharedLos: function() { return false; }
|    | 118|+	"HasSharedLos": function() { return false; }
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	"GetLimits": function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return { "Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 119| 119| });
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 122|+	GetLimits: function() { return {"Foo": 10 }; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	"GetCounts": function() { return {"Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return { "Foo": 5}; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 120| 120| 
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 123|+	GetCounts: function() { return {"Foo": 5 }; },
| 124| 124| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	"GetLimitChangers": function() {return {"Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return { "Foo": {}}; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 121| 121| AddMock(100, IID_EntityLimits, {
| 122| 122| 	GetLimits: function() { return {"Foo": 10}; },
| 123| 123| 	GetCounts: function() { return {"Foo": 5}; },
| 124|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 124|+	GetLimitChangers: function() {return {"Foo": {} }; }
| 125| 125| });
| 126| 126| 
| 127| 127| AddMock(100, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 134| 134| });
| 135| 135| 
| 136| 136| AddMock(100, IID_StatisticsTracker, {
| 137|    |-	GetBasicStatistics: function() {
|    | 137|+	"GetBasicStatistics": function() {
| 138| 138| 		return {
| 139| 139| 			"resourcesGathered": {
| 140| 140| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 146| 146| 			"percentMapExplored": 10
| 147| 147| 		};
| 148| 148| 	},
| 149|    |-	GetSequences: function() {
|    | 149|+	"GetSequences": function() {
| 150| 150| 		return {
| 151| 151| 			"unitsTrained": [0, 10],
| 152| 152| 			"unitsLost": [0, 42],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 171| 171| 			"teamPeakPercentOfMapControlled": [0, 10]
| 172| 172| 		};
| 173| 173| 	},
| 174|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 174|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 172| 172| 		};
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 175|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 176| 176| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 177| 177| });
| 178| 178| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 173| 173| 	},
| 174| 174| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 175| 175| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 176|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 176|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 177| 177| });
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180|    |-	GetName: function() { return "Player 2"; },
|    | 180|+	"GetName": function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCiv' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 178| 178| 
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181|    |-	GetCiv: function() { return "mace"; },
|    | 181|+	"GetCiv": function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetColor' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	"GetColor": function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { "r": 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, "g": 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, "b": 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, "a": 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 179| 179| AddMock(101, IID_Player, {
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 182|+	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1 }; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanControlAllUnits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 180| 180| 	GetName: function() { return "Player 2"; },
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183|    |-	CanControlAllUnits: function() { return true; },
|    | 183|+	"CanControlAllUnits": function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 181| 181| 	GetCiv: function() { return "mace"; },
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184|    |-	GetPopulationCount: function() { return 40; },
|    | 184|+	"GetPopulationCount": function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPopulationLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 182| 182| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185|    |-	GetPopulationLimit: function() { return 30; },
|    | 185|+	"GetPopulationLimit": function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxPopulation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 183| 183| 	CanControlAllUnits: function() { return true; },
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186|    |-	GetMaxPopulation: function() { return 300; },
|    | 186|+	"GetMaxPopulation": function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetResourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	"GetResourceCounts": function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 184| 184| 	GetPopulationCount: function() { return 40; },
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 187|+	GetResourceCounts: function() { return { "food": 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPanelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 185| 185| 	GetPopulationLimit: function() { return 30; },
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188|    |-	GetPanelEntities: function() { return []; },
|    | 188|+	"GetPanelEntities": function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsTrainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 186| 186| 	GetMaxPopulation: function() { return 300; },
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189|    |-	IsTrainingBlocked: function() { return false; },
|    | 189|+	"IsTrainingBlocked": function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetState' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 187| 187| 	GetResourceCounts: function() { return { food: 200 }; },
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190|    |-	GetState: function() { return "active"; },
|    | 190|+	"GetState": function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTeam' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 188| 188| 	GetPanelEntities: function() { return []; },
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191|    |-	GetTeam: function() { return -1; },
|    | 191|+	"GetTeam": function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLockTeams' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 189| 189| 	IsTrainingBlocked: function() { return false; },
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192|    |-	GetLockTeams: function() {return false; },
|    | 192|+	"GetLockTeams": function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 190| 190| 	GetState: function() { return "active"; },
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193|    |-	GetCheatsEnabled: function() { return false; },
|    | 193|+	"GetCheatsEnabled": function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDiplomacy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 191| 191| 	GetTeam: function() { return -1; },
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 194|+	"GetDiplomacy": function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 192| 192| 	GetLockTeams: function() {return false; },
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195|    |-	IsAlly: function() { return true; },
|    | 195|+	"IsAlly": function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 193| 193| 	GetCheatsEnabled: function() { return false; },
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196|    |-	IsMutualAlly: function() {return false; },
|    | 196|+	"IsMutualAlly": function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 194| 194| 	GetDiplomacy: function() { return [-1, 1]; },
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197|    |-	IsNeutral: function() { return false; },
|    | 197|+	"IsNeutral": function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 195| 195| 	IsAlly: function() { return true; },
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198|    |-	IsEnemy: function() { return false; },
|    | 198|+	"IsEnemy": function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 196| 196| 	IsMutualAlly: function() {return false; },
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199|    |-	GetDisabledTemplates: function() { return {}; },
|    | 199|+	"GetDisabledTemplates": function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetDisabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 197| 197| 	IsNeutral: function() { return false; },
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 200|+	"GetDisabledTechnologies": function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSpyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 198| 198| 	IsEnemy: function() { return false; },
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 201|+	"GetSpyCostMultiplier": function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 199| 199| 	GetDisabledTemplates: function() { return {}; },
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202|    |-	HasSharedDropsites: function() { return false; },
|    | 202|+	"HasSharedDropsites": function() { return false; },
| 203| 203| 	HasSharedLos: function() { return false; }
| 204| 204| });
| 205| 205| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 200| 200| 	GetDisabledTechnologies: function() { return {}; },
| 201| 201| 	GetSpyCostMultiplier: function() { return 1; },
| 202| 202| 	HasSharedDropsites: function() { return false; },
| 203|    |-	HasSharedLos: function() { return false; }
|    | 203|+	"HasSharedLos": function() { return false; }
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	"GetLimits": function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return { "Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 204| 204| });
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 207|+	GetLimits: function() { return {"Bar": 20 }; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	"GetCounts": function() { return {"Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return { "Bar": 0}; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 205| 205| 
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 208|+	GetCounts: function() { return {"Bar": 0 }; },
| 209| 209| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	"GetLimitChangers": function() {return {"Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return { "Bar": {}}; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 206| 206| AddMock(101, IID_EntityLimits, {
| 207| 207| 	GetLimits: function() { return {"Bar": 20}; },
| 208| 208| 	GetCounts: function() { return {"Bar": 0}; },
| 209|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 209|+	GetLimitChangers: function() {return {"Bar": {} }; }
| 210| 210| });
| 211| 211| 
| 212| 212| AddMock(101, IID_TechnologyManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBasicStatistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 219| 219| });
| 220| 220| 
| 221| 221| AddMock(101, IID_StatisticsTracker, {
| 222|    |-	GetBasicStatistics: function() {
|    | 222|+	"GetBasicStatistics": function() {
| 223| 223| 		return {
| 224| 224| 			"resourcesGathered": {
| 225| 225| 				"food": 100,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSequences' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 231| 231| 			"percentMapExplored": 10
| 232| 232| 		};
| 233| 233| 	},
| 234|    |-	GetSequences: function() {
|    | 234|+	"GetSequences": function() {
| 235| 235| 		return {
| 236| 236| 			"unitsTrained": [0, 10],
| 237| 237| 			"unitsLost": [0, 9],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseTrainedUnitsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 256| 256| 			"teamPeakPercentOfMapControlled": [0, 10]
| 257| 257| 		};
| 258| 258| 	},
| 259|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 259|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseConstructedBuildingsCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 257| 257| 		};
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 260|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 261| 261| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 262| 262| });
| 263| 263| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IncreaseBuiltCivCentresCounter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 258| 258| 	},
| 259| 259| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 260| 260| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 261|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 261|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 262| 262| });
| 263| 263| 
| 264| 264| // Note: property order matters when using TS_ASSERT_UNEVAL_EQUALS,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'players' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 265| 265| //	because uneval preserves property order. So make sure this object
| 266| 266| //	matches the ordering in GuiInterface.
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268|    |-	players: [
|    | 268|+	"players": [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 267| 267| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 268| 268| 	players: [
| 269| 269| 		{
| 270|    |-			name: "Player 1",
|    | 270|+			"name": "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 268| 268| 	players: [
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271|    |-			civ: "gaia",
|    | 271|+			"civ": "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			"color": { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { "r":1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r: 1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, "g":1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g: 1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, "b":1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b: 1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, "a":1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 269| 269| 		{
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 272|+			color: { r:1, g:1, b:1, a: 1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 270| 270| 			name: "Player 1",
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273|    |-			controlsAll: false,
|    | 273|+			"controlsAll": false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 271| 271| 			civ: "gaia",
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274|    |-			popCount: 10,
|    | 274|+			"popCount": 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 272| 272| 			color: { r:1, g:1, b:1, a:1 },
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275|    |-			popLimit: 20,
|    | 275|+			"popLimit": 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 273| 273| 			controlsAll: false,
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276|    |-			popMax: 200,
|    | 276|+			"popMax": 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 274| 274| 			popCount: 10,
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277|    |-			panelEntities: [],
|    | 277|+			"panelEntities": [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			"resourceCounts": { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 275| 275| 			popLimit: 20,
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278|    |-			resourceCounts: { food: 100 },
|    | 278|+			resourceCounts: { "food": 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 276| 276| 			popMax: 200,
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279|    |-			trainingBlocked: false,
|    | 279|+			"trainingBlocked": false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 277| 277| 			panelEntities: [],
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280|    |-			state: "active",
|    | 280|+			"state": "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 278| 278| 			resourceCounts: { food: 100 },
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281|    |-			team: -1,
|    | 281|+			"team": -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 279| 279| 			trainingBlocked: false,
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282|    |-			teamsLocked: false,
|    | 282|+			"teamsLocked": false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 280| 280| 			state: "active",
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283|    |-			cheatsEnabled: false,
|    | 283|+			"cheatsEnabled": false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 281| 281| 			team: -1,
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284|    |-			disabledTemplates: {},
|    | 284|+			"disabledTemplates": {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 282| 282| 			teamsLocked: false,
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285|    |-			disabledTechnologies: {},
|    | 285|+			"disabledTechnologies": {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 283| 283| 			cheatsEnabled: false,
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286|    |-			hasSharedDropsites: false,
|    | 286|+			"hasSharedDropsites": false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 284| 284| 			disabledTemplates: {},
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287|    |-			hasSharedLos: false,
|    | 287|+			"hasSharedLos": false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 285| 285| 			disabledTechnologies: {},
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288|    |-			spyCostMultiplier: 1,
|    | 288|+			"spyCostMultiplier": 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 286| 286| 			hasSharedDropsites: false,
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289|    |-			phase: "village",
|    | 289|+			"phase": "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 287| 287| 			hasSharedLos: false,
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290|    |-			isAlly: [false, false],
|    | 290|+			"isAlly": [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 288| 288| 			spyCostMultiplier: 1,
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291|    |-			isMutualAlly: [false, false],
|    | 291|+			"isMutualAlly": [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 289| 289| 			phase: "village",
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292|    |-			isNeutral: [false, false],
|    | 292|+			"isNeutral": [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 290| 290| 			isAlly: [false, false],
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293|    |-			isEnemy: [true, true],
|    | 293|+			"isEnemy": [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			"entityLimits": {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: { "Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 291| 291| 			isMutualAlly: [false, false],
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294|    |-			entityLimits: {"Foo": 10},
|    | 294|+			entityLimits: {"Foo": 10 },
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			"entityCounts": {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: { "Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 292| 292| 			isNeutral: [false, false],
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295|    |-			entityCounts: {"Foo": 5},
|    | 295|+			entityCounts: {"Foo": 5 },
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			"entityLimitChangers": {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: { "Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 293| 293| 			isEnemy: [true, true],
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296|    |-			entityLimitChangers: {"Foo": {}},
|    | 296|+			entityLimitChangers: {"Foo": {} },
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 294| 294| 			entityLimits: {"Foo": 10},
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297|    |-			researchQueued: new Map(),
|    | 297|+			"researchQueued": new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 295| 295| 			entityCounts: {"Foo": 5},
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298|    |-			researchStarted: new Set(),
|    | 298|+			"researchStarted": new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 296| 296| 			entityLimitChangers: {"Foo": {}},
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299|    |-			researchedTechs: new Set(),
|    | 299|+			"researchedTechs": new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 297| 297| 			researchQueued: new Map(),
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300|    |-			classCounts: {},
|    | 300|+			"classCounts": {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 298| 298| 			researchStarted: new Set(),
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301|    |-			typeCountsByClass: {},
|    | 301|+			"typeCountsByClass": {},
| 302| 302| 			canBarter: false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 299| 299| 			researchedTechs: new Set(),
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302|    |-			canBarter: false,
|    | 302|+			"canBarter": false,
| 303| 303| 			barterPrices: {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 300| 300| 			classCounts: {},
| 301| 301| 			typeCountsByClass: {},
| 302| 302| 			canBarter: false,
| 303|    |-			barterPrices: {
|    | 303|+			"barterPrices": {
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 304| 304| 				"buy": { "food": 150 },
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307|    |-			statistics: {
|    | 307|+			"statistics": {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 305| 305| 				"sell": { "food": 25 }
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308|    |-				resourcesGathered: {
|    | 308|+				"resourcesGathered": {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 306| 306| 			},
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309|    |-					food: 100,
|    | 309|+					"food": 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 307| 307| 			statistics: {
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310|    |-					wood: 0,
|    | 310|+					"wood": 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 308| 308| 				resourcesGathered: {
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311|    |-					metal: 0,
|    | 311|+					"metal": 0,
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 309| 309| 					food: 100,
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312|    |-					stone: 0,
|    | 312|+					"stone": 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 310| 310| 					wood: 0,
| 311| 311| 					metal: 0,
| 312| 312| 					stone: 0,
| 313|    |-					vegetarianFood: 0
|    | 313|+					"vegetarianFood": 0
| 314| 314| 				},
| 315| 315| 				percentMapExplored: 10
| 316| 316| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 312| 312| 					stone: 0,
| 313| 313| 					vegetarianFood: 0
| 314| 314| 				},
| 315|    |-				percentMapExplored: 10
|    | 315|+				"percentMapExplored": 10
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'name' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 316| 316| 			}
| 317| 317| 		},
| 318| 318| 		{
| 319|    |-			name: "Player 2",
|    | 319|+			"name": "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'civ' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 317| 317| 		},
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320|    |-			civ: "mace",
|    | 320|+			"civ": "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'color' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			"color": { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'r' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { "r":1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r: 1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'g' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, "g":0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g: 0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'b' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, "b":0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b: 0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'a' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, "a":1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 318| 318| 		{
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 321|+			color: { r:1, g:0, b:0, a: 1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'controlsAll' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 319| 319| 			name: "Player 2",
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322|    |-			controlsAll: true,
|    | 322|+			"controlsAll": true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popCount' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 320| 320| 			civ: "mace",
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323|    |-			popCount: 40,
|    | 323|+			"popCount": 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popLimit' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 321| 321| 			color: { r:1, g:0, b:0, a:1 },
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324|    |-			popLimit: 30,
|    | 324|+			"popLimit": 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'popMax' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 322| 322| 			controlsAll: true,
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325|    |-			popMax: 300,
|    | 325|+			"popMax": 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'panelEntities' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 323| 323| 			popCount: 40,
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326|    |-			panelEntities: [],
|    | 326|+			"panelEntities": [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourceCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			"resourceCounts": { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 324| 324| 			popLimit: 30,
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327|    |-			resourceCounts: { food: 200 },
|    | 327|+			resourceCounts: { "food": 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'trainingBlocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 325| 325| 			popMax: 300,
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328|    |-			trainingBlocked: false,
|    | 328|+			"trainingBlocked": false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'state' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 326| 326| 			panelEntities: [],
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329|    |-			state: "active",
|    | 329|+			"state": "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'team' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 327| 327| 			resourceCounts: { food: 200 },
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330|    |-			team: -1,
|    | 330|+			"team": -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'teamsLocked' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 328| 328| 			trainingBlocked: false,
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331|    |-			teamsLocked: false,
|    | 331|+			"teamsLocked": false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'cheatsEnabled' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 329| 329| 			state: "active",
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332|    |-			cheatsEnabled: false,
|    | 332|+			"cheatsEnabled": false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTemplates' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 330| 330| 			team: -1,
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333|    |-			disabledTemplates: {},
|    | 333|+			"disabledTemplates": {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'disabledTechnologies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 331| 331| 			teamsLocked: false,
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334|    |-			disabledTechnologies: {},
|    | 334|+			"disabledTechnologies": {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedDropsites' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 332| 332| 			cheatsEnabled: false,
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335|    |-			hasSharedDropsites: false,
|    | 335|+			"hasSharedDropsites": false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'hasSharedLos' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 333| 333| 			disabledTemplates: {},
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336|    |-			hasSharedLos: false,
|    | 336|+			"hasSharedLos": false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'spyCostMultiplier' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 334| 334| 			disabledTechnologies: {},
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337|    |-			spyCostMultiplier: 1,
|    | 337|+			"spyCostMultiplier": 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'phase' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 335| 335| 			hasSharedDropsites: false,
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338|    |-			phase: "village",
|    | 338|+			"phase": "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 336| 336| 			hasSharedLos: false,
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339|    |-			isAlly: [true, true],
|    | 339|+			"isAlly": [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isMutualAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 337| 337| 			spyCostMultiplier: 1,
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340|    |-			isMutualAlly: [false, false],
|    | 340|+			"isMutualAlly": [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isNeutral' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 338| 338| 			phase: "village",
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341|    |-			isNeutral: [false, false],
|    | 341|+			"isNeutral": [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'isEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 339| 339| 			isAlly: [true, true],
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342|    |-			isEnemy: [false, false],
|    | 342|+			"isEnemy": [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimits' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			"entityLimits": {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: { "Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 340| 340| 			isMutualAlly: [false, false],
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343|    |-			entityLimits: {"Bar": 20},
|    | 343|+			entityLimits: {"Bar": 20 },
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			"entityCounts": {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: { "Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 341| 341| 			isNeutral: [false, false],
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344|    |-			entityCounts: {"Bar": 0},
|    | 344|+			entityCounts: {"Bar": 0 },
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'entityLimitChangers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			"entityLimitChangers": {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: { "Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 342| 342| 			isEnemy: [false, false],
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345|    |-			entityLimitChangers: {"Bar": {}},
|    | 345|+			entityLimitChangers: {"Bar": {} },
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchQueued' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 343| 343| 			entityLimits: {"Bar": 20},
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346|    |-			researchQueued: new Map(),
|    | 346|+			"researchQueued": new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchStarted' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 344| 344| 			entityCounts: {"Bar": 0},
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347|    |-			researchStarted: new Set(),
|    | 347|+			"researchStarted": new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'researchedTechs' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 345| 345| 			entityLimitChangers: {"Bar": {}},
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348|    |-			researchedTechs: new Set(),
|    | 348|+			"researchedTechs": new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'classCounts' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 346| 346| 			researchQueued: new Map(),
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349|    |-			classCounts: {},
|    | 349|+			"classCounts": {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'typeCountsByClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 347| 347| 			researchStarted: new Set(),
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350|    |-			typeCountsByClass: {},
|    | 350|+			"typeCountsByClass": {},
| 351| 351| 			canBarter: false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'canBarter' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 348| 348| 			researchedTechs: new Set(),
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351|    |-			canBarter: false,
|    | 351|+			"canBarter": false,
| 352| 352| 			barterPrices: {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'barterPrices' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 349| 349| 			classCounts: {},
| 350| 350| 			typeCountsByClass: {},
| 351| 351| 			canBarter: false,
| 352|    |-			barterPrices: {
|    | 352|+			"barterPrices": {
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'statistics' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 353| 353| 				"buy": { "food": 150 },
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356|    |-			statistics: {
|    | 356|+			"statistics": {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'resourcesGathered' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 354| 354| 				"sell": { "food": 25 }
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357|    |-				resourcesGathered: {
|    | 357|+				"resourcesGathered": {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'food' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 355| 355| 			},
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358|    |-					food: 100,
|    | 358|+					"food": 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'wood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 356| 356| 			statistics: {
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359|    |-					wood: 0,
|    | 359|+					"wood": 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'metal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 357| 357| 				resourcesGathered: {
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360|    |-					metal: 0,
|    | 360|+					"metal": 0,
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'stone' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 358| 358| 					food: 100,
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361|    |-					stone: 0,
|    | 361|+					"stone": 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'vegetarianFood' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 359| 359| 					wood: 0,
| 360| 360| 					metal: 0,
| 361| 361| 					stone: 0,
| 362|    |-					vegetarianFood: 0
|    | 362|+					"vegetarianFood": 0
| 363| 363| 				},
| 364| 364| 				percentMapExplored: 10
| 365| 365| 			}
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'percentMapExplored' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 361| 361| 					stone: 0,
| 362| 362| 					vegetarianFood: 0
| 363| 363| 				},
| 364|    |-				percentMapExplored: 10
|    | 364|+				"percentMapExplored": 10
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'circularMap' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 365| 365| 			}
| 366| 366| 		}
| 367| 367| 	],
| 368|    |-	circularMap: false,
|    | 368|+	"circularMap": false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'timeElapsed' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 366| 366| 		}
| 367| 367| 	],
| 368| 368| 	circularMap: false,
| 369|    |-	timeElapsed: 0,
|    | 369|+	"timeElapsed": 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371| 371| 	alliedVictory: false
| 372| 372| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'alliedVictory' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 368| 368| 	circularMap: false,
| 369| 369| 	timeElapsed: 0,
| 370| 370| 	"victoryConditions": ["conquest", "wonder"],
| 371|    |-	alliedVictory: false
|    | 371|+	"alliedVictory": false
| 372| 372| });
| 373| 373| 
| 374| 374| TS_ASSERT_UNEVAL_EQUALS(cmp.GetExtendedSimulationState(), {
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r": 1, "g":1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g": 1, "b":1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b": 1, "a":1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 376| 376| 		{
| 377| 377| 			"name": "Player 1",
| 378| 378| 			"civ": "gaia",
| 379|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 379|+			"color": { "r":1, "g":1, "b":1, "a": 1 },
| 380| 380| 			"controlsAll": false,
| 381| 381| 			"popCount": 10,
| 382| 382| 			"popLimit": 20,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": { "Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 398| 398| 			"isMutualAlly": [false, false],
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401|    |-			"entityLimits": {"Foo": 10},
|    | 401|+			"entityLimits": {"Foo": 10 },
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": { "Foo": 5},
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 399| 399| 			"isNeutral": [false, false],
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402|    |-			"entityCounts": {"Foo": 5},
|    | 402|+			"entityCounts": {"Foo": 5 },
| 403| 403| 			"entityLimitChangers": {"Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": { "Foo": {}},
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 400| 400| 			"isEnemy": [true, true],
| 401| 401| 			"entityLimits": {"Foo": 10},
| 402| 402| 			"entityCounts": {"Foo": 5},
| 403|    |-			"entityLimitChangers": {"Foo": {}},
|    | 403|+			"entityLimitChangers": {"Foo": {} },
| 404| 404| 			"researchQueued": new Map(),
| 405| 405| 			"researchStarted": new Set(),
| 406| 406| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'r'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r": 1, "g":0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'g'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g": 0, "b":0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'b'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b": 0, "a":1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'a'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 448| 448| 		{
| 449| 449| 			"name": "Player 2",
| 450| 450| 			"civ": "mace",
| 451|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 451|+			"color": { "r":1, "g":0, "b":0, "a": 1 },
| 452| 452| 			"controlsAll": true,
| 453| 453| 			"popCount": 40,
| 454| 454| 			"popLimit": 30,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": { "Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 470| 470| 			"isMutualAlly": [false, false],
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473|    |-			"entityLimits": {"Bar": 20},
|    | 473|+			"entityLimits": {"Bar": 20 },
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": { "Bar": 0},
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 471| 471| 			"isNeutral": [false, false],
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474|    |-			"entityCounts": {"Bar": 0},
|    | 474|+			"entityCounts": {"Bar": 0 },
| 475| 475| 			"entityLimitChangers": {"Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": { "Bar": {}},
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 472| 472| 			"isEnemy": [false, false],
| 473| 473| 			"entityLimits": {"Bar": 20},
| 474| 474| 			"entityCounts": {"Bar": 0},
| 475|    |-			"entityLimitChangers": {"Bar": {}},
|    | 475|+			"entityLimitChangers": {"Bar": {} },
| 476| 476| 			"researchQueued": new Map(),
| 477| 477| 			"researchStarted": new Set(),
| 478| 478| 			"researchedTechs": new Set(),
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntitiesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 526| 526| 
| 527| 527| 
| 528| 528| AddMock(10, IID_Builder, {
| 529|    |-	GetEntitiesList: function() {
|    | 529|+	"GetEntitiesList": function() {
| 530| 530| 		return ["test1", "test2"];
| 531| 531| 	},
| 532| 532| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 532| 532| });
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535|    |-	GetHitpoints: function() { return 50; },
|    | 535|+	"GetHitpoints": function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetMaxHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 533| 533| 
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536|    |-	GetMaxHitpoints: function() { return 60; },
|    | 536|+	"GetMaxHitpoints": function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsRepairable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 534| 534| AddMock(10, IID_Health, {
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537|    |-	IsRepairable: function() { return false; },
|    | 537|+	"IsRepairable": function() { return false; },
| 538| 538| 	IsUnhealable: function() { return false; }
| 539| 539| });
| 540| 540| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUnhealable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 535| 535| 	GetHitpoints: function() { return 50; },
| 536| 536| 	GetMaxHitpoints: function() { return 60; },
| 537| 537| 	IsRepairable: function() { return false; },
| 538|    |-	IsUnhealable: function() { return false; }
|    | 538|+	"IsUnhealable": function() { return false; }
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 539| 539| });
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542|    |-	GetClassesList: function() { return ["class1", "class2"]; },
|    | 542|+	"GetClassesList": function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetVisibleClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 540| 540| 
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543|    |-	GetVisibleClassesList: function() { return ["class3", "class4"]; },
|    | 543|+	"GetVisibleClassesList": function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRank' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 541| 541| AddMock(10, IID_Identity, {
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544|    |-	GetRank: function() { return "foo"; },
|    | 544|+	"GetRank": function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetSelectionGroupName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 542| 542| 	GetClassesList: function() { return ["class1", "class2"]; },
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545|    |-	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | 545|+	"GetSelectionGroupName": function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'HasClass' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 543| 543| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546|    |-	HasClass: function() { return true; },
|    | 546|+	"HasClass": function() { return true; },
| 547| 547| 	IsUndeletable: function() { return false; }
| 548| 548| });
| 549| 549| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsUndeletable' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 544| 544| 	GetRank: function() { return "foo"; },
| 545| 545| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 546| 546| 	HasClass: function() { return true; },
| 547|    |-	IsUndeletable: function() { return false; }
|    | 547|+	"IsUndeletable": function() { return false; }
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 548| 548| });
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551|    |-	GetTurretParent: function() {return INVALID_ENTITY;},
|    | 551|+	"GetTurretParent": function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 549| 549| 
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552|    |-	GetPosition: function() {
|    | 552|+	"GetPosition": function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return { x:1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {"x":1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x: 1, y:2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, "y":2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y: 2, z:3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, "z":3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z: 3};
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 550| 550| AddMock(10, IID_Position, {
| 551| 551| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 552| 552| 	GetPosition: function() {
| 553|    |-		return {x:1, y:2, z:3};
|    | 553|+		return {x:1, y:2, z:3 };
| 554| 554| 	},
| 555| 555| 	IsInWorld: function() {
| 556| 556| 		return true;
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 552| 552| 	GetPosition: function() {
| 553| 553| 		return {x:1, y:2, z:3};
| 554| 554| 	},
| 555|    |-	IsInWorld: function() {
|    | 555|+	"IsInWorld": function() {
| 556| 556| 		return true;
| 557| 557| 	}
| 558| 558| });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": { x:1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'x' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {"x":1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'x'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x: 1, y:2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'y' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, "y":2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'y'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y: 2, z:3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'z' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, "z":3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'z'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z: 3},
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 576| 576| 		"selectionGroupName": "Selection Group Name",
| 577| 577| 		"canDelete": true
| 578| 578| 	},
| 579|    |-	"position": {x:1, y:2, z:3},
|    | 579|+	"position": {x:1, y:2, z:3 },
| 580| 580| 	"hitpoints": 50,
| 581| 581| 	"maxHitpoints": 60,
| 582| 582| 	"needsRepair": false,
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'isBarterMarket'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
| 584| 584| 	"builder": true,
| 585| 585| 	"canGarrison": false,
| 586| 586| 	"visibility": "visible",
| 587|    |-	"isBarterMarket":true,
|    | 587|+	"isBarterMarket": true,
| 588| 588| 	"resourceTrickle": {
| 589| 589| 		"interval": 1250,
| 590| 590| 		"rates": { "food": 2, "wood": 3, "stone": 5, "metal": 9 }
|    | [NORMAL] ESLintBear (space-unary-ops):
|    | Unary word operator 'typeof' must be followed by whitespace.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 329| 329| 	}
| 330| 330| 
| 331| 331| 	var wallPlacementInfo = updateBuildingPlacementPreview(); // entities making up the wall (wall segments, towers, ...)
| 332|    |-	if (!(wallPlacementInfo === false || typeof(wallPlacementInfo) === "object"))
|    | 332|+	if (!(wallPlacementInfo === false || typeof (wallPlacementInfo) === "object"))
| 333| 333| 	{
| 334| 334| 		error("Invalid updateBuildingPlacementPreview return value: " + uneval(wallPlacementInfo));
| 335| 335| 		return false;
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 479| 479| 	mouseIsOverObject = (hoveredObject != null);
| 480| 480| 
| 481| 481| 	// Close the menu when interacting with the game world
| 482|    |-	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown")
| 483|    |-		&& (ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
|    | 482|+	if (!mouseIsOverObject && (ev.type =="mousebuttonup" || ev.type == "mousebuttondown") &&
|    | 483|+		(ev.button == SDL_BUTTON_LEFT || ev.button == SDL_BUTTON_RIGHT))
| 484| 484| 		g_Menu.close();
| 485| 485| 
| 486| 486| 	// State-machine processing:
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 640| 640| 		// user to continue building walls.
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643|    |-			case "mousemotion":
|    | 643|+		case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 641| 641| 		switch (ev.type)
| 642| 642| 		{
| 643| 643| 			case "mousemotion":
| 644|    |-				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
|    | 644|+			placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 643| 643| 			case "mousemotion":
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646|    |-				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
|    | 646|+			// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 644| 644| 				placementSupport.wallEndPosition = Engine.GetTerrainAtScreenPoint(ev.x, ev.y);
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647|    |-				// the ending point and the starting point to snap to.
|    | 647|+			// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 645| 645| 
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648|    |-				//
|    | 648|+			//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 646| 646| 				// Update the building placement preview, and by extension, the list of snapping candidate entities for both (!)
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649|    |-				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
|    | 649|+			// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 647| 647| 				// the ending point and the starting point to snap to.
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650|    |-				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
|    | 650|+			// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 648| 648| 				//
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651|    |-				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
|    | 651|+			// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 649| 649| 				// TODO: Note that here, we need to fetch all similar entities, including any offscreen ones, to support the case
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652|    |-				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
|    | 652|+			// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 650| 650| 				// where the snap entity for the starting point has moved offscreen, or has been deleted/destroyed, or was a
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653|    |-				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
|    | 653|+			// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 651| 651| 				// foundation and has been replaced with a completed entity since the user first chose it. Fetching all towers on
| 652| 652| 				// the entire map instead of only the current screen might get expensive fast since walls all have a ton of towers
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654|    |-				// points.
|    | 654|+			// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 653| 653| 				// in them. Might be useful to query only for entities within a certain range around the starting point and ending
| 654| 654| 				// points.
| 655| 655| 
| 656|    |-				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
|    | 656|+			placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 654| 654| 				// points.
| 655| 655| 
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657|    |-				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
|    | 657|+			var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 656| 656| 				placementSupport.wallSnapEntitiesIncludeOffscreen = true;
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659|    |-				if (result && result.cost)
|    | 659|+			if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 657| 657| 				var result = updateBuildingPlacementPreview(); // includes an update of the snap entity candidates
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660|    |-				{
|    | 660|+			{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 658| 658| 
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661|    |-					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
|    | 661|+				var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 659| 659| 				if (result && result.cost)
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662|    |-					placementSupport.tooltipMessage = [
|    | 662|+				placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 660| 660| 				{
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663|    |-						getEntityCostTooltip(result),
|    | 663|+					getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 661| 661| 					var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664|    |-						getNeededResourcesTooltip(neededResources)
|    | 664|+					getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 662| 662| 					placementSupport.tooltipMessage = [
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665|    |-					].filter(tip => tip).join("\n");
|    | 665|+				].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668| 668| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 663| 663| 						getEntityCostTooltip(result),
| 664| 664| 						getNeededResourcesTooltip(neededResources)
| 665| 665| 					].filter(tip => tip).join("\n");
| 666|    |-				}
|    | 666|+			}
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 665| 665| 					].filter(tip => tip).join("\n");
| 666| 666| 				}
| 667| 667| 
| 668|    |-				break;
|    | 668|+			break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 667| 667| 
| 668| 668| 				break;
| 669| 669| 
| 670|    |-			case "mousebuttondown":
|    | 670|+		case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 668| 668| 				break;
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671|    |-				if (ev.button == SDL_BUTTON_LEFT)
|    | 671|+			if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 669| 669| 
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672|    |-				{
|    | 672|+			{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 670| 670| 			case "mousebuttondown":
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673|    |-					var queued = Engine.HotkeyIsPressed("session.queue");
|    | 673|+				var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 671| 671| 				if (ev.button == SDL_BUTTON_LEFT)
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674|    |-					if (tryPlaceWall(queued))
|    | 674|+				if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 672| 672| 				{
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675|    |-					{
|    | 675|+				{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 673| 673| 					var queued = Engine.HotkeyIsPressed("session.queue");
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676|    |-						if (queued)
|    | 676|+					if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 674| 674| 					if (tryPlaceWall(queued))
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677|    |-						{
|    | 677|+					{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 675| 675| 					{
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678|    |-							// continue building, just set a new starting position where we left off
|    | 678|+						// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 676| 676| 						if (queued)
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679|    |-							placementSupport.position = placementSupport.wallEndPosition;
|    | 679|+						placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 677| 677| 						{
| 678| 678| 							// continue building, just set a new starting position where we left off
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680|    |-							placementSupport.wallEndPosition = undefined;
|    | 680|+						placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 679| 679| 							placementSupport.position = placementSupport.wallEndPosition;
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682|    |-							inputState = INPUT_BUILDING_WALL_CLICK;
|    | 682|+						inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 680| 680| 							placementSupport.wallEndPosition = undefined;
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683|    |-						}
|    | 683|+					}
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 681| 681| 
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684|    |-						else
|    | 684|+					else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 682| 682| 							inputState = INPUT_BUILDING_WALL_CLICK;
| 683| 683| 						}
| 684| 684| 						else
| 685|    |-						{
|    | 685|+					{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 683| 683| 						}
| 684| 684| 						else
| 685| 685| 						{
| 686|    |-							placementSupport.Reset();
|    | 686|+						placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 684| 684| 						else
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687|    |-							inputState = INPUT_NORMAL;
|    | 687|+						inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 685| 685| 						{
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688|    |-						}
|    | 688|+					}
| 689| 689| 					}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 686| 686| 							placementSupport.Reset();
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689|    |-					}
|    | 689|+				}
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 687| 687| 							inputState = INPUT_NORMAL;
| 688| 688| 						}
| 689| 689| 					}
| 690|    |-					else
|    | 690|+				else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 688| 688| 						}
| 689| 689| 					}
| 690| 690| 					else
| 691|    |-						placementSupport.tooltipMessage = translate("Cannot build wall here!");
|    | 691|+					placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 690| 690| 					else
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693|    |-					updateBuildingPlacementPreview();
|    | 693|+				updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 691| 691| 						placementSupport.tooltipMessage = translate("Cannot build wall here!");
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694|    |-					return true;
|    | 694|+				return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 692| 692| 
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695|    |-				}
|    | 695|+			}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 693| 693| 					updateBuildingPlacementPreview();
| 694| 694| 					return true;
| 695| 695| 				}
| 696|    |-				else if (ev.button == SDL_BUTTON_RIGHT)
|    | 696|+			else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 694| 694| 					return true;
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697|    |-				{
|    | 697|+			{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 695| 695| 				}
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698|    |-					// reset to normal input mode
|    | 698|+				// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 696| 696| 				else if (ev.button == SDL_BUTTON_RIGHT)
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699|    |-					placementSupport.Reset();
|    | 699|+				placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 697| 697| 				{
| 698| 698| 					// reset to normal input mode
| 699| 699| 					placementSupport.Reset();
| 700|    |-					updateBuildingPlacementPreview();
|    | 700|+				updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 699| 699| 					placementSupport.Reset();
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702|    |-					inputState = INPUT_NORMAL;
|    | 702|+				inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705| 705| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 700| 700| 					updateBuildingPlacementPreview();
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703|    |-					return true;
|    | 703|+				return true;
| 704| 704| 				}
| 705| 705| 				break;
| 706| 706| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 701| 701| 
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704|    |-				}
|    | 704|+			}
| 705| 705| 				break;
| 706| 706| 		}
| 707| 707| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 702| 702| 					inputState = INPUT_NORMAL;
| 703| 703| 					return true;
| 704| 704| 				}
| 705|    |-				break;
|    | 705|+			break;
| 706| 706| 		}
| 707| 707| 		break;
| 708| 708| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 845| 845| 			break;
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848|    |-				if (ev.hotkey.indexOf("selection.group.") == 0)
|    | 848|+			if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 846| 846| 
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849|    |-				{
|    | 849|+			{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 847| 847| 		case "hotkeydown":
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850|    |-					let now = Date.now();
|    | 850|+				let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 848| 848| 				if (ev.hotkey.indexOf("selection.group.") == 0)
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851|    |-					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
|    | 851|+				if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 849| 849| 				{
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852|    |-					{
|    | 852|+				{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 850| 850| 					let now = Date.now();
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853|    |-						if (ev.hotkey.indexOf("selection.group.select.") == 0)
|    | 853|+					if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 851| 851| 					if (now - doublePressTimer < doublePressTime && ev.hotkey == prevHotkey)
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854|    |-						{
|    | 854|+					{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 852| 852| 					{
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855|    |-							var sptr = ev.hotkey.split(".");
|    | 855|+						var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 6 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 853| 853| 						if (ev.hotkey.indexOf("selection.group.select.") == 0)
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856|    |-							performGroup("snap", sptr[3]);
|    | 856|+						performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 854| 854| 						{
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857|    |-						}
|    | 857|+					}
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 855| 855| 							var sptr = ev.hotkey.split(".");
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858|    |-					}
|    | 858|+				}
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 856| 856| 							performGroup("snap", sptr[3]);
| 857| 857| 						}
| 858| 858| 					}
| 859|    |-					else
|    | 859|+				else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 857| 857| 						}
| 858| 858| 					}
| 859| 859| 					else
| 860|    |-					{
|    | 860|+				{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 858| 858| 					}
| 859| 859| 					else
| 860| 860| 					{
| 861|    |-						var sptr = ev.hotkey.split(".");
|    | 861|+					var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 859| 859| 					else
| 860| 860| 					{
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862|    |-						performGroup(sptr[2], sptr[3]);
|    | 862|+					performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 861| 861| 						var sptr = ev.hotkey.split(".");
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864|    |-						doublePressTimer = now;
|    | 864|+					doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 862| 862| 						performGroup(sptr[2], sptr[3]);
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865|    |-						prevHotkey = ev.hotkey;
|    | 865|+					prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868| 868| 				break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 4 tabs but found 5.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 863| 863| 
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866|    |-					}
|    | 866|+				}
| 867| 867| 				}
| 868| 868| 				break;
| 869| 869| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 864| 864| 						doublePressTimer = now;
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867|    |-				}
|    | 867|+			}
| 868| 868| 				break;
| 869| 869| 		}
| 870| 870| 		break;
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
| 865| 865| 						prevHotkey = ev.hotkey;
| 866| 866| 					}
| 867| 867| 				}
| 868|    |-				break;
|    | 868|+			break;
| 869| 869| 		}
| 870| 870| 		break;
| 871| 871| 
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/session/input.js
|1599|1599| 	var selectall = Engine.HotkeyIsPressed("selection.offscreen");
|1600|1600| 
|1601|1601| 	// Reset the last idle unit, etc., if the selection type has changed.
|1602|    |-	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v,i) => v === lastIdleClasses[i]))
|    |1602|+	if (selectall || classes.length != lastIdleClasses.length || !classes.every((v, i) => v === lastIdleClasses[i]))
|1603|1603| 		resetIdleUnit();
|1604|1604| 	lastIdleClasses = classes;
|1605|1605| 

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'target' to undefined.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] ESLintBear (no-undef-init):
|    | It's not necessary to initialize 'actionInfo' to undefined.

binaries/data/mods/public/gui/session/input.js
| 468| »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 495| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 499| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 554| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 564| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 612| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 641| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 710| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 727| ·»   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 728| ·»   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 733| ·»   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
| 812| »   switch·(inputState)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 815| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 917| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1006| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1020| »   »   »   »   let·action·=·determineAction(ev.x,·ev.y);
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'action' is already declared in the upper scope.

binaries/data/mods/public/gui/session/input.js
|1029| »   »   switch·(ev.type)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1054| ·»   »   »   »   »   "template":·placementSupport.template,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1055| ·»   »   »   »   »   "x":·placementSupport.position.x,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1056| ·»   »   »   »   »   "z":·placementSupport.position.z,
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1059| ·»   »   »   »   });
|    | [NORMAL] ESLintBear (no-mixed-spaces-and-tabs):
|    | Mixed spaces and tabs.

binaries/data/mods/public/gui/session/input.js
|1120| »   »   »   switch·(ev.hotkey)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
|1550| »   switch·(action)
|    | [NORMAL] ESLintBear (default-case):
|    | Expected a default case.

binaries/data/mods/public/gui/session/input.js
| 231| »   var·target·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'target' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 245| »   var·actionInfo·=·undefined;
|    | [NORMAL] JSHintBear:
|    | It's not necessary to initialize 'actionInfo' to 'undefined'.

binaries/data/mods/public/gui/session/input.js
| 259| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 262| »   »   »   var·r·=·g_UnitActions[action].hotkeyActionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 267| »   for·(var·action·of·actions)
|    | [NORMAL] JSHintBear:
|    | 'action' is already defined.

binaries/data/mods/public/gui/session/input.js
| 270| »   »   »   var·r·=·g_UnitActions[action].actionCheck(target,·selection);
|    | [NORMAL] JSHintBear:
|    | 'r' is already defined.

binaries/data/mods/public/gui/session/input.js
| 483| »   »   &&·(ev.button·==·SDL_BUTTON_LEFT·||·ev.button·==·SDL_BUTTON_RIGHT))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/gui/session/input.js
| 513| »   »   »   »   var·rect·=·updateBandbox(bandbox,·ev,·true);
|    | [NORMAL] JSHintBear:
|    | 'rect' is already defined.

binaries/data/mods/public/gui/session/input.js
| 516| »   »   »   »   var·ents·=·getPreferredEntities(Engine.PickPlayerEntitiesInRect(rect[0],·rect[1],·rect[2],·rect[3],·g_ViewedPlayer));
|    | [NORMAL] JSHintBear:
|    | 'ents' is already defined.

binaries/data/mods/public/gui/session/input.js
| 673| »   »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 748| »   »   »   »   var·queued·=·Engine.HotkeyIsPressed("session.queue");
|    | [NORMAL] JSHintBear:
|    | 'queued' is already defined.

binaries/data/mods/public/gui/session/input.js
| 861| »   »   »   »   »   »   var·sptr·=·ev.hotkey.split(".");
|    | [NORMAL] JSHintBear:
|    | 'sptr' is already defined.

binaries/data/mods/public/gui/session/input.js
| 877| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/gui/session/input.js
| 903| »   »   »   }
|    | [NORMAL] JSHintBear:
|    | Expected a 'break' statement before 'default'.

binaries/data/mods/public/gui/session/input.js
| 927| »   »   »   var·ent·=·Engine.PickEntityAtPoint(ev.x,·ev.y);
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
| 824| 824| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 825| 825| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 826| 826| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 827|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 827|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 828| 828| 	}
| 829| 829| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 830| 830| 	Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager).UpdateColors();
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1657|1657| 			{
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|    |-						"x": pos.x,
|    |1660|+					"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1658|1658| 				minDist2 = dist2;
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|    |-						"z": pos.z,
|    |1661|+					"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1659|1659| 				minDistEntitySnapData = {
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|    |-						"angle": cmpPosition.GetRotation().y,
|    |1662|+					"angle": cmpPosition.GetRotation().y,
|1663|1663| 						"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 5 tabs but found 6.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
|1660|1660| 						"x": pos.x,
|1661|1661| 						"z": pos.z,
|1662|1662| 						"angle": cmpPosition.GetRotation().y,
|1663|    |-						"ent": ent
|    |1663|+					"ent": ent
|1664|1664| 				};
|1665|1665| 			}
|1666|1666| 		}
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1471/display/redirect

elexis accepted this revision.Jan 5 2020, 1:47 AM
  • I didn't investigate the algorithm, so there may be logic flaws. You're more into the matter and capable enough for me to trust you, and from a far the code looks simple (small complexity).
  • Playtested and pleased
  • Performance now not a problem anymore as it only checks near the mouse edge, i.e. 16ish obstructions (according to your words) instead of 100s or 1000s.
  • Many style and code refactoring iterations, see IRC reviews on the days that patch iterations were uploaded, leaving the code IMO very clean.

Possible Issues:

  • Snapping to metal mines is unexpected, should probably filter Resources (identity classes passed from JS)
  • Snaps only when the mouse is in range of the edge of the nearby building, but the user may also expect that it snaps whenever the two buildings edges are in rane (i.e. deleting config value snaptoedgesdistancethreshold and replacing with Math.sqrt(halfWidth*halfWidth + halfHeight*halfHeight)). I'm ok with taking the more performant algorithm for now (16 edges vs 100+ edges)
  • Palisade snapping doesn't work as expected (which may be due to the multi-obstruction shape)
  • GetEdgesOfStaticObstructionsOnScreenNearTo could use Vector2D instead of passing x+z

Thanks a lot for this feature, it will be used very often by many players!

I suggest to add a loading screen tooltip.

Use svn propset svn:eol-style native <file> on new files.

Don't forget to edit HotKeys after the commit.

This revision is now accepted and ready to land.Jan 5 2020, 1:47 AM
This revision was automatically updated to reflect the committed changes.
Owners added subscribers: Restricted Owners Package, Restricted Owners Package.Jan 5 2020, 2:08 AM