Page MenuHomeWildfire Games

Generalise Attack effects - any attack can do damage, capture, inflict status effects, including splash. Also damage bonuses.
ClosedPublic

Authored by wraitii on Jul 17 2019, 9:38 PM.

Details

Reviewers
None
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Commits
rP22754: Generalise Attack effects. All attacks, including death damage and splash, can…
Summary

(From ideas in D368 and D2081).

This makes it so that any attack can, at the same time, deal damage, capture, inflict status effects. This also includes splash. It also include bonus multipliers.

I think restricted classes and such would be on a similar level, but those are Attack.js only (unless we want to consider them for missile hit?

Test Plan

Notice that capture still works, and damaging also, and that attacks can now do both at once.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Freagarach added inline comments.Jul 22 2019, 1:02 PM
binaries/data/mods/public/simulation/components/Armour.js
69 ↗(On Diff #9008)

Should probably be a resistance.

75 ↗(On Diff #9008)

Not sure, wouldn't it be the idea that if you kill/tear down a unit/building you get loot, but if you capture it you can't loot it?

binaries/data/mods/public/simulation/components/Attack.js
67 ↗(On Diff #9008)

Should each effect have the possibility to have its own bonuses? Or would that be weird?

143 ↗(On Diff #9008)

Perhaps in its own Effects node? Would make generalising easier again ;)

binaries/data/mods/public/simulation/components/Damage.js
9 ↗(On Diff #9008)

Not needed? See below.

224 ↗(On Diff #9008)

effectType in attackData? Then we probably don't need this.effectTypes as well, since it is only called here.

binaries/data/mods/public/simulation/components/StatusEffectsReceiver.js
62 ↗(On Diff #9008)

Why does it have no owner? If I was poisoned by someone and I die, that person should have it on his/hers record right?

wraitii added inline comments.Jul 22 2019, 1:37 PM
binaries/data/mods/public/simulation/components/Armour.js
64 ↗(On Diff #9008)

Indeed.

69 ↗(On Diff #9008)

later diff

75 ↗(On Diff #9008)

XP loot.

binaries/data/mods/public/simulation/components/Attack.js
67 ↗(On Diff #9008)

I pondered that, but I don't see the point (at least right now). Since most attacks only deal either damage or capture it's kind of irrelevant.

143 ↗(On Diff #9008)

Pondered that again - I don't think it's necessary per se because we hardcode 3 effects (status, damage, capture) anyways. I don't think it's worth making it more general and it doesn't change templates that way.

627 ↗(On Diff #9008)

better indeed

binaries/data/mods/public/simulation/components/Damage.js
224 ↗(On Diff #9008)

There's "Bonuses" in attackData

229 ↗(On Diff #9008)

perhaps, didn't check

binaries/data/mods/public/simulation/components/StatusEffectsReceiver.js
62 ↗(On Diff #9008)

The implementation doesn't keep track of the poisoning entity, so no owner. We could, but it's for another diff imo.

You need to change the Globalscript Templates.js. Besides that, it works, I've added capture value to a ranged one and both effects are dealt properly.
Only a proper way of showing has also to be coded in tooltips.js. You'll have to use the GetEffectTypes there.
Even PetraAI does not complain (out loud) when giving an attack multiple effects :O Though it might be beneficial to update it before committing this.

binaries/data/mods/public/simulation/components/Armour.js
75 ↗(On Diff #9008)

Point taken.

binaries/data/mods/public/simulation/components/Attack.js
143 ↗(On Diff #9008)

Can always be done later if deemed a necessity.

472 ↗(On Diff #9008)

-value

621–625 ↗(On Diff #9008)
data.splash = {
	"friendlyFire": this.template[type].Splash.FriendlyFire != "false",
	"radius": +this.template[type].Splash.Range,
	"shape": this.template[type].Splash.Shape,
	"attackData": this.GetAttackData(type, true)
};

Nicer?

binaries/data/mods/public/simulation/components/Damage.js
224 ↗(On Diff #9008)

Yeah, I was already using the extra node in my mind I guess.

229 ↗(On Diff #9008)

Yes it does.

wraitii updated this revision to Diff 9071.EditedJul 22 2019, 9:30 PM

Rebased. Incorporate death damage changes, and thus pull the idea to put all of this in a helper from D2109.

This makes Armour have its own schema again, since it's just a coincidence that it can use the same schema as attack effects, and it won't be able to do that for status effects probably, when it gets renamed to resistance and upgraded for that (cc future me).

This opens the structure tree and in-games correctly at least, needs some more testing.

Edit: - I'm not really updating tooltips or AI right now, since it's not like we're actually going to use this very soon and status effects also need GUI support, so there's some cleanup to do there first.

Owners added a subscriber: Restricted Owners Package.Jul 22 2019, 9:30 PM

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

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

Still needed:

  • testing and reviewing
  • fixing tests
  • probably updating some techs, I've gripped *.js files but not *.json files.

Recapping the 2+1 different ways of generalising attack effects, and why I prefer this patch's approach over D368 (though admittedly not by a huge margin after looking at it critically).


D368 way

Template structure:

<AttackType>
   <Effects>
      <Hack>5</Hack>
      <Capture>4</Capture>
      <StatusEffects>
         <Burn>...</Burn>
      </StatusEffects>
   </Effects>
</AttackType>

Pros:

  • all effects are actually in the same node so they can be iterated over and it's obvious they all deal some kind of effect. This makes it slightly easier to extend attack effects.

Cons:

  • Needs something specifying how Hack/Capture/Stun map to some component to actually deal their own effect.
  • this makes it annoying to have a scheme like the above where an effect is not numeric, as that'd need either letting any damage type implement that, or hardcoding it in the schema - in which case one loses the ability to super-easily extend attack effects which made this approach nice.
  • Thus annoying to merge status effects with other effect types, which is annoying since 'effect' no longer contains all effects. Note that a boolean effect (stun > yes/no for example) would be similar.
  • Less obvious from the template that the effects do potentially completely different effects.

D2092 way

Template Structure:

<AttackType>
   <Damage>
      <Hack>5</Hack>
   </Damage>
   <Capture>4</Capture>
   <StatusEffects>
      <Burn>...</Burn>
   </StatusEffects>
</AttackType>

Pros:

  • No need for a global script helper file by itself
  • imo more obvious that templates deal different effects, and if you see an attack with only 'Damage' or 'Capture' it's obvious that it only deals that type of effect.
  • Drops an indentation level for capture-only and status-effects only attacks.
  • Easy to merge status effects with the other effects, and any other future effect that might do something completely different.

Cons:

  • Effect types need to be hardcoded in the schema, but moddability effort is about the same regardless as both methods require JS changes.
  • Cannot be iterated over unless wrapped in a <Effects> Node, forcing a list of effects to exist somewhere (possibly same helper as schema specifier). However since again adding a new attack effect always involves adding JS code so I see that hardcoding as a more minor concern.

Hybrid

Template Structure:

<AttackType>
   <Effects>
      <Hack comp="Health">5</Hack>
      <Capture comp="Capturable">4</Capture>
      <StatusEffects comp="StatusEffects">
         <Burn>...</Burn>
      </StatusEffects>
   </Effects>
</AttackType>

This drops the need for a helper, but it's quite verbose.


In both cases a function needs to be changed implementing the effects of the attack.
D368 handles this with a generic 'Reduce' function in the affected component, whereas D2092 deals with this entirely in DamageReceiver.
I think the latter approach is slightly better as:

  • whatever name we pick for the 'reduce' function, effects such as status effects or stun wouldn't really work with it, so it'd have to be _so_ generic to be meaningless.
  • it keeps the code together, likely allowing for more deduplication.
  • attack effects usually end up affecting components other than the receiving one, and I feel like dealing with this in the damage receiver makes most sense.`
Therefore

I like D2092's approach better as I find it cleaner overall, its main con being that it hardcodes attack effects more. But since adding new attack effects means adding JS code anyway, I see this as a rather limited concern (compared to generic attack types, generic damage types).

Cannot be iterated over unless wrapped in a <Effects>-node (...)

You could propose that as another hybrid option? That looks more like a hybrid than the current hybrid.

bb added a subscriber: bb.Jul 25 2019, 1:28 PM

D368 way

Template structure:

<AttackType>
   <Effects>
      <Hack>5</Hack>
      <Capture>4</Capture>
      <StatusEffects>
         <Burn>...</Burn>
      </StatusEffects>
   </Effects>
</AttackType>

Not exactly what is proposed:

<AttackType>
   <Effects>
      <Damage>
         <Hack>5</Hack>
         <Capture>4</Capture>
      </Damage>
      <StatusEffects>
         <Burn>...</Burn>
      </StatusEffects>
   </Effects>
</AttackType>

(Even more precise would be without the Effects indentation, but fine with adding that)
Pros:
Effects can be iterated over
Nodes reflect the component it maps to (Damage to DamageReciever, StatusEffect to statuseffectReceiver), thus no hardcoding of these
Damagetypes can be iterated over within all effects, thus statusEffects can capture immediately

Cons:
Health dependence in capture damagetype needs to be hardcoded
Damage sounds weird for capture
Extra level of indentation on one-effect things

Right, I did misunderstand what you meant.

To me adding a status effect is similar to damage/capture, in fact to me a status effect could add another status effect (would be a way to queue them over time or something).

Freagarach added a comment.EditedJul 25 2019, 5:20 PM

If I read these comments correctly, the only thing where @wraitii and @bb disagree over is whether capture should be within the damage node (possible renamed) or in a seperate node?
If we would let capture out of damage (i.e. create its own node) and let StatusEffects accept the Effects-schema we would:

  • No need for "Health dependence in capture damagetype needs to be hardcoded".
  • Still be able to iterate over effects.
  • Keep "Nodes reflect the component it maps to (Damage to DamageReciever, StatusEffect to statuseffectReceiver), thus no hardcoding of these" (capture to capturable).
  • Let status effects be able to deal status effects (weird but supportable).

I.e.

<AttackType>
   <Effects>
      <Damage>
         <Hack>5</Hack>
      </Damage>
      <Capture>4</Capture>
      <StatusEffects>
         <Burn>...</Burn>
      </StatusEffects>
   </Effects>
</AttackType>

Cons:

  • Extra indentation.
  • Breaks mod support yet again (though that is bound to happen with some of the open patches).

Please correct me if I'm wrong.

wraitii updated this revision to Diff 9179.Jul 31 2019, 8:52 PM

Compromise solution, without the Effects Node for now as that would change templates.

I also choose not to introduce intermediary receiver components, so Health.HandleAttackEffects, Capturable.HandleAttackEffects ... get directly called.

This means Armour (aka DamageReceiver) is now just a Resistance component, and is entirely facultative - if you have health, you can take health damage.

I need a new helper to map damage types. This could be circumvented by an "Effects" node, but to be honest I don't see much the point.

I think I'll end up moving the Damage "HandleAttackEffects" function in the helper, and Damage.JS can be "DelayedAttack" system component or something like that.

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

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [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
| 796| 796| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 797| 797| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 798| 798| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 799|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 799|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 800| 800| 	}
| 801| 801| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 802| 802| 	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
|1629|1629| 			{
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|    |-						"x": pos.x,
|    |1632|+					"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"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
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|    |-						"z": pos.z,
|    |1633|+					"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|    | [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
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|    |-						"angle": cmpPosition.GetRotation().y,
|    |1634|+					"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|    | [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
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|    |-						"ent": ent
|    |1635|+					"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|1638|1638| 		}

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 801| »   »   if·(this.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 818| »   »   if·(this.position()·!==·undefined·&&·unitToFleeFrom.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 948| }(API3);
|    | [MAJOR] ESLintBear (no-use-before-define):
|    | 'API3' was used before it was defined.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Damage.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Damage.js
|  23|  23| 	let cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer);
|  24|  24| 	let turnLength = cmpTimer.GetLatestTurnLength();
|  25|  25| 	return new Vector3D(
|  26|    |-			(curPos.x * (turnLength - lateness) + prevPos.x * lateness) / turnLength,
|    |  26|+		(curPos.x * (turnLength - lateness) + prevPos.x * lateness) / turnLength,
|  27|  27| 			0,
|  28|  28| 			(curPos.z * (turnLength - lateness) + prevPos.z * lateness) / turnLength);
|  29|  29| };
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Damage.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Damage.js
|  24|  24| 	let turnLength = cmpTimer.GetLatestTurnLength();
|  25|  25| 	return new Vector3D(
|  26|  26| 			(curPos.x * (turnLength - lateness) + prevPos.x * lateness) / turnLength,
|  27|    |-			0,
|    |  27|+		0,
|  28|  28| 			(curPos.z * (turnLength - lateness) + prevPos.z * lateness) / turnLength);
|  29|  29| };
|  30|  30| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Damage.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Damage.js
|  25|  25| 	return new Vector3D(
|  26|  26| 			(curPos.x * (turnLength - lateness) + prevPos.x * lateness) / turnLength,
|  27|  27| 			0,
|  28|    |-			(curPos.z * (turnLength - lateness) + prevPos.z * lateness) / turnLength);
|    |  28|+		(curPos.z * (turnLength - lateness) + prevPos.z * lateness) / turnLength);
|  29|  29| };
|  30|  30| 
|  31|  31| /**
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '||' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|  87|  87| 		// If the elements are still strings, split them by space or by '+'
|  88|  88| 		if (typeof sublist == "string")
|  89|  89| 			sublist = sublist.split(/[+\s]+/);
|  90|    |-		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1)
|  91|    |-		                    || (c[0] != "!" && classes.indexOf(c) != -1)))
|    |  90|+		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1) ||
|    |  91|+		                    (c[0] != "!" && classes.indexOf(c) != -1)))
|  92|  92| 			return true;
|  93|  93| 	}
|  94|  94| 

binaries/data/mods/public/globalscripts/Templates.js
|  91| »   »   ····················||·(c[0]·!=·"!"·&&·classes.indexOf(c)·!=·-1)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 389| 389| function getRepairTimeTooltip(entState)
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392|    |-			"label": headerFont(translate("Number of repairers:")),
|    | 392|+		"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393|    |-			"details": entState.repairable.numBuilders
|    | 393|+		"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394|    |-		}) + "\n" + (entState.repairable.numBuilders ?
|    | 394|+	}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
| 397| 397| 			"Add another worker to speed up the repairs by %(second)s seconds.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 411| 411| function getBuildTimeTooltip(entState)
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414|    |-			"label": headerFont(translate("Number of builders:")),
|    | 414|+		"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415|    |-			"details": entState.foundation.numBuilders
|    | 415|+		"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416|    |-		}) + "\n" + (entState.foundation.numBuilders ?
|    | 416|+	}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
| 419| 419| 			"Add another worker to speed up the construction by %(second)s seconds.",
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|  18|  18| 	this.cp = [];
|  19|  19| };
|  20|  20| 
|  21|    |-//// Interface functions ////
|    |  21|+// // Interface functions ////
|  22|  22| 
|  23|  23| /**
|  24|  24|  * Returns the current capture points array
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 145| 145| 	return sourceEnemyCp > 0;
| 146| 146| };
| 147| 147| 
| 148|    |-//// Private functions ////
|    | 148|+// // Private functions ////
| 149| 149| 
| 150| 150| /**
| 151| 151|  * This has to be called whenever the capture points are changed.
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 260| 260| 	Engine.PostMessage(this.entity, MT_CaptureRegenStateChanged, { "regenerating": true, "regenRate": regenRate, "territoryDecay": decay });
| 261| 261| };
| 262| 262| 
| 263|    |-//// Message Listeners ////
|    | 263|+// // Message Listeners ////
| 264| 264| 
| 265| 265| Capturable.prototype.OnValueModification = function(msg)
| 266| 266| {

binaries/data/mods/public/simulation/components/Capturable.js
| 192| »   »   var·garrisonRegenRate·=·0;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' is already defined.

binaries/data/mods/public/simulation/components/Capturable.js
| 194| »   return·regenRate·+·garrisonRegenRate;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' used out of scope.
Executing section cli...

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

Works pretty neat already :)

binaries/data/mods/public/simulation/components/Capturable.js
55 ↗(On Diff #9179)

!this.CanCapture(attackerOwner)

wraitii updated this revision to Diff 9392.Aug 19 2019, 8:47 AM
wraitii edited the summary of this revision. (Show Details)

Fixed remark above.

Fell down the renaming rabbit hole.
Changes:

  • DamageReceiver -> Resistance
  • Damage -> DelayedDamage
  • AttackEffects -> Attacking
  • Most "Damage" functions become free functions in the "Attacking" helper.

Plausible next steps after this patch:

  • DelayedDamage could be removed by putting MissileHit on ProjectileManager.
  • DamageBonus could be merged (or Attacking could be split, alternatively).
  • There's probably an opportunity to not copy so much data by relying on template values more or less directly in Attacking.

This passes tests and doesn't seem to crash on a simple 1v1 AI-AI game.
I'll merge this soon because it enables / blocks several other related changes.

Owners added a subscriber: Restricted Owners Package.Aug 19 2019, 8:47 AM

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

Linter detected issues:
Executing section Source...
Executing section JS...

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 801| »   »   if·(this.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 818| »   »   if·(this.position()·!==·undefined·&&·unitToFleeFrom.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 948| }(API3);
|    | [MAJOR] ESLintBear (no-use-before-define):
|    | 'API3' was used before it was defined.
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '||' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|  87|  87| 		// If the elements are still strings, split them by space or by '+'
|  88|  88| 		if (typeof sublist == "string")
|  89|  89| 			sublist = sublist.split(/[+\s]+/);
|  90|    |-		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1)
|  91|    |-		                    || (c[0] != "!" && classes.indexOf(c) != -1)))
|    |  90|+		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1) ||
|    |  91|+		                    (c[0] != "!" && classes.indexOf(c) != -1)))
|  92|  92| 			return true;
|  93|  93| 	}
|  94|  94| 

binaries/data/mods/public/globalscripts/Templates.js
|  91| »   »   ····················||·(c[0]·!=·"!"·&&·classes.indexOf(c)·!=·-1)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetInterval' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  35|  35| 
|  36|  36| 
|  37|  37| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
|  38|    |-		SetInterval: function() { },
|    |  38|+		"SetInterval": function() { },
|  39|  39| 		SetTimeout: function() { },
|  40|  40| 	});
|  41|  41| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  36|  36| 
|  37|  37| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
|  38|  38| 		SetInterval: function() { },
|  39|    |-		SetTimeout: function() { },
|    |  39|+		"SetTimeout": function() { },
|  40|  40| 	});
|  41|  41| 
|  42|  42| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CreateActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  40|  40| 	});
|  41|  41| 
|  42|  42| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  43|    |-		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|    |  43|+		"CreateActiveQuery": function(ent, minRange, maxRange, players, iid, flags) {
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'EnableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  43|  43| 		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|    |-		EnableActiveQuery: function(id) { },
|    |  46|+		"EnableActiveQuery": function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'ResetActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|    |-		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|    |  47|+		"ResetActiveQuery": function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|    |-		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|    |  47|+		ResetActiveQuery: function(id) { if (mode == 0) return []; return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'DisableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|    |-		DisableActiveQuery: function(id) { },
|    |  48|+		"DisableActiveQuery": function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|  51|  51| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntityFlagMask' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|    |-		GetEntityFlagMask: function(identifier) { },
|    |  49|+		"GetEntityFlagMask": function(identifier) { },
|  50|  50| 	});
|  51|  51| 
|  52|  52| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  50|  50| 	});
|  51|  51| 
|  52|  52| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  53|    |-		GetCurrentTemplateName: function(ent) { return "special/formations/line_closed"; },
|    |  53|+		"GetCurrentTemplateName": function(ent) { return "special/formations/line_closed"; },
|  54|  54| 	});
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  54|  54| 	});
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  57|    |-		GetPlayerByID: function(id) { return playerEntity; },
|    |  57|+		"GetPlayerByID": function(id) { return playerEntity; },
|  58|  58| 		GetNumPlayers: function() { return 2; },
|  59|  59| 	});
|  60|  60| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  57|  57| 		GetPlayerByID: function(id) { return playerEntity; },
|  58|    |-		GetNumPlayers: function() { return 2; },
|    |  58|+		"GetNumPlayers": function() { return 2; },
|  59|  59| 	});
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  59|  59| 	});
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|    |-		IsAlly: function() { return false; },
|    |  62|+		"IsAlly": function() { return false; },
|  63|  63| 		IsEnemy: function() { return true; },
|  64|  64| 		GetEnemies: function() { return []; },
|  65|  65| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|  62| 		IsAlly: function() { return false; },
|  63|    |-		IsEnemy: function() { return true; },
|    |  63|+		"IsEnemy": function() { return true; },
|  64|  64| 		GetEnemies: function() { return []; },
|  65|  65| 	});
|  66|  66| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEnemies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|  62| 		IsAlly: function() { return false; },
|  63|  63| 		IsEnemy: function() { return true; },
|  64|    |-		GetEnemies: function() { return []; },
|    |  64|+		"GetEnemies": function() { return []; },
|  65|  65| 	});
|  66|  66| 
|  67|  67| 	AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  71|  71| 	var unitAI = ConstructComponent(unit, "UnitAI", { "FormationController": "false", "DefaultStance": "aggressive" });
|  72|  72| 
|  73|  73| 	AddMock(unit, IID_Identity, {
|  74|    |-		GetClassesList: function() { return []; },
|    |  74|+		"GetClassesList": function() { return []; },
|  75|  75| 	});
|  76|  76| 
|  77|  77| 	AddMock(unit, IID_Ownership, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetOwner' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  75|  75| 	});
|  76|  76| 
|  77|  77| 	AddMock(unit, IID_Ownership, {
|  78|    |-		GetOwner: function() { return 1; },
|    |  78|+		"GetOwner": function() { return 1; },
|  79|  79| 	});
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  79|  79| 	});
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    |  82|+		"GetTurretParent": function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|    |-		GetPosition: function() { return new Vector3D(); },
|    |  83|+		"GetPosition": function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|    |-		GetPosition2D: function() { return new Vector2D(); },
|    |  84|+		"GetPosition2D": function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|  87|  87| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|    |-		GetRotation: function() { return { "y": 0 }; },
|    |  85|+		"GetRotation": function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|  87|  87| 	});
|  88|  88| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|    |-		IsInWorld: function() { return true; },
|    |  86|+		"IsInWorld": function() { return true; },
|  87|  87| 	});
|  88|  88| 
|  89|  89| 	AddMock(unit, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  95|  95| 	});
|  96|  96| 
|  97|  97| 	AddMock(unit, IID_Vision, {
|  98|    |-		GetRange: function() { return 10; },
|    |  98|+		"GetRange": function() { return 10; },
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102|    |-		GetRange: function() { return { "max": 10, "min": 0}; },
|    | 102|+		"GetRange": function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102|    |-		GetRange: function() { return { "max": 10, "min": 0}; },
|    | 102|+		GetRange: function() { return { "max": 10, "min": 0 }; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetFullAttackRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103|    |-		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 103|+		"GetFullAttackRange": function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103|    |-		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 103|+		GetFullAttackRange: function() { return { "max": 40, "min": 0 }; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBestAttackAgainst' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104|    |-		GetBestAttackAgainst: function(t) { return "melee"; },
|    | 104|+		"GetBestAttackAgainst": function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105|    |-		GetPreference: function(t) { return 0; },
|    | 105|+		"GetPreference": function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTimers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106|    |-		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | 106|+		"GetTimers": function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
| 109| 109| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttack' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107|    |-		CanAttack: function(v) { return true; },
|    | 107|+		"CanAttack": function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
| 109| 109| 	});
| 110| 110| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CompareEntitiesByPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108|    |-		CompareEntitiesByPreference: function(a, b) { return 0; },
|    | 108|+		"CompareEntitiesByPreference": function(a, b) { return 0; },
| 109| 109| 	});
| 110| 110| 
| 111| 111| 	unitAI.OnCreate();
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 116| 116| 	if (mode == 1)
| 117| 117| 	{
| 118| 118| 		AddMock(enemy, IID_Health, {
| 119|    |-			GetHitpoints: function() { return 10; },
|    | 119|+			"GetHitpoints": function() { return 10; },
| 120| 120| 		});
| 121| 121| 		AddMock(enemy, IID_UnitAI, {
| 122| 122| 			IsAnimal: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAnimal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 119| 119| 			GetHitpoints: function() { return 10; },
| 120| 120| 		});
| 121| 121| 		AddMock(enemy, IID_UnitAI, {
| 122|    |-			IsAnimal: function() { return false; }
|    | 122|+			"IsAnimal": function() { return false; }
| 123| 123| 		});
| 124| 124| 	}
| 125| 125| 	else if (mode == 2)
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 124| 124| 	}
| 125| 125| 	else if (mode == 2)
| 126| 126| 		AddMock(enemy, IID_Health, {
| 127|    |-			GetHitpoints: function() { return 0; },
|    | 127|+			"GetHitpoints": function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130| 130| 	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 127| 127| 			GetHitpoints: function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 130|+	var controllerFormation = ConstructComponent(controller, "Formation", { "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 127| 127| 			GetHitpoints: function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 130|+	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0 });
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'JumpTo' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
| 134|    |-		JumpTo: function(x, z) { this.x = x; this.z = z; },
|    | 134|+		"JumpTo": function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    | 135|+		"GetTurretParent": function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 133| 133| 	AddMock(controller, IID_Position, {
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136|    |-		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
|    | 136|+		"GetPosition": function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137|    |-		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | 137|+		"GetPosition2D": function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
| 140| 140| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138|    |-		GetRotation: function() { return { "y": 0 }; },
|    | 138|+		"GetRotation": function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
| 140| 140| 	});
| 141| 141| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139|    |-		IsInWorld: function() { return true; },
|    | 139|+		"IsInWorld": function() { return true; },
| 140| 140| 	});
| 141| 141| 
| 142| 142| 	AddMock(controller, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetInterval' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 186| 186| 	var unitAIs = [];
| 187| 187| 
| 188| 188| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
| 189|    |-		SetInterval: function() { },
|    | 189|+		"SetInterval": function() { },
| 190| 190| 		SetTimeout: function() { },
| 191| 191| 	});
| 192| 192| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 187| 187| 
| 188| 188| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
| 189| 189| 		SetInterval: function() { },
| 190|    |-		SetTimeout: function() { },
|    | 190|+		"SetTimeout": function() { },
| 191| 191| 	});
| 192| 192| 
| 193| 193| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CreateActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 192| 192| 
| 193| 193| 
| 194| 194| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
| 195|    |-		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|    | 195|+		"CreateActiveQuery": function(ent, minRange, maxRange, players, iid, flags) {
| 196| 196| 			return 1;
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'EnableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 195| 195| 		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
| 196| 196| 			return 1;
| 197| 197| 		},
| 198|    |-		EnableActiveQuery: function(id) { },
|    | 198|+		"EnableActiveQuery": function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'ResetActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 196| 196| 			return 1;
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199|    |-		ResetActiveQuery: function(id) { return [enemy]; },
|    | 199|+		"ResetActiveQuery": function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
| 202| 202| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'DisableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200|    |-		DisableActiveQuery: function(id) { },
|    | 200|+		"DisableActiveQuery": function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
| 202| 202| 	});
| 203| 203| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntityFlagMask' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201|    |-		GetEntityFlagMask: function(identifier) { },
|    | 201|+		"GetEntityFlagMask": function(identifier) { },
| 202| 202| 	});
| 203| 203| 
| 204| 204| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 202| 202| 	});
| 203| 203| 
| 204| 204| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
| 205|    |-		GetCurrentTemplateName: function(ent) { return "special/formations/line_closed"; },
|    | 205|+		"GetCurrentTemplateName": function(ent) { return "special/formations/line_closed"; },
| 206| 206| 	});
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 206| 206| 	});
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
| 209|    |-		GetPlayerByID: function(id) { return playerEntity; },
|    | 209|+		"GetPlayerByID": function(id) { return playerEntity; },
| 210| 210| 		GetNumPlayers: function() { return 2; },
| 211| 211| 	});
| 212| 212| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
| 209| 209| 		GetPlayerByID: function(id) { return playerEntity; },
| 210|    |-		GetNumPlayers: function() { return 2; },
|    | 210|+		"GetNumPlayers": function() { return 2; },
| 211| 211| 	});
| 212| 212| 
| 213| 213| 	AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 215| 215| 	});
| 216| 216| 
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218|    |-		IsAlly: function() { return false; },
|    | 218|+		"IsAlly": function() { return false; },
| 219| 219| 		IsEnemy: function() { return true; },
| 220| 220| 		GetEnemies: function() { return []; },
| 221| 221| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 216| 216| 
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218| 218| 		IsAlly: function() { return false; },
| 219|    |-		IsEnemy: function() { return true; },
|    | 219|+		"IsEnemy": function() { return true; },
| 220| 220| 		GetEnemies: function() { return []; },
| 221| 221| 	});
| 222| 222| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEnemies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218| 218| 		IsAlly: function() { return false; },
| 219| 219| 		IsEnemy: function() { return true; },
| 220|    |-		GetEnemies: function() { return []; },
|    | 220|+		"GetEnemies": function() { return []; },
| 221| 221| 	});
| 222| 222| 
| 223| 223| 	// create units
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 228| 228| 		var unitAI = ConstructComponent(unit + i, "UnitAI", { "FormationController": "false", "DefaultStance": "aggressive" });
| 229| 229| 
| 230| 230| 		AddMock(unit + i, IID_Identity, {
| 231|    |-			GetClassesList: function() { return []; },
|    | 231|+			"GetClassesList": function() { return []; },
| 232| 232| 		});
| 233| 233| 
| 234| 234| 		AddMock(unit + i, IID_Ownership, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetOwner' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 232| 232| 		});
| 233| 233| 
| 234| 234| 		AddMock(unit + i, IID_Ownership, {
| 235|    |-			GetOwner: function() { return 1; },
|    | 235|+			"GetOwner": function() { return 1; },
| 236| 236| 		});
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 236| 236| 		});
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239|    |-			GetTurretParent: function() { return INVALID_ENTITY; },
|    | 239|+			"GetTurretParent": function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240|    |-			GetPosition: function() { return new Vector3D(); },
|    | 240|+			"GetPosition": function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241|    |-			GetPosition2D: function() { return new Vector2D(); },
|    | 241|+			"GetPosition2D": function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
| 244| 244| 		});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242|    |-			GetRotation: function() { return { "y": 0 }; },
|    | 242|+			"GetRotation": function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
| 244| 244| 		});
| 245| 245| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243|    |-			IsInWorld: function() { return true; },
|    | 243|+			"IsInWorld": function() { return true; },
| 244| 244| 		});
| 245| 245| 
| 246| 246| 		AddMock(unit + i, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 252| 252| 		});
| 253| 253| 
| 254| 254| 		AddMock(unit + i, IID_Vision, {
| 255|    |-			GetRange: function() { return 10; },
|    | 255|+			"GetRange": function() { return 10; },
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			"GetRange": function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return { "max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'max'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return {"max": 10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return {"max":10, "min": 0 }; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetFullAttackRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260|    |-			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 260|+			"GetFullAttackRange": function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260|    |-			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 260|+			GetFullAttackRange: function() { return { "max": 40, "min": 0 }; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBestAttackAgainst' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261|    |-			GetBestAttackAgainst: function(t) { return "melee"; },
|    | 261|+			"GetBestAttackAgainst": function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTimers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262|    |-			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | 262|+			"GetTimers": function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
| 265| 265| 		});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttack' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263|    |-			CanAttack: function(v) { return true; },
|    | 263|+			"CanAttack": function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
| 265| 265| 		});
| 266| 266| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CompareEntitiesByPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264|    |-			CompareEntitiesByPreference: function(a, b) { return 0; },
|    | 264|+			"CompareEntitiesByPreference": function(a, b) { return 0; },
| 265| 265| 		});
| 266| 266| 
| 267| 267| 		unitAI.OnCreate();
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 273| 273| 
| 274| 274| 	// create enemy
| 275| 275| 	AddMock(enemy, IID_Health, {
| 276|    |-		GetHitpoints: function() { return 40; },
|    | 276|+		"GetHitpoints": function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279| 279| 	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 276| 276| 		GetHitpoints: function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 279|+	var controllerFormation = ConstructComponent(controller, "Formation", { "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 276| 276| 		GetHitpoints: function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 279|+	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0 });
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
| 283|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    | 283|+		"GetTurretParent": function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'JumpTo' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284|    |-		JumpTo: function(x, z) { this.x = x; this.z = z; },
|    | 284|+		"JumpTo": function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 282| 282| 	AddMock(controller, IID_Position, {
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285|    |-		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
|    | 285|+		"GetPosition": function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286|    |-		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | 286|+		"GetPosition2D": function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
| 289| 289| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287|    |-		GetRotation: function() { return { "y": 0 }; },
|    | 287|+		"GetRotation": function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
| 289| 289| 	});
| 290| 290| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288|    |-		IsInWorld: function() { return true; },
|    | 288|+		"IsInWorld": function() { return true; },
| 289| 289| 	});
| 290| 290| 
| 291| 291| 	AddMock(controller, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		"GetRange": function() { return {"max":10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return { "max":10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'max'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return {"max": 10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return {"max":10, "min": 0 }; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttackAsFormation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300| 300| 		GetRange: function() { return {"max":10, "min": 0}; },
| 301|    |-		CanAttackAsFormation: function() { return false; },
|    | 301|+		"CanAttackAsFormation": function() { return false; },
| 302| 302| 	});
| 303| 303| 
| 304| 304| 	controllerAI.OnCreate();
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 310| 310| 	for (var ent of unitAIs)
| 311| 311| 		TS_ASSERT_EQUALS(unitAI.fsmStateName, "INDIVIDUAL.COMBAT.ATTACKING");
| 312| 312| 
| 313|    |-	controllerAI.MoveIntoFormation({"name": "Circle"});
|    | 313|+	controllerAI.MoveIntoFormation({ "name": "Circle"});
| 314| 314| 
| 315| 315| 	// let all units be in position
| 316| 316| 	for (var ent of unitAIs)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 310| 310| 	for (var ent of unitAIs)
| 311| 311| 		TS_ASSERT_EQUALS(unitAI.fsmStateName, "INDIVIDUAL.COMBAT.ATTACKING");
| 312| 312| 
| 313|    |-	controllerAI.MoveIntoFormation({"name": "Circle"});
|    | 313|+	controllerAI.MoveIntoFormation({"name": "Circle" });
| 314| 314| 
| 315| 315| 	// let all units be in position
| 316| 316| 	for (var ent of unitAIs)

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  47| »   »   ResetActiveQuery:·function(id)·{·if·(mode·==·0)·return·[];·else·return·[enemy];·},
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Closing curly brace appears on the same line as the subsequent block.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 224| »   for·(var·i·=·0;·i·<·unitCount;·i++)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 316| »   for·(var·ent·of·unitAIs)
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 319| »   for·(var·ent·of·unitAIs)
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 311| »   »   TS_ASSERT_EQUALS(unitAI.fsmStateName,·"INDIVIDUAL.COMBAT.ATTACKING");
|    | [NORMAL] JSHintBear:
|    | 'unitAI' used out of scope.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 320| »   »   TS_ASSERT_EQUALS(unitAI.fsmStateName,·"INDIVIDUAL.COMBAT.ATTACKING");
|    | [NORMAL] JSHintBear:
|    | 'unitAI' used out of scope.
|    | [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
|  47|  47| 	"GetResource": resource => ({
|  48|  48| 		"aiAnalysisInfluenceGroup":
|  49|  49| 			resource == "food" ? "ignore" :
|  50|    |-			resource == "wood" ? "abundant" : "sparse"
|    |  50|+				resource == "wood" ? "abundant" : "sparse"
|  51|  51| 	})
|  52|  52| };
|  53|  53| 
|    | [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
|  55|  55| 
|  56|  56| 
|  57|  57| AddMock(SYSTEM_ENTITY, IID_Barter, {
|  58|    |-	GetPrices: function() {
|    |  58|+	"GetPrices": function() {
|  59|  59| 		return {
|  60|  60| 			"buy": { "food": 150 },
|  61|  61| 			"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
|  61|  61| 			"sell": { "food": 25 }
|  62|  62| 		};
|  63|  63| 	},
|  64|    |-	PlayerHasMarket: function () { return false; }
|    |  64|+	"PlayerHasMarket": function () { return false; }
|  65|  65| });
|  66|  66| 
|  67|  67| 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
|  61|  61| 			"sell": { "food": 25 }
|  62|  62| 		};
|  63|  63| 	},
|  64|    |-	PlayerHasMarket: function () { return false; }
|    |  64|+	PlayerHasMarket: function() { return false; }
|  65|  65| });
|  66|  66| 
|  67|  67| 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
|  65|  65| });
|  66|  66| 
|  67|  67| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  68|    |-	GetVictoryConditions: () => ["conquest", "wonder"],
|    |  68|+	"GetVictoryConditions": () => ["conquest", "wonder"],
|  69|  69| 	GetAlliedVictory: function() { return false; }
|  70|  70| });
|  71|  71| 
|    | [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
|  66|  66| 
|  67|  67| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  68|  68| 	GetVictoryConditions: () => ["conquest", "wonder"],
|  69|    |-	GetAlliedVictory: function() { return false; }
|    |  69|+	"GetAlliedVictory": function() { return false; }
|  70|  70| });
|  71|  71| 
|  72|  72| 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
|  70|  70| });
|  71|  71| 
|  72|  72| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  73|    |-	GetNumPlayers: function() { return 2; },
|    |  73|+	"GetNumPlayers": function() { return 2; },
|  74|  74| 	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  75|  75| });
|  76|  76| 
|    | [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
|  71|  71| 
|  72|  72| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  73|  73| 	GetNumPlayers: function() { return 2; },
|  74|    |-	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|    |  74|+	"GetPlayerByID": function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  75|  75| });
|  76|  76| 
|  77|  77| 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
|  75|  75| });
|  76|  76| 
|  77|  77| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  78|    |-	GetLosVisibility: function(ent, player) { return "visible"; },
|    |  78|+	"GetLosVisibility": function(ent, player) { return "visible"; },
|  79|  79| 	GetLosCircular: function() { return false; }
|  80|  80| });
|  81|  81| 
|    | [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
|  76|  76| 
|  77|  77| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  78|  78| 	GetLosVisibility: function(ent, player) { return "visible"; },
|  79|    |-	GetLosCircular: function() { return false; }
|    |  79|+	"GetLosCircular": function() { return false; }
|  80|  80| });
|  81|  81| 
|  82|  82| 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
|  80|  80| });
|  81|  81| 
|  82|  82| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  83|    |-	GetCurrentTemplateName: function(ent) { return "example"; },
|    |  83|+	"GetCurrentTemplateName": function(ent) { return "example"; },
|  84|  84| 	GetTemplate: function(name) { return ""; }
|  85|  85| });
|  86|  86| 
|    | [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
|  81|  81| 
|  82|  82| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  83|  83| 	GetCurrentTemplateName: function(ent) { return "example"; },
|  84|    |-	GetTemplate: function(name) { return ""; }
|    |  84|+	"GetTemplate": function(name) { return ""; }
|  85|  85| });
|  86|  86| 
|  87|  87| 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
|  85|  85| });
|  86|  86| 
|  87|  87| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  88|    |-	GetTime: function() { return 0; },
|    |  88|+	"GetTime": function() { return 0; },
|  89|  89| 	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|  90|  90| });
|  91|  91| 
|    | [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
|  86|  86| 
|  87|  87| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  88|  88| 	GetTime: function() { return 0; },
|  89|    |-	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|    |  89|+	"SetTimeout": function(ent, iid, funcname, time, data) { return 0; }
|  90|  90| });
|  91|  91| 
|  92|  92| 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
|  90|  90| });
|  91|  91| 
|  92|  92| AddMock(100, IID_Player, {
|  93|    |-	GetName: function() { return "Player 1"; },
|    |  93|+	"GetName": function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	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
|  91|  91| 
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|    |-	GetCiv: function() { return "gaia"; },
|    |  94|+	"GetCiv": function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	"GetColor": function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { "r": 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, "g": 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, "b": 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, b: 1, "a": 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1 }; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|    |-	CanControlAllUnits: function() { return false; },
|    |  96|+	"CanControlAllUnits": function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	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
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|    |-	GetPopulationCount: function() { return 10; },
|    |  97|+	"GetPopulationCount": function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	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
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|    |-	GetPopulationLimit: function() { return 20; },
|    |  98|+	"GetPopulationLimit": function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	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
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|    |-	GetMaxPopulation: function() { return 200; },
|    |  99|+	"GetMaxPopulation": function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	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
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 100|+	"GetResourceCounts": function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	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
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 100|+	GetResourceCounts: function() { return { "food": 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	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
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101|    |-	GetPanelEntities: function() { return []; },
|    | 101|+	"GetPanelEntities": function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	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
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102|    |-	IsTrainingBlocked: function() { return false; },
|    | 102|+	"IsTrainingBlocked": function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	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
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103|    |-	GetState: function() { return "active"; },
|    | 103|+	"GetState": function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	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
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104|    |-	GetTeam: function() { return -1; },
|    | 104|+	"GetTeam": function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	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
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105|    |-	GetLockTeams: function() { return false; },
|    | 105|+	"GetLockTeams": function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	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
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106|    |-	GetCheatsEnabled: function() { return false; },
|    | 106|+	"GetCheatsEnabled": function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	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
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 107|+	"GetDiplomacy": function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	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
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108|    |-	IsAlly: function() { return false; },
|    | 108|+	"IsAlly": function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	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
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109|    |-	IsMutualAlly: function() { return false; },
|    | 109|+	"IsMutualAlly": function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	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
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110|    |-	IsNeutral: function() { return false; },
|    | 110|+	"IsNeutral": function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	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
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111|    |-	IsEnemy: function() { return true; },
|    | 111|+	"IsEnemy": function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	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
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112|    |-	GetDisabledTemplates: function() { return {}; },
|    | 112|+	"GetDisabledTemplates": function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	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
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 113|+	"GetDisabledTechnologies": function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116| 116| 	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
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 114|+	"GetSpyCostMultiplier": function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116| 116| 	HasSharedLos: function() { return false; }
| 117| 117| });
|    | [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
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115|    |-	HasSharedDropsites: function() { return false; },
|    | 115|+	"HasSharedDropsites": function() { return false; },
| 116| 116| 	HasSharedLos: function() { return false; }
| 117| 117| });
| 118| 118| 
|    | [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
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116|    |-	HasSharedLos: function() { return false; }
|    | 116|+	"HasSharedLos": function() { return false; }
| 117| 117| });
| 118| 118| 
| 119| 119| 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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	"GetLimits": function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	GetLimits: function() { return { "Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	GetLimits: function() { return {"Foo": 10 }; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	"GetCounts": function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	GetCounts: function() { return { "Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	GetCounts: function() { return {"Foo": 5 }; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	"GetLimitChangers": function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	GetLimitChangers: function() {return { "Foo": {}}; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	GetLimitChangers: function() {return {"Foo": {} }; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 132| 132| });
| 133| 133| 
| 134| 134| AddMock(100, IID_StatisticsTracker, {
| 135|    |-	GetBasicStatistics: function() {
|    | 135|+	"GetBasicStatistics": function() {
| 136| 136| 		return {
| 137| 137| 			"resourcesGathered": {
| 138| 138| 				"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
| 144| 144| 			"percentMapExplored": 10
| 145| 145| 		};
| 146| 146| 	},
| 147|    |-	GetSequences: function() {
|    | 147|+	"GetSequences": function() {
| 148| 148| 		return {
| 149| 149| 			"unitsTrained": [0, 10],
| 150| 150| 			"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
| 169| 169| 			"teamPeakPercentOfMapControlled": [0, 10]
| 170| 170| 		};
| 171| 171| 	},
| 172|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 172|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 173| 173| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 174| 174| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 175| 175| });
|    | [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
| 170| 170| 		};
| 171| 171| 	},
| 172| 172| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 173|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 173|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 174| 174| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 175| 175| });
| 176| 176| 
|    | [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
| 171| 171| 	},
| 172| 172| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 173| 173| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 174|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 174|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 175| 175| });
| 176| 176| 
| 177| 177| 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
| 175| 175| });
| 176| 176| 
| 177| 177| AddMock(101, IID_Player, {
| 178|    |-	GetName: function() { return "Player 2"; },
|    | 178|+	"GetName": function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	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
| 176| 176| 
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179|    |-	GetCiv: function() { return "mace"; },
|    | 179|+	"GetCiv": function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	"GetColor": function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { "r": 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, "g": 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, "b": 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, b: 0, "a": 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1 }; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181|    |-	CanControlAllUnits: function() { return true; },
|    | 181|+	"CanControlAllUnits": function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	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
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182|    |-	GetPopulationCount: function() { return 40; },
|    | 182|+	"GetPopulationCount": function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	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
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183|    |-	GetPopulationLimit: function() { return 30; },
|    | 183|+	"GetPopulationLimit": function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	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
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184|    |-	GetMaxPopulation: function() { return 300; },
|    | 184|+	"GetMaxPopulation": function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	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
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 185|+	"GetResourceCounts": function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	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
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 185|+	GetResourceCounts: function() { return { "food": 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	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
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186|    |-	GetPanelEntities: function() { return []; },
|    | 186|+	"GetPanelEntities": function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	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
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187|    |-	IsTrainingBlocked: function() { return false; },
|    | 187|+	"IsTrainingBlocked": function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	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
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188|    |-	GetState: function() { return "active"; },
|    | 188|+	"GetState": function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	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
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189|    |-	GetTeam: function() { return -1; },
|    | 189|+	"GetTeam": function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	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
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190|    |-	GetLockTeams: function() {return false; },
|    | 190|+	"GetLockTeams": function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	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
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191|    |-	GetCheatsEnabled: function() { return false; },
|    | 191|+	"GetCheatsEnabled": function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	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
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 192|+	"GetDiplomacy": function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	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
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193|    |-	IsAlly: function() { return true; },
|    | 193|+	"IsAlly": function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	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
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194|    |-	IsMutualAlly: function() {return false; },
|    | 194|+	"IsMutualAlly": function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	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
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195|    |-	IsNeutral: function() { return false; },
|    | 195|+	"IsNeutral": function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	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
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196|    |-	IsEnemy: function() { return false; },
|    | 196|+	"IsEnemy": function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	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
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197|    |-	GetDisabledTemplates: function() { return {}; },
|    | 197|+	"GetDisabledTemplates": function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	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
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 198|+	"GetDisabledTechnologies": function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201| 201| 	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
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 199|+	"GetSpyCostMultiplier": function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201| 201| 	HasSharedLos: function() { return false; }
| 202| 202| });
|    | [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
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200|    |-	HasSharedDropsites: function() { return false; },
|    | 200|+	"HasSharedDropsites": function() { return false; },
| 201| 201| 	HasSharedLos: function() { return false; }
| 202| 202| });
| 203| 203| 
|    | [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
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201|    |-	HasSharedLos: function() { return false; }
|    | 201|+	"HasSharedLos": function() { return false; }
| 202| 202| });
| 203| 203| 
| 204| 204| 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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	"GetLimits": function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	GetLimits: function() { return { "Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	GetLimits: function() { return {"Bar": 20 }; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	"GetCounts": function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	GetCounts: function() { return { "Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	GetCounts: function() { return {"Bar": 0 }; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	"GetLimitChangers": function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	GetLimitChangers: function() {return { "Bar": {}}; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	GetLimitChangers: function() {return {"Bar": {} }; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 217| 217| });
| 218| 218| 
| 219| 219| AddMock(101, IID_StatisticsTracker, {
| 220|    |-	GetBasicStatistics: function() {
|    | 220|+	"GetBasicStatistics": function() {
| 221| 221| 		return {
| 222| 222| 			"resourcesGathered": {
| 223| 223| 				"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
| 229| 229| 			"percentMapExplored": 10
| 230| 230| 		};
| 231| 231| 	},
| 232|    |-	GetSequences: function() {
|    | 232|+	"GetSequences": function() {
| 233| 233| 		return {
| 234| 234| 			"unitsTrained": [0, 10],
| 235| 235| 			"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
| 254| 254| 			"teamPeakPercentOfMapControlled": [0, 10]
| 255| 255| 		};
| 256| 256| 	},
| 257|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 257|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 258| 258| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 259| 259| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 260| 260| });
|    | [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
| 255| 255| 		};
| 256| 256| 	},
| 257| 257| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 258|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 258|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 259| 259| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 260| 260| });
| 261| 261| 
|    | [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
| 256| 256| 	},
| 257| 257| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 258| 258| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 259|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 259|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 260| 260| });
| 261| 261| 
| 262| 262| // 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
| 263| 263| //	because uneval preserves property order. So make sure this object
| 264| 264| //	matches the ordering in GuiInterface.
| 265| 265| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 266|    |-	players: [
|    | 266|+	"players": [
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			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
| 265| 265| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 266| 266| 	players: [
| 267| 267| 		{
| 268|    |-			name: "Player 1",
|    | 268|+			"name": "Player 1",
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			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
| 266| 266| 	players: [
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269|    |-			civ: "gaia",
|    | 269|+			"civ": "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			"color": { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { "r":1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r: 1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, "g":1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g: 1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, "b":1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b: 1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b:1, "a":1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b:1, a: 1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271|    |-			controlsAll: false,
|    | 271|+			"controlsAll": false,
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			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
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272|    |-			popCount: 10,
|    | 272|+			"popCount": 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			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
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273|    |-			popLimit: 20,
|    | 273|+			"popLimit": 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			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
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274|    |-			popMax: 200,
|    | 274|+			"popMax": 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			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
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275|    |-			panelEntities: [],
|    | 275|+			"panelEntities": [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			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
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276|    |-			resourceCounts: { food: 100 },
|    | 276|+			"resourceCounts": { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			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
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276|    |-			resourceCounts: { food: 100 },
|    | 276|+			resourceCounts: { "food": 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			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
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277|    |-			trainingBlocked: false,
|    | 277|+			"trainingBlocked": false,
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280| 280| 			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
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278|    |-			state: "active",
|    | 278|+			"state": "active",
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			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
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279|    |-			team: -1,
|    | 279|+			"team": -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			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
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280|    |-			teamsLocked: false,
|    | 280|+			"teamsLocked": false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			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
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281|    |-			cheatsEnabled: false,
|    | 281|+			"cheatsEnabled": false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			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
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282|    |-			disabledTemplates: {},
|    | 282|+			"disabledTemplates": {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			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
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283|    |-			disabledTechnologies: {},
|    | 283|+			"disabledTechnologies": {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			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
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284|    |-			hasSharedDropsites: false,
|    | 284|+			"hasSharedDropsites": false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			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
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285|    |-			hasSharedLos: false,
|    | 285|+			"hasSharedLos": false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288| 288| 			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
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286|    |-			spyCostMultiplier: 1,
|    | 286|+			"spyCostMultiplier": 1,
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			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
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287|    |-			phase: "village",
|    | 287|+			"phase": "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			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
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288|    |-			isAlly: [false, false],
|    | 288|+			"isAlly": [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			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
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289|    |-			isMutualAlly: [false, false],
|    | 289|+			"isMutualAlly": [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			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
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290|    |-			isNeutral: [false, false],
|    | 290|+			"isNeutral": [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			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
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291|    |-			isEnemy: [true, true],
|    | 291|+			"isEnemy": [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			"entityLimits": {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			entityLimits: { "Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			entityLimits: {"Foo": 10 },
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			"entityCounts": {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			entityCounts: { "Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			entityCounts: {"Foo": 5 },
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			"entityLimitChangers": {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			entityLimitChangers: { "Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			entityLimitChangers: {"Foo": {} },
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295|    |-			researchQueued: new Map(),
|    | 295|+			"researchQueued": new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			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
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296|    |-			researchStarted: new Set(),
|    | 296|+			"researchStarted": new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			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
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297|    |-			researchedTechs: new Set(),
|    | 297|+			"researchedTechs": new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			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
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298|    |-			classCounts: {},
|    | 298|+			"classCounts": {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			canBarter: false,
| 301| 301| 			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
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299|    |-			typeCountsByClass: {},
|    | 299|+			"typeCountsByClass": {},
| 300| 300| 			canBarter: false,
| 301| 301| 			barterPrices: {
| 302| 302| 				"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
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300|    |-			canBarter: false,
|    | 300|+			"canBarter": false,
| 301| 301| 			barterPrices: {
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"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
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			canBarter: false,
| 301|    |-			barterPrices: {
|    | 301|+			"barterPrices": {
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
|    | [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
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
| 305|    |-			statistics: {
|    | 305|+			"statistics": {
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308| 308| 					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
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
| 305| 305| 			statistics: {
| 306|    |-				resourcesGathered: {
|    | 306|+				"resourcesGathered": {
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309| 309| 					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
| 304| 304| 			},
| 305| 305| 			statistics: {
| 306| 306| 				resourcesGathered: {
| 307|    |-					food: 100,
|    | 307|+					"food": 100,
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310| 310| 					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
| 305| 305| 			statistics: {
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308|    |-					wood: 0,
|    | 308|+					"wood": 0,
| 309| 309| 					metal: 0,
| 310| 310| 					stone: 0,
| 311| 311| 					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
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309|    |-					metal: 0,
|    | 309|+					"metal": 0,
| 310| 310| 					stone: 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
|    | [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
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310|    |-					stone: 0,
|    | 310|+					"stone": 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
| 313| 313| 				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
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310| 310| 					stone: 0,
| 311|    |-					vegetarianFood: 0
|    | 311|+					"vegetarianFood": 0
| 312| 312| 				},
| 313| 313| 				percentMapExplored: 10
| 314| 314| 			}
|    | [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
| 310| 310| 					stone: 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
| 313|    |-				percentMapExplored: 10
|    | 313|+				"percentMapExplored": 10
| 314| 314| 			}
| 315| 315| 		},
| 316| 316| 		{
|    | [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
| 314| 314| 			}
| 315| 315| 		},
| 316| 316| 		{
| 317|    |-			name: "Player 2",
|    | 317|+			"name": "Player 2",
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			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
| 315| 315| 		},
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318|    |-			civ: "mace",
|    | 318|+			"civ": "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			"color": { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { "r":1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r: 1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, "g":0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g: 0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, "b":0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b: 0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b:0, "a":1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b:0, a: 1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320|    |-			controlsAll: true,
|    | 320|+			"controlsAll": true,
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			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
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321|    |-			popCount: 40,
|    | 321|+			"popCount": 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			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
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322|    |-			popLimit: 30,
|    | 322|+			"popLimit": 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			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
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323|    |-			popMax: 300,
|    | 323|+			"popMax": 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			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
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324|    |-			panelEntities: [],
|    | 324|+			"panelEntities": [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			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
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325|    |-			resourceCounts: { food: 200 },
|    | 325|+			"resourceCounts": { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			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
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325|    |-			resourceCounts: { food: 200 },
|    | 325|+			resourceCounts: { "food": 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			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
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326|    |-			trainingBlocked: false,
|    | 326|+			"trainingBlocked": false,
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329| 329| 			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
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327|    |-			state: "active",
|    | 327|+			"state": "active",
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			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
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328|    |-			team: -1,
|    | 328|+			"team": -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			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
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329|    |-			teamsLocked: false,
|    | 329|+			"teamsLocked": false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			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
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330|    |-			cheatsEnabled: false,
|    | 330|+			"cheatsEnabled": false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			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
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331|    |-			disabledTemplates: {},
|    | 331|+			"disabledTemplates": {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			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
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332|    |-			disabledTechnologies: {},
|    | 332|+			"disabledTechnologies": {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			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
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333|    |-			hasSharedDropsites: false,
|    | 333|+			"hasSharedDropsites": false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			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
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334|    |-			hasSharedLos: false,
|    | 334|+			"hasSharedLos": false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337| 337| 			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
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335|    |-			spyCostMultiplier: 1,
|    | 335|+			"spyCostMultiplier": 1,
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			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
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336|    |-			phase: "village",
|    | 336|+			"phase": "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			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
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337|    |-			isAlly: [true, true],
|    | 337|+			"isAlly": [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			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
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338|    |-			isMutualAlly: [false, false],
|    | 338|+			"isMutualAlly": [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			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
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339|    |-			isNeutral: [false, false],
|    | 339|+			"isNeutral": [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			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
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340|    |-			isEnemy: [false, false],
|    | 340|+			"isEnemy": [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			"entityLimits": {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			entityLimits: { "Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			entityLimits: {"Bar": 20 },
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			"entityCounts": {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			entityCounts: { "Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			entityCounts: {"Bar": 0 },
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			"entityLimitChangers": {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			entityLimitChangers: { "Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			entityLimitChangers: {"Bar": {} },
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344|    |-			researchQueued: new Map(),
|    | 344|+			"researchQueued": new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			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
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345|    |-			researchStarted: new Set(),
|    | 345|+			"researchStarted": new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			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
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346|    |-			researchedTechs: new Set(),
|    | 346|+			"researchedTechs": new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			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
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347|    |-			classCounts: {},
|    | 347|+			"classCounts": {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			canBarter: false,
| 350| 350| 			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
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348|    |-			typeCountsByClass: {},
|    | 348|+			"typeCountsByClass": {},
| 349| 349| 			canBarter: false,
| 350| 350| 			barterPrices: {
| 351| 351| 				"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
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349|    |-			canBarter: false,
|    | 349|+			"canBarter": false,
| 350| 350| 			barterPrices: {
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"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
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			canBarter: false,
| 350|    |-			barterPrices: {
|    | 350|+			"barterPrices": {
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
|    | [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
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
| 354|    |-			statistics: {
|    | 354|+			"statistics": {
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357| 357| 					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
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
| 354| 354| 			statistics: {
| 355|    |-				resourcesGathered: {
|    | 355|+				"resourcesGathered": {
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358| 358| 					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
| 353| 353| 			},
| 354| 354| 			statistics: {
| 355| 355| 				resourcesGathered: {
| 356|    |-					food: 100,
|    | 356|+					"food": 100,
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359| 359| 					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
| 354| 354| 			statistics: {
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357|    |-					wood: 0,
|    | 357|+					"wood": 0,
| 358| 358| 					metal: 0,
| 359| 359| 					stone: 0,
| 360| 360| 					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
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358|    |-					metal: 0,
|    | 358|+					"metal": 0,
| 359| 359| 					stone: 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
|    | [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
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359|    |-					stone: 0,
|    | 359|+					"stone": 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
| 362| 362| 				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
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359| 359| 					stone: 0,
| 360|    |-					vegetarianFood: 0
|    | 360|+					"vegetarianFood": 0
| 361| 361| 				},
| 362| 362| 				percentMapExplored: 10
| 363| 363| 			}
|    | [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
| 359| 359| 					stone: 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
| 362|    |-				percentMapExplored: 10
|    | 362|+				"percentMapExplored": 10
| 363| 363| 			}
| 364| 364| 		}
| 365| 365| 	],
|    | [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
| 363| 363| 			}
| 364| 364| 		}
| 365| 365| 	],
| 366|    |-	circularMap: false,
|    | 366|+	"circularMap": false,
| 367| 367| 	timeElapsed: 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369| 369| 	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
| 364| 364| 		}
| 365| 365| 	],
| 366| 366| 	circularMap: false,
| 367|    |-	timeElapsed: 0,
|    | 367|+	"timeElapsed": 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369| 369| 	alliedVictory: false
| 370| 370| });
|    | [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
| 366| 366| 	circularMap: false,
| 367| 367| 	timeElapsed: 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369|    |-	alliedVictory: false
|    | 369|+	"alliedVictory": false
| 370| 370| });
| 371| 371| 
| 372| 372| 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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r": 1, "g":1, "b":1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g": 1, "b":1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g":1, "b": 1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g":1, "b":1, "a": 1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 396| 396| 			"isMutualAlly": [false, false],
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399|    |-			"entityLimits": {"Foo": 10},
|    | 399|+			"entityLimits": { "Foo": 10},
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"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
| 396| 396| 			"isMutualAlly": [false, false],
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399|    |-			"entityLimits": {"Foo": 10},
|    | 399|+			"entityLimits": {"Foo": 10 },
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"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
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400|    |-			"entityCounts": {"Foo": 5},
|    | 400|+			"entityCounts": { "Foo": 5},
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"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
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400|    |-			"entityCounts": {"Foo": 5},
|    | 400|+			"entityCounts": {"Foo": 5 },
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"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
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401|    |-			"entityLimitChangers": {"Foo": {}},
|    | 401|+			"entityLimitChangers": { "Foo": {}},
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"researchStarted": new Set(),
| 404| 404| 			"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
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401|    |-			"entityLimitChangers": {"Foo": {}},
|    | 401|+			"entityLimitChangers": {"Foo": {} },
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"researchStarted": new Set(),
| 404| 404| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r": 1, "g":0, "b":0, "a":1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r":1, "g": 0, "b":0, "a":1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r":1, "g":0, "b": 0, "a":1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r":1, "g":0, "b":0, "a": 1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 468| 468| 			"isMutualAlly": [false, false],
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471|    |-			"entityLimits": {"Bar": 20},
|    | 471|+			"entityLimits": { "Bar": 20},
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"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
| 468| 468| 			"isMutualAlly": [false, false],
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471|    |-			"entityLimits": {"Bar": 20},
|    | 471|+			"entityLimits": {"Bar": 20 },
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"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
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472|    |-			"entityCounts": {"Bar": 0},
|    | 472|+			"entityCounts": { "Bar": 0},
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"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
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472|    |-			"entityCounts": {"Bar": 0},
|    | 472|+			"entityCounts": {"Bar": 0 },
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"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
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473|    |-			"entityLimitChangers": {"Bar": {}},
|    | 473|+			"entityLimitChangers": { "Bar": {}},
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"researchStarted": new Set(),
| 476| 476| 			"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
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473|    |-			"entityLimitChangers": {"Bar": {}},
|    | 473|+			"entityLimitChangers": {"Bar": {} },
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"researchStarted": new Set(),
| 476| 476| 			"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
| 524| 524| 
| 525| 525| 
| 526| 526| AddMock(10, IID_Builder, {
| 527|    |-	GetEntitiesList: function() {
|    | 527|+	"GetEntitiesList": function() {
| 528| 528| 		return ["test1", "test2"];
| 529| 529| 	},
| 530| 530| });
|    | [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
| 530| 530| });
| 531| 531| 
| 532| 532| AddMock(10, IID_Health, {
| 533|    |-	GetHitpoints: function() { return 50; },
|    | 533|+	"GetHitpoints": function() { return 50; },
| 534| 534| 	GetMaxHitpoints: function() { return 60; },
| 535| 535| 	IsRepairable: function() { return false; },
| 536| 536| 	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
| 531| 531| 
| 532| 532| AddMock(10, IID_Health, {
| 533| 533| 	GetHitpoints: function() { return 50; },
| 534|    |-	GetMaxHitpoints: function() { return 60; },
|    | 534|+	"GetMaxHitpoints": function() { return 60; },
| 535| 535| 	IsRepairable: function() { return false; },
| 536| 536| 	IsUnhealable: function() { return false; }
| 537| 537| });
|    | [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
| 532| 532| AddMock(10, IID_Health, {
| 533| 533| 	GetHitpoints: function() { return 50; },
| 534| 534| 	GetMaxHitpoints: function() { return 60; },
| 535|    |-	IsRepairable: function() { return false; },
|    | 535|+	"IsRepairable": function() { return false; },
| 536| 536| 	IsUnhealable: function() { return false; }
| 537| 537| });
| 538| 538| 
|    | [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
| 533| 533| 	GetHitpoints: function() { return 50; },
| 534| 534| 	GetMaxHitpoints: function() { return 60; },
| 535| 535| 	IsRepairable: function() { return false; },
| 536|    |-	IsUnhealable: function() { return false; }
|    | 536|+	"IsUnhealable": function() { return false; }
| 537| 537| });
| 538| 538| 
| 539| 539| 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
| 537| 537| });
| 538| 538| 
| 539| 539| AddMock(10, IID_Identity, {
| 540|    |-	GetClassesList: function() { return ["class1", "class2"]; },
|    | 540|+	"GetClassesList": function() { return ["class1", "class2"]; },
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	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
| 538| 538| 
| 539| 539| AddMock(10, IID_Identity, {
| 540| 540| 	GetClassesList: function() { return ["class1", "class2"]; },
| 541|    |-	GetVisibleClassesList: function() { return ["class3", "class4"]; },
|    | 541|+	"GetVisibleClassesList": function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544| 544| 	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
| 539| 539| AddMock(10, IID_Identity, {
| 540| 540| 	GetClassesList: function() { return ["class1", "class2"]; },
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542|    |-	GetRank: function() { return "foo"; },
|    | 542|+	"GetRank": function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544| 544| 	HasClass: function() { return true; },
| 545| 545| 	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
| 540| 540| 	GetClassesList: function() { return ["class1", "class2"]; },
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543|    |-	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | 543|+	"GetSelectionGroupName": function() { return "Selection Group Name"; },
| 544| 544| 	HasClass: function() { return true; },
| 545| 545| 	IsUndeletable: function() { return false; }
| 546| 546| });
|    | [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
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544|    |-	HasClass: function() { return true; },
|    | 544|+	"HasClass": function() { return true; },
| 545| 545| 	IsUndeletable: function() { return false; }
| 546| 546| });
| 547| 547| 
|    | [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
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544| 544| 	HasClass: function() { return true; },
| 545|    |-	IsUndeletable: function() { return false; }
|    | 545|+	"IsUndeletable": function() { return false; }
| 546| 546| });
| 547| 547| 
| 548| 548| 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
| 546| 546| });
| 547| 547| 
| 548| 548| AddMock(10, IID_Position, {
| 549|    |-	GetTurretParent: function() {return INVALID_ENTITY;},
|    | 549|+	"GetTurretParent": function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551| 551| 		return {x:1, y:2, z:3};
| 552| 552| 	},
|    | [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
| 547| 547| 
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550|    |-	GetPosition: function() {
|    | 550|+	"GetPosition": function() {
| 551| 551| 		return {x:1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return { x:1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {"x":1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x: 1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, "y":2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y: 2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y:2, "z":3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y:2, z: 3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y:2, z:3 };
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 550| 550| 	GetPosition: function() {
| 551| 551| 		return {x:1, y:2, z:3};
| 552| 552| 	},
| 553|    |-	IsInWorld: function() {
|    | 553|+	"IsInWorld": function() {
| 554| 554| 		return true;
| 555| 555| 	}
| 556| 556| });
|    | [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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": { x:1, y:2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {"x":1, y:2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x: 1, y:2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, "y":2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y: 2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y:2, "z":3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y:2, z: 3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y:2, z:3 },
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 582| 582| 	"builder": true,
| 583| 583| 	"canGarrison": false,
| 584| 584| 	"visibility": "visible",
| 585|    |-	"isBarterMarket":true,
|    | 585|+	"isBarterMarket": true,
| 586| 586| 	"resourceTrickle": {
| 587| 587| 		"interval": 1250,
| 588| 588| 		"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
| 796| 796| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 797| 797| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 798| 798| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 799|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 799|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 800| 800| 	}
| 801| 801| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 802| 802| 	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
|1629|1629| 			{
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|    |-						"x": pos.x,
|    |1632|+					"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"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
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|    |-						"z": pos.z,
|    |1633|+					"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|    | [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
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|    |-						"angle": cmpPosition.GetRotation().y,
|    |1634|+					"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|    | [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
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|    |-						"ent": ent
|    |1635|+					"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|1638|1638| 		}
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|   1|    |-//Number of rounds of firing per 2 seconds
|    |   1|+// Number of rounds of firing per 2 seconds
|   2|   2| const roundCount = 10;
|   3|   3| const attackType = "Ranged";
|   4|   4| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 130| 130| 
| 131| 131| 	var range = cmpAttack.GetRange(attackType);
| 132| 132| 	this.enemyUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 133|    |-			this.entity, range.min, range.max, range.elevationBonus,
|    | 133|+		this.entity, range.min, range.max, range.elevationBonus,
| 134| 134| 			enemies, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal"));
| 135| 135| 
| 136| 136| 	cmpRangeManager.EnableActiveQuery(this.enemyUnitsQuery);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 131| 131| 	var range = cmpAttack.GetRange(attackType);
| 132| 132| 	this.enemyUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 133| 133| 			this.entity, range.min, range.max, range.elevationBonus,
| 134|    |-			enemies, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal"));
|    | 134|+		enemies, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal"));
| 135| 135| 
| 136| 136| 	cmpRangeManager.EnableActiveQuery(this.enemyUnitsQuery);
| 137| 137| };
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 159| 159| 
| 160| 160| 	// This query is only interested in Gaia entities that can attack.
| 161| 161| 	this.gaiaUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 162|    |-			this.entity, range.min, range.max, range.elevationBonus,
|    | 162|+		this.entity, range.min, range.max, range.elevationBonus,
| 163| 163| 			[0], IID_Attack, cmpRangeManager.GetEntityFlagMask("normal"));
| 164| 164| 
| 165| 165| 	cmpRangeManager.EnableActiveQuery(this.gaiaUnitsQuery);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 160| 160| 	// This query is only interested in Gaia entities that can attack.
| 161| 161| 	this.gaiaUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 162| 162| 			this.entity, range.min, range.max, range.elevationBonus,
| 163|    |-			[0], IID_Attack, cmpRangeManager.GetEntityFlagMask("normal"));
|    | 163|+		[0], IID_Attack, cmpRangeManager.GetEntityFlagMask("normal"));
| 164| 164| 
| 165| 165| 	cmpRangeManager.EnableActiveQuery(this.gaiaUnitsQuery);
| 166| 166| };
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|  18|  18| 	this.cp = [];
|  19|  19| };
|  20|  20| 
|  21|    |-//// Interface functions ////
|    |  21|+// // Interface functions ////
|  22|  22| 
|  23|  23| /**
|  24|  24|  * Returns the current capture points array
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 145| 145| 	return sourceEnemyCp > 0;
| 146| 146| };
| 147| 147| 
| 148|    |-//// Private functions ////
|    | 148|+// // Private functions ////
| 149| 149| 
| 150| 150| /**
| 151| 151|  * This has to be called whenever the capture points are changed.
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 260| 260| 	Engine.PostMessage(this.entity, MT_CaptureRegenStateChanged, { "regenerating": true, "regenRate": regenRate, "territoryDecay": decay });
| 261| 261| };
| 262| 262| 
| 263|    |-//// Message Listeners ////
|    | 263|+// // Message Listeners ////
| 264| 264| 
| 265| 265| Capturable.prototype.OnValueModification = function(msg)
| 266| 266| {

binaries/data/mods/public/simulation/components/Capturable.js
| 192| »   »   var·garrisonRegenRate·=·0;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' is already defined.

binaries/data/mods/public/simulation/components/Capturable.js
| 194| »   return·regenRate·+·garrisonRegenRate;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' used out of scope.

binaries/data/mods/public/maps/random/survivalofthefittest_triggers.js
| 275| »   for·(let·point·of·triggerPoints)
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'point' is already declared in the upper scope.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 389| 389| function getRepairTimeTooltip(entState)
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392|    |-			"label": headerFont(translate("Number of repairers:")),
|    | 392|+		"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393|    |-			"details": entState.repairable.numBuilders
|    | 393|+		"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394|    |-		}) + "\n" + (entState.repairable.numBuilders ?
|    | 394|+	}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
| 397| 397| 			"Add another worker to speed up the repairs by %(second)s seconds.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 411| 411| function getBuildTimeTooltip(entState)
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414|    |-			"label": headerFont(translate("Number of builders:")),
|    | 414|+		"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415|    |-			"details": entState.foundation.numBuilders
|    | 415|+		"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416|    |-		}) + "\n" + (entState.foundation.numBuilders ?
|    | 416|+	}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
| 419| 419| 			"Add another worker to speed up the construction by %(second)s seconds.",
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
| 762| 762| 					this.FinishOrder();
| 763| 763| 					return;
| 764| 764| 				}
| 765|    |-				else
| 766|    |-				{
|    | 765|+				
| 767| 766| 					this.SetNextState("GARRISON.APPROACHING");
| 768| 767| 					return;
| 769|    |-				}
|    | 768|+				
| 770| 769| 			}
| 771| 770| 
| 772| 771| 			this.SetNextState("GARRISON.GARRISONING");
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'GARRISON'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|1030|1030| 			},
|1031|1031| 		},
|1032|1032| 
|1033|    |-		"GARRISON":{
|    |1033|+		"GARRISON": {
|1034|1034| 			"enter": function() {
|1035|1035| 				// If the garrisonholder should pickup, warn it so it can take needed action
|1036|1036| 				var cmpGarrisonHolder = Engine.QueryInterface(this.order.data.target, IID_GarrisonHolder);
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|1979|1979| 
|1980|1980| 				"Attacked": function(msg) {
|1981|1981| 					// If we are capturing and are attacked by something that we would not capture, attack that entity instead
|1982|    |-					if (this.order.data.attackType == "Capture" && (this.GetStance().targetAttackersAlways || !this.order.data.force)
|1983|    |-						&& this.order.data.target != msg.data.attacker && this.GetBestAttackAgainst(msg.data.attacker, true) != "Capture")
|    |1982|+					if (this.order.data.attackType == "Capture" && (this.GetStance().targetAttackersAlways || !this.order.data.force) &&
|    |1983|+						this.order.data.target != msg.data.attacker && this.GetBestAttackAgainst(msg.data.attacker, true) != "Capture")
|1984|1984| 						this.RespondToTargetedEntities([msg.data.attacker]);
|1985|1985| 				},
|1986|1986| 			},
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|2674|2674| 					{
|2675|2675| 						// The building was already finished/fully repaired before we arrived;
|2676|2676| 						// let the ConstructionFinished handler handle this.
|2677|    |-						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget});
|    |2677|+						this.OnGlobalConstructionFinished({ "entity": this.repairTarget, "newentity": this.repairTarget});
|2678|2678| 						return true;
|2679|2679| 					}
|2680|2680| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|2674|2674| 					{
|2675|2675| 						// The building was already finished/fully repaired before we arrived;
|2676|2676| 						// let the ConstructionFinished handler handle this.
|2677|    |-						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget});
|    |2677|+						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget });
|2678|2678| 						return true;
|2679|2679| 					}
|2680|2680| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3187|3187| 		"COMBAT": "INDIVIDUAL.COMBAT", // reuse the same combat behaviour for animals
|3188|3188| 
|3189|3189| 		"WALKING": "INDIVIDUAL.WALKING",	// reuse the same walking behaviour for animals
|3190|    |-							// only used for domestic animals
|    |3190|+		// only used for domestic animals
|3191|3191| 	},
|3192|3192| };
|3193|3193| 
|    | [NORMAL] ESLintBear (no-unneeded-ternary):
|    | Unnecessary use of boolean literals in conditional expression.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3244|3244| 
|3245|3245| UnitAI.prototype.IsAnimal = function()
|3246|3246| {
|3247|    |-	return (this.template.NaturalBehaviour ? true : false);
|    |3247|+	return (!!this.template.NaturalBehaviour);
|3248|3248| };
|3249|3249| 
|3250|3250| UnitAI.prototype.IsDangerousAnimal = function()
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3360|3360| 		{
|3361|3361| 			let index = this.GetCurrentState().indexOf(".");
|3362|3362| 			if (index != -1)
|3363|    |-				this.UnitFsm.SwitchToNextState(this, this.GetCurrentState().slice(0,index));
|    |3363|+				this.UnitFsm.SwitchToNextState(this, this.GetCurrentState().slice(0, index));
|3364|3364| 			this.Stop(false);
|3365|3365| 		}
|3366|3366| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3416|3416| 		if (this.orderQueue[i].type != "PickupUnit" || this.orderQueue[i].data.target != msg.entity)
|3417|3417| 			continue;
|3418|3418| 		if (i == 0)
|3419|    |-			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg});
|    |3419|+			this.UnitFsm.ProcessMessage(this, { "type": "PickupCanceled", "data": msg});
|3420|3420| 		else
|3421|3421| 			this.orderQueue.splice(i, 1);
|3422|3422| 		Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3416|3416| 		if (this.orderQueue[i].type != "PickupUnit" || this.orderQueue[i].data.target != msg.entity)
|3417|3417| 			continue;
|3418|3418| 		if (i == 0)
|3419|    |-			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg});
|    |3419|+			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg });
|3420|3420| 		else
|3421|3421| 			this.orderQueue.splice(i, 1);
|3422|3422| 		Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3500|3500| };
|3501|3501| 
|3502|3502| 
|3503|    |-//// FSM linkage functions ////
|    |3503|+// // FSM linkage functions ////
|3504|3504| 
|3505|3505| // Setting the next state to the current state will leave/re-enter the top-most substate.
|3506|3506| UnitAI.prototype.SetNextState = function(state)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3670|3670| 				continue;
|3671|3671| 			if (this.orderQueue[i].type == type)
|3672|3672| 				continue;
|3673|    |-			this.orderQueue.splice(i, 0, {"type": type, "data": data});
|    |3673|+			this.orderQueue.splice(i, 0, { "type": type, "data": data});
|3674|3674| 			Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|3675|3675| 			return;
|3676|3676| 		}
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3670|3670| 				continue;
|3671|3671| 			if (this.orderQueue[i].type == type)
|3672|3672| 				continue;
|3673|    |-			this.orderQueue.splice(i, 0, {"type": type, "data": data});
|    |3673|+			this.orderQueue.splice(i, 0, {"type": type, "data": data });
|3674|3674| 			Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|3675|3675| 			return;
|3676|3676| 		}
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3841|3841| 	if (data.timerRepeat === undefined)
|3842|3842| 		this.timer = undefined;
|3843|3843| 
|3844|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness});
|    |3844|+	this.UnitFsm.ProcessMessage(this, { "type": "Timer", "data": data, "lateness": lateness});
|3845|3845| };
|3846|3846| 
|3847|3847| /**
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3841|3841| 	if (data.timerRepeat === undefined)
|3842|3842| 		this.timer = undefined;
|3843|3843| 
|3844|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness});
|    |3844|+	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness });
|3845|3845| };
|3846|3846| 
|3847|3847| /**
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3886|3886| 	// TODO: This is a bit inefficient since every unit listens to every
|3887|3887| 	// construction message - ideally we could scope it to only the one we're building
|3888|3888| 
|3889|    |-	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg});
|    |3889|+	this.UnitFsm.ProcessMessage(this, { "type": "ConstructionFinished", "data": msg});
|3890|3890| };
|3891|3891| 
|3892|3892| UnitAI.prototype.OnGlobalEntityRenamed = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3886|3886| 	// TODO: This is a bit inefficient since every unit listens to every
|3887|3887| 	// construction message - ideally we could scope it to only the one we're building
|3888|3888| 
|3889|    |-	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg});
|    |3889|+	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg });
|3890|3890| };
|3891|3891| 
|3892|3892| UnitAI.prototype.OnGlobalEntityRenamed = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3911|3911| 
|3912|3912| UnitAI.prototype.OnAttacked = function(msg)
|3913|3913| {
|3914|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg});
|    |3914|+	this.UnitFsm.ProcessMessage(this, { "type": "Attacked", "data": msg});
|3915|3915| };
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3911|3911| 
|3912|3912| UnitAI.prototype.OnAttacked = function(msg)
|3913|3913| {
|3914|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg});
|    |3914|+	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg });
|3915|3915| };
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|3918|3918| {
|3919|    |-	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data});
|    |3919|+	this.UnitFsm.ProcessMessage(this, { "type": "GuardedAttacked", "data": msg.data});
|3920|3920| };
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|3918|3918| {
|3919|    |-	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data});
|    |3919|+	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data });
|3920|3920| };
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|3923|3923| {
|3924|    |-	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to});
|    |3924|+	this.UnitFsm.ProcessMessage(this, { "type": "HealthChanged", "from": msg.from, "to": msg.to});
|3925|3925| };
|3926|3926| 
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|3923|3923| {
|3924|    |-	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to});
|    |3924|+	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to });
|3925|3925| };
|3926|3926| 
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|3928|3928| {
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|    |3930|+		this.UnitFsm.ProcessMessage(this, { "type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|3932| 		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|3928|3928| {
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|    |3930|+		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg });
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|3932| 		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|3930| 		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|    |3932|+		this.UnitFsm.ProcessMessage(this, { "type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|3930| 		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|    |3932|+		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg });
|3933|3933| };
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|3936|3936| {
|3937|    |-	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|    |3937|+	this.UnitFsm.ProcessMessage(this, { "type": "PackFinished", "packed": msg.packed});
|3938|3938| };
|3939|3939| 
|3940|3940| //// Helper functions to be called by the FSM ////
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|3936|3936| {
|3937|    |-	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|    |3937|+	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed });
|3938|3938| };
|3939|3939| 
|3940|3940| //// Helper functions to be called by the FSM ////
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3937|3937| 	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|3938|3938| };
|3939|3939| 
|3940|    |-//// Helper functions to be called by the FSM ////
|    |3940|+// // Helper functions to be called by the FSM ////
|3941|3941| 
|3942|3942| UnitAI.prototype.GetWalkSpeed = function()
|3943|3943| {
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4590|4590| UnitAI.prototype.AttackEntityInZone = function(ents)
|4591|4591| {
|4592|4592| 	var target = ents.find(target =>
|4593|    |-		this.CanAttack(target)
|4594|    |-		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|    |4593|+		this.CanAttack(target) &&
|    |4594|+		this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|4595|4595| 		&& (this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|4596|4596| 	);
|4597|4597| 	if (!target)
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4591|4591| {
|4592|4592| 	var target = ents.find(target =>
|4593|4593| 		this.CanAttack(target)
|4594|    |-		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|4595|    |-		&& (this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|    |4594|+		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true)) &&
|    |4595|+		(this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|4596|4596| 	);
|4597|4597| 	if (!target)
|4598|4598| 		return false;
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before 'Engine'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4655|4655| 	// If we are guarding/escorting, don't abandon as long as the guarded unit is in target range of the attacker
|4656|4656| 	if (this.isGuardOf)
|4657|4657| 	{
|4658|    |-		var cmpUnitAI =  Engine.QueryInterface(target, IID_UnitAI);
|    |4658|+		var cmpUnitAI = Engine.QueryInterface(target, IID_UnitAI);
|4659|4659| 		var cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4660|4660| 		if (cmpUnitAI && cmpAttack &&
|4661|4661| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4659|4659| 		var cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4660|4660| 		if (cmpUnitAI && cmpAttack &&
|4661|4661| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|4662|    |-				return false;
|    |4662|+			return false;
|4663|4663| 	}
|4664|4664| 
|4665|4665| 	// Stop if we're in hold-ground mode and it's too far from the holding point
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before 'Engine'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4697|4697| 	// If we are guarding/escorting, chase at least as long as the guarded unit is in target range of the attacker
|4698|4698| 	if (this.isGuardOf)
|4699|4699| 	{
|4700|    |-		let cmpUnitAI =  Engine.QueryInterface(target, IID_UnitAI);
|    |4700|+		let cmpUnitAI = Engine.QueryInterface(target, IID_UnitAI);
|4701|4701| 		let cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4702|4702| 		if (cmpUnitAI && cmpAttack &&
|4703|4703| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4710|4710| 	return false;
|4711|4711| };
|4712|4712| 
|4713|    |-//// External interface functions ////
|    |4713|+// // External interface functions ////
|4714|4714| 
|4715|4715| UnitAI.prototype.SetFormationController = function(ent)
|4716|4716| {
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4866|4866| 	{
|4867|4867| 		if (this.isGuardOf == target && this.order && this.order.type == "Guard")
|4868|4868| 			return;
|4869|    |-		else
|4870|    |-			this.RemoveGuard();
|    |4869|+		this.RemoveGuard();
|4871|4870| 	}
|4872|4871| 
|4873|4872| 	this.AddOrder("Guard", { "target": target, "force": false }, queued);
|    | [NORMAL] ESLintBear (no-trailing-spaces):
|    | Trailing spaces not allowed.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5198|5198| 	    this.workOrders.length && this.workOrders[0].type == "Trade")
|5199|5199| 	{
|5200|5200| 		let cmpTrader = Engine.QueryInterface(this.entity, IID_Trader);
|5201|    |-		if (cmpTrader.HasBothMarkets() && 
|    |5201|+		if (cmpTrader.HasBothMarkets() &&
|5202|5202| 		   (cmpTrader.GetFirstMarket() == target && cmpTrader.GetSecondMarket() == source ||
|5203|5203| 		    cmpTrader.GetFirstMarket() == source && cmpTrader.GetSecondMarket() == target))
|5204|5204| 		{
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5479|5479| 				{
|5480|5480| 					var cmpIdentity = Engine.QueryInterface(targ, IID_Identity);
|5481|5481| 					var targetClasses = this.order.data.targetClasses;
|5482|    |-					if (targetClasses.attack && cmpIdentity
|5483|    |-						&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|    |5482|+					if (targetClasses.attack && cmpIdentity &&
|    |5483|+						!MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5484|5484| 						continue;
|5485|5485| 					if (targetClasses.avoid && cmpIdentity
|5486|5486| 						&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5482|5482| 					if (targetClasses.attack && cmpIdentity
|5483|5483| 						&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5484|5484| 						continue;
|5485|    |-					if (targetClasses.avoid && cmpIdentity
|5486|    |-						&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    |5485|+					if (targetClasses.avoid && cmpIdentity &&
|    |5486|+						MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|5487|5487| 						continue;
|5488|5488| 					// Only used by the AIs to prevent some choices of targets
|5489|5489| 					if (targetClasses.vetoEntities && targetClasses.vetoEntities[targ])
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5505|5505| 		{
|5506|5506| 			var cmpIdentity = Engine.QueryInterface(targ, IID_Identity);
|5507|5507| 			var targetClasses = this.order.data.targetClasses;
|5508|    |-			if (cmpIdentity && targetClasses.attack
|5509|    |-				&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|    |5508|+			if (cmpIdentity && targetClasses.attack &&
|    |5509|+				!MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5510|5510| 				continue;
|5511|5511| 			if (cmpIdentity && targetClasses.avoid
|5512|5512| 				&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5508|5508| 			if (cmpIdentity && targetClasses.attack
|5509|5509| 				&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5510|5510| 				continue;
|5511|    |-			if (cmpIdentity && targetClasses.avoid
|5512|    |-				&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    |5511|+			if (cmpIdentity && targetClasses.avoid &&
|    |5512|+				MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|5513|5513| 				continue;
|5514|5514| 			// Only used by the AIs to prevent some choices of targets
|5515|5515| 			if (targetClasses.vetoEntities && targetClasses.vetoEntities[targ])
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5665|5665| 
|5666|5666| UnitAI.prototype.SetHeldPosition = function(x, z)
|5667|5667| {
|5668|    |-	this.heldPosition = {"x": x, "z": z};
|    |5668|+	this.heldPosition = { "x": x, "z": z};
|5669|5669| };
|5670|5670| 
|5671|5671| UnitAI.prototype.SetHeldPositionOnEntity = function(entity)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5665|5665| 
|5666|5666| UnitAI.prototype.SetHeldPosition = function(x, z)
|5667|5667| {
|5668|    |-	this.heldPosition = {"x": x, "z": z};
|    |5668|+	this.heldPosition = {"x": x, "z": z };
|5669|5669| };
|5670|5670| 
|5671|5671| UnitAI.prototype.SetHeldPositionOnEntity = function(entity)
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5692|5692| 	return false;
|5693|5693| };
|5694|5694| 
|5695|    |-//// Helper functions ////
|    |5695|+// // Helper functions ////
|5696|5696| 
|5697|5697| UnitAI.prototype.CanAttack = function(target)
|5698|5698| {
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5896|5896| 	return cmpPack && cmpPack.IsPacking();
|5897|5897| };
|5898|5898| 
|5899|    |-//// Formation specific functions ////
|    |5899|+// // Formation specific functions ////
|5900|5900| 
|5901|5901| UnitAI.prototype.IsAttackingAsFormation = function()
|5902|5902| {
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5901|5901| UnitAI.prototype.IsAttackingAsFormation = function()
|5902|5902| {
|5903|5903| 	var cmpAttack = Engine.QueryInterface(this.entity, IID_Attack);
|5904|    |-	return cmpAttack && cmpAttack.CanAttackAsFormation()
|5905|    |-		&& this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|    |5904|+	return cmpAttack && cmpAttack.CanAttackAsFormation() &&
|    |5905|+		this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|5906|5906| };
|5907|5907| 
|5908|5908| //// Animal specific functions ////
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5905|5905| 		&& this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|5906|5906| };
|5907|5907| 
|5908|    |-//// Animal specific functions ////
|    |5908|+// // Animal specific functions ////
|5909|5909| 
|5910|5910| UnitAI.prototype.MoveRandomly = function(distance)
|5911|5911| {

binaries/data/mods/public/simulation/components/UnitAI.js
| 331| »   »   »   return·true;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'Order.WalkToTarget' expected no return value.

binaries/data/mods/public/simulation/components/UnitAI.js
| 917| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
| 942| »   »   »   "enter":·function(msg)·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
| 992| »   »   »   »   »   return·true;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'enter' expected no return value.

binaries/data/mods/public/simulation/components/UnitAI.js
|1055| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1091| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1123| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1283| »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1340| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1515| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1537| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1569| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1723| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1773| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1851| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2028| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2131| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2386| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2419| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2525| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2591| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2630| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2841| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|3022| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|3746| »   var·isWorkType·=·type·=>·type·==·"Gather"·||·type·==·"Trade"·||·type·==·"Repair"·||·type·==·"ReturnResource";
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'type' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4577| »   var·target·=·ents.find(target·=>·this.CanAttack(target));
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'target' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4592| »   var·target·=·ents.find(target·=>
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'target' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4638| »   var·ent·=·ents.find(ent·=>·this.CanHeal(ent));
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'ent' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4661| »   »   ····cmpAttack.GetAttackTypes().some(type·=>·cmpUnitAI.CheckTargetAttackRange(this.isGuardOf,·type)))
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'type' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|1983| »   »   »   »   »   »   &&·this.order.data.target·!=·msg.data.attacker·&&·this.GetBestAttackAgainst(msg.data.attacker,·true)·!=·"Capture")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|3708| »   »   var·order·=·{·"type":·type,·"data":·data·};
|    | [NORMAL] JSHintBear:
|    | 'order' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|3777| »   for·(var·i·=·0;·i·<·this.orderQueue.length;·++i)
|    | [NORMAL] JSHintBear:
|    | 'i' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|4594| »   »   &&·this.CheckTargetDistanceFromHeldPosition(target,·IID_Attack,·this.GetBestAttackAgainst(target,·true))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|4595| »   »   &&·(this.GetStance().respondChaseBeyondVision·||·this.CheckTargetIsInVisionRange(target))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5483| »   »   »   »   »   »   &&·!MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.attack))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5486| »   »   »   »   »   »   &&·MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.avoid))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5499| »   var·targets·=·this.GetTargetsFromUnit();
|    | [NORMAL] JSHintBear:
|    | 'targets' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5500| »   for·(var·targ·of·targets)
|    | [NORMAL] JSHintBear:
|    | 'targ' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5506| »   »   »   var·cmpIdentity·=·Engine.QueryInterface(targ,·IID_Identity);
|    | [NORMAL] JSHintBear:
|    | 'cmpIdentity' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5507| »   »   »   var·targetClasses·=·this.order.data.targetClasses;
|    | [NORMAL] JSHintBear:
|    | 'targetClasses' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5509| »   »   »   »   &&·!MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.attack))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5512| »   »   »   »   &&·MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.avoid))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5587| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5590| »   »   var·range·=·cmpVision.GetRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5595| »   »   var·cmpRanged·=·Engine.QueryInterface(this.entity,·iid);
|    | [NORMAL] JSHintBear:
|    | 'cmpRanged' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5598| »   »   var·range·=·iid·!==·IID_Attack·?·cmpRanged.GetRange()·:·cmpRanged.GetFullAttackRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5599| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5609| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5612| »   »   var·range·=·cmpVision.GetRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5905| »   »   &&·this.GetCurrentState()·==·"FORMATIONCONTROLLER.COMBAT.ATTACKING";
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.
Executing section cli...

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

Stan added a subscriber: Stan.Aug 19 2019, 9:48 AM
Stan added inline comments.
binaries/data/mods/public/globalscripts/AttackEffects.js
1 ↗(On Diff #9392)

Why not now ?

binaries/data/mods/public/gui/common/tooltips.js
273 ↗(On Diff #9392)

Seems a bit redundant but I guess this is not better

template.attack[type].Capture :

Any reason you chose capture over value and damage ?

binaries/data/mods/public/maps/scripts/CaptureTheRelic.js
23 ↗(On Diff #9392)

Shouldn't you check for that not being null ?

binaries/data/mods/public/simulation/components/Attack.js
344 ↗(On Diff #9392)

I believe we use 'template' everywhere else.

binaries/data/mods/public/simulation/components/DelayedDamage.js
35 ↗(On Diff #9392)

Do we need to check for a system entity ? I guess the sound can be null ?

binaries/data/mods/public/simulation/components/Health.js
190 ↗(On Diff #9392)

check for it ?

243 ↗(On Diff #9392)

hpChange ?

binaries/data/mods/public/simulation/components/UnitAI.js
2961 ↗(On Diff #9392)

Missing check ? I guess you can't use let here.

2971 ↗(On Diff #9392)

Missing check ?

binaries/data/mods/public/simulation/components/tests/test_Attack.js
161 ↗(On Diff #9392)

null or undefined ?

binaries/data/mods/public/simulation/helpers/Attacking.js
80 ↗(On Diff #9392)

Missing / ?

85 ↗(On Diff #9392)

I guess that explains the null, but why not let it undefined ?

110 ↗(On Diff #9392)

What's missing for proper handling ?

141 ↗(On Diff #9392)

extra line ?

155 ↗(On Diff #9392)

wouldn't hurt to print the shape :)

wraitii updated this revision to Diff 9442.Aug 22 2019, 7:08 PM

Allow calling an arbitrary method per damage type. This means we can give and remove status effects neatly, or have attacks that actually heal, or anything really.

This refs rP22304 by changing nomenclature, now to give status effects you add a <GiveStatus> node. Vocabulary was changed to reflect that.

I think this is about as good as it'll get, and we still need tooltip support, so I'll commit this shortly.

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

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|  18|  18| 	this.cp = [];
|  19|  19| };
|  20|  20| 
|  21|    |-//// Interface functions ////
|    |  21|+// // Interface functions ////
|  22|  22| 
|  23|  23| /**
|  24|  24|  * Returns the current capture points array
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 145| 145| 	return sourceEnemyCp > 0;
| 146| 146| };
| 147| 147| 
| 148|    |-//// Private functions ////
|    | 148|+// // Private functions ////
| 149| 149| 
| 150| 150| /**
| 151| 151|  * This has to be called whenever the capture points are changed.
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 260| 260| 	Engine.PostMessage(this.entity, MT_CaptureRegenStateChanged, { "regenerating": true, "regenRate": regenRate, "territoryDecay": decay });
| 261| 261| };
| 262| 262| 
| 263|    |-//// Message Listeners ////
|    | 263|+// // Message Listeners ////
| 264| 264| 
| 265| 265| Capturable.prototype.OnValueModification = function(msg)
| 266| 266| {

binaries/data/mods/public/simulation/components/Capturable.js
| 192| »   »   var·garrisonRegenRate·=·0;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' is already defined.

binaries/data/mods/public/simulation/components/Capturable.js
| 194| »   return·regenRate·+·garrisonRegenRate;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' used out of scope.
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '||' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|  87|  87| 		// If the elements are still strings, split them by space or by '+'
|  88|  88| 		if (typeof sublist == "string")
|  89|  89| 			sublist = sublist.split(/[+\s]+/);
|  90|    |-		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1)
|  91|    |-		                    || (c[0] != "!" && classes.indexOf(c) != -1)))
|    |  90|+		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1) ||
|    |  91|+		                    (c[0] != "!" && classes.indexOf(c) != -1)))
|  92|  92| 			return true;
|  93|  93| 	}
|  94|  94| 

binaries/data/mods/public/globalscripts/Templates.js
|  91| »   »   ····················||·(c[0]·!=·"!"·&&·classes.indexOf(c)·!=·-1)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetInterval' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  35|  35| 
|  36|  36| 
|  37|  37| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
|  38|    |-		SetInterval: function() { },
|    |  38|+		"SetInterval": function() { },
|  39|  39| 		SetTimeout: function() { },
|  40|  40| 	});
|  41|  41| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  36|  36| 
|  37|  37| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
|  38|  38| 		SetInterval: function() { },
|  39|    |-		SetTimeout: function() { },
|    |  39|+		"SetTimeout": function() { },
|  40|  40| 	});
|  41|  41| 
|  42|  42| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CreateActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  40|  40| 	});
|  41|  41| 
|  42|  42| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  43|    |-		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|    |  43|+		"CreateActiveQuery": function(ent, minRange, maxRange, players, iid, flags) {
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'EnableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  43|  43| 		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|    |-		EnableActiveQuery: function(id) { },
|    |  46|+		"EnableActiveQuery": function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'ResetActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|    |-		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|    |  47|+		"ResetActiveQuery": function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|    |-		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|    |  47|+		ResetActiveQuery: function(id) { if (mode == 0) return []; return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'DisableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|    |-		DisableActiveQuery: function(id) { },
|    |  48|+		"DisableActiveQuery": function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|  51|  51| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntityFlagMask' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|    |-		GetEntityFlagMask: function(identifier) { },
|    |  49|+		"GetEntityFlagMask": function(identifier) { },
|  50|  50| 	});
|  51|  51| 
|  52|  52| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  50|  50| 	});
|  51|  51| 
|  52|  52| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  53|    |-		GetCurrentTemplateName: function(ent) { return "special/formations/line_closed"; },
|    |  53|+		"GetCurrentTemplateName": function(ent) { return "special/formations/line_closed"; },
|  54|  54| 	});
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  54|  54| 	});
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  57|    |-		GetPlayerByID: function(id) { return playerEntity; },
|    |  57|+		"GetPlayerByID": function(id) { return playerEntity; },
|  58|  58| 		GetNumPlayers: function() { return 2; },
|  59|  59| 	});
|  60|  60| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  57|  57| 		GetPlayerByID: function(id) { return playerEntity; },
|  58|    |-		GetNumPlayers: function() { return 2; },
|    |  58|+		"GetNumPlayers": function() { return 2; },
|  59|  59| 	});
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  59|  59| 	});
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|    |-		IsAlly: function() { return false; },
|    |  62|+		"IsAlly": function() { return false; },
|  63|  63| 		IsEnemy: function() { return true; },
|  64|  64| 		GetEnemies: function() { return []; },
|  65|  65| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|  62| 		IsAlly: function() { return false; },
|  63|    |-		IsEnemy: function() { return true; },
|    |  63|+		"IsEnemy": function() { return true; },
|  64|  64| 		GetEnemies: function() { return []; },
|  65|  65| 	});
|  66|  66| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEnemies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|  62| 		IsAlly: function() { return false; },
|  63|  63| 		IsEnemy: function() { return true; },
|  64|    |-		GetEnemies: function() { return []; },
|    |  64|+		"GetEnemies": function() { return []; },
|  65|  65| 	});
|  66|  66| 
|  67|  67| 	AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  71|  71| 	var unitAI = ConstructComponent(unit, "UnitAI", { "FormationController": "false", "DefaultStance": "aggressive" });
|  72|  72| 
|  73|  73| 	AddMock(unit, IID_Identity, {
|  74|    |-		GetClassesList: function() { return []; },
|    |  74|+		"GetClassesList": function() { return []; },
|  75|  75| 	});
|  76|  76| 
|  77|  77| 	AddMock(unit, IID_Ownership, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetOwner' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  75|  75| 	});
|  76|  76| 
|  77|  77| 	AddMock(unit, IID_Ownership, {
|  78|    |-		GetOwner: function() { return 1; },
|    |  78|+		"GetOwner": function() { return 1; },
|  79|  79| 	});
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  79|  79| 	});
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    |  82|+		"GetTurretParent": function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|    |-		GetPosition: function() { return new Vector3D(); },
|    |  83|+		"GetPosition": function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|    |-		GetPosition2D: function() { return new Vector2D(); },
|    |  84|+		"GetPosition2D": function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|  87|  87| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|    |-		GetRotation: function() { return { "y": 0 }; },
|    |  85|+		"GetRotation": function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|  87|  87| 	});
|  88|  88| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|    |-		IsInWorld: function() { return true; },
|    |  86|+		"IsInWorld": function() { return true; },
|  87|  87| 	});
|  88|  88| 
|  89|  89| 	AddMock(unit, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  95|  95| 	});
|  96|  96| 
|  97|  97| 	AddMock(unit, IID_Vision, {
|  98|    |-		GetRange: function() { return 10; },
|    |  98|+		"GetRange": function() { return 10; },
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102|    |-		GetRange: function() { return { "max": 10, "min": 0}; },
|    | 102|+		"GetRange": function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102|    |-		GetRange: function() { return { "max": 10, "min": 0}; },
|    | 102|+		GetRange: function() { return { "max": 10, "min": 0 }; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetFullAttackRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103|    |-		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 103|+		"GetFullAttackRange": function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103|    |-		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 103|+		GetFullAttackRange: function() { return { "max": 40, "min": 0 }; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBestAttackAgainst' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104|    |-		GetBestAttackAgainst: function(t) { return "melee"; },
|    | 104|+		"GetBestAttackAgainst": function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105|    |-		GetPreference: function(t) { return 0; },
|    | 105|+		"GetPreference": function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTimers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106|    |-		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | 106|+		"GetTimers": function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
| 109| 109| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttack' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107|    |-		CanAttack: function(v) { return true; },
|    | 107|+		"CanAttack": function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
| 109| 109| 	});
| 110| 110| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CompareEntitiesByPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108|    |-		CompareEntitiesByPreference: function(a, b) { return 0; },
|    | 108|+		"CompareEntitiesByPreference": function(a, b) { return 0; },
| 109| 109| 	});
| 110| 110| 
| 111| 111| 	unitAI.OnCreate();
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 116| 116| 	if (mode == 1)
| 117| 117| 	{
| 118| 118| 		AddMock(enemy, IID_Health, {
| 119|    |-			GetHitpoints: function() { return 10; },
|    | 119|+			"GetHitpoints": function() { return 10; },
| 120| 120| 		});
| 121| 121| 		AddMock(enemy, IID_UnitAI, {
| 122| 122| 			IsAnimal: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAnimal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 119| 119| 			GetHitpoints: function() { return 10; },
| 120| 120| 		});
| 121| 121| 		AddMock(enemy, IID_UnitAI, {
| 122|    |-			IsAnimal: function() { return false; }
|    | 122|+			"IsAnimal": function() { return false; }
| 123| 123| 		});
| 124| 124| 	}
| 125| 125| 	else if (mode == 2)
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 124| 124| 	}
| 125| 125| 	else if (mode == 2)
| 126| 126| 		AddMock(enemy, IID_Health, {
| 127|    |-			GetHitpoints: function() { return 0; },
|    | 127|+			"GetHitpoints": function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130| 130| 	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 127| 127| 			GetHitpoints: function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 130|+	var controllerFormation = ConstructComponent(controller, "Formation", { "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 127| 127| 			GetHitpoints: function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 130|+	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0 });
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'JumpTo' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
| 134|    |-		JumpTo: function(x, z) { this.x = x; this.z = z; },
|    | 134|+		"JumpTo": function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    | 135|+		"GetTurretParent": function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 133| 133| 	AddMock(controller, IID_Position, {
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136|    |-		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
|    | 136|+		"GetPosition": function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137|    |-		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | 137|+		"GetPosition2D": function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
| 140| 140| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138|    |-		GetRotation: function() { return { "y": 0 }; },
|    | 138|+		"GetRotation": function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
| 140| 140| 	});
| 141| 141| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139|    |-		IsInWorld: function() { return true; },
|    | 139|+		"IsInWorld": function() { return true; },
| 140| 140| 	});
| 141| 141| 
| 142| 142| 	AddMock(controller, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetInterval' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 186| 186| 	var unitAIs = [];
| 187| 187| 
| 188| 188| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
| 189|    |-		SetInterval: function() { },
|    | 189|+		"SetInterval": function() { },
| 190| 190| 		SetTimeout: function() { },
| 191| 191| 	});
| 192| 192| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 187| 187| 
| 188| 188| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
| 189| 189| 		SetInterval: function() { },
| 190|    |-		SetTimeout: function() { },
|    | 190|+		"SetTimeout": function() { },
| 191| 191| 	});
| 192| 192| 
| 193| 193| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CreateActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 192| 192| 
| 193| 193| 
| 194| 194| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
| 195|    |-		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|    | 195|+		"CreateActiveQuery": function(ent, minRange, maxRange, players, iid, flags) {
| 196| 196| 			return 1;
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'EnableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 195| 195| 		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
| 196| 196| 			return 1;
| 197| 197| 		},
| 198|    |-		EnableActiveQuery: function(id) { },
|    | 198|+		"EnableActiveQuery": function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'ResetActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 196| 196| 			return 1;
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199|    |-		ResetActiveQuery: function(id) { return [enemy]; },
|    | 199|+		"ResetActiveQuery": function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
| 202| 202| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'DisableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200|    |-		DisableActiveQuery: function(id) { },
|    | 200|+		"DisableActiveQuery": function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
| 202| 202| 	});
| 203| 203| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntityFlagMask' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201|    |-		GetEntityFlagMask: function(identifier) { },
|    | 201|+		"GetEntityFlagMask": function(identifier) { },
| 202| 202| 	});
| 203| 203| 
| 204| 204| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 202| 202| 	});
| 203| 203| 
| 204| 204| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
| 205|    |-		GetCurrentTemplateName: function(ent) { return "special/formations/line_closed"; },
|    | 205|+		"GetCurrentTemplateName": function(ent) { return "special/formations/line_closed"; },
| 206| 206| 	});
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 206| 206| 	});
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
| 209|    |-		GetPlayerByID: function(id) { return playerEntity; },
|    | 209|+		"GetPlayerByID": function(id) { return playerEntity; },
| 210| 210| 		GetNumPlayers: function() { return 2; },
| 211| 211| 	});
| 212| 212| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
| 209| 209| 		GetPlayerByID: function(id) { return playerEntity; },
| 210|    |-		GetNumPlayers: function() { return 2; },
|    | 210|+		"GetNumPlayers": function() { return 2; },
| 211| 211| 	});
| 212| 212| 
| 213| 213| 	AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 215| 215| 	});
| 216| 216| 
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218|    |-		IsAlly: function() { return false; },
|    | 218|+		"IsAlly": function() { return false; },
| 219| 219| 		IsEnemy: function() { return true; },
| 220| 220| 		GetEnemies: function() { return []; },
| 221| 221| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 216| 216| 
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218| 218| 		IsAlly: function() { return false; },
| 219|    |-		IsEnemy: function() { return true; },
|    | 219|+		"IsEnemy": function() { return true; },
| 220| 220| 		GetEnemies: function() { return []; },
| 221| 221| 	});
| 222| 222| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEnemies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218| 218| 		IsAlly: function() { return false; },
| 219| 219| 		IsEnemy: function() { return true; },
| 220|    |-		GetEnemies: function() { return []; },
|    | 220|+		"GetEnemies": function() { return []; },
| 221| 221| 	});
| 222| 222| 
| 223| 223| 	// create units
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 228| 228| 		var unitAI = ConstructComponent(unit + i, "UnitAI", { "FormationController": "false", "DefaultStance": "aggressive" });
| 229| 229| 
| 230| 230| 		AddMock(unit + i, IID_Identity, {
| 231|    |-			GetClassesList: function() { return []; },
|    | 231|+			"GetClassesList": function() { return []; },
| 232| 232| 		});
| 233| 233| 
| 234| 234| 		AddMock(unit + i, IID_Ownership, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetOwner' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 232| 232| 		});
| 233| 233| 
| 234| 234| 		AddMock(unit + i, IID_Ownership, {
| 235|    |-			GetOwner: function() { return 1; },
|    | 235|+			"GetOwner": function() { return 1; },
| 236| 236| 		});
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 236| 236| 		});
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239|    |-			GetTurretParent: function() { return INVALID_ENTITY; },
|    | 239|+			"GetTurretParent": function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240|    |-			GetPosition: function() { return new Vector3D(); },
|    | 240|+			"GetPosition": function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241|    |-			GetPosition2D: function() { return new Vector2D(); },
|    | 241|+			"GetPosition2D": function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
| 244| 244| 		});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242|    |-			GetRotation: function() { return { "y": 0 }; },
|    | 242|+			"GetRotation": function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
| 244| 244| 		});
| 245| 245| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243|    |-			IsInWorld: function() { return true; },
|    | 243|+			"IsInWorld": function() { return true; },
| 244| 244| 		});
| 245| 245| 
| 246| 246| 		AddMock(unit + i, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 252| 252| 		});
| 253| 253| 
| 254| 254| 		AddMock(unit + i, IID_Vision, {
| 255|    |-			GetRange: function() { return 10; },
|    | 255|+			"GetRange": function() { return 10; },
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			"GetRange": function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return { "max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'max'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return {"max": 10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return {"max":10, "min": 0 }; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetFullAttackRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260|    |-			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 260|+			"GetFullAttackRange": function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260|    |-			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 260|+			GetFullAttackRange: function() { return { "max": 40, "min": 0 }; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBestAttackAgainst' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261|    |-			GetBestAttackAgainst: function(t) { return "melee"; },
|    | 261|+			"GetBestAttackAgainst": function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTimers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262|    |-			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | 262|+			"GetTimers": function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
| 265| 265| 		});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttack' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263|    |-			CanAttack: function(v) { return true; },
|    | 263|+			"CanAttack": function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
| 265| 265| 		});
| 266| 266| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CompareEntitiesByPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264|    |-			CompareEntitiesByPreference: function(a, b) { return 0; },
|    | 264|+			"CompareEntitiesByPreference": function(a, b) { return 0; },
| 265| 265| 		});
| 266| 266| 
| 267| 267| 		unitAI.OnCreate();
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 273| 273| 
| 274| 274| 	// create enemy
| 275| 275| 	AddMock(enemy, IID_Health, {
| 276|    |-		GetHitpoints: function() { return 40; },
|    | 276|+		"GetHitpoints": function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279| 279| 	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 276| 276| 		GetHitpoints: function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 279|+	var controllerFormation = ConstructComponent(controller, "Formation", { "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 276| 276| 		GetHitpoints: function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 279|+	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0 });
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
| 283|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    | 283|+		"GetTurretParent": function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'JumpTo' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284|    |-		JumpTo: function(x, z) { this.x = x; this.z = z; },
|    | 284|+		"JumpTo": function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 282| 282| 	AddMock(controller, IID_Position, {
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285|    |-		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
|    | 285|+		"GetPosition": function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286|    |-		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | 286|+		"GetPosition2D": function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
| 289| 289| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287|    |-		GetRotation: function() { return { "y": 0 }; },
|    | 287|+		"GetRotation": function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
| 289| 289| 	});
| 290| 290| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288|    |-		IsInWorld: function() { return true; },
|    | 288|+		"IsInWorld": function() { return true; },
| 289| 289| 	});
| 290| 290| 
| 291| 291| 	AddMock(controller, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		"GetRange": function() { return {"max":10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return { "max":10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'max'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return {"max": 10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return {"max":10, "min": 0 }; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttackAsFormation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300| 300| 		GetRange: function() { return {"max":10, "min": 0}; },
| 301|    |-		CanAttackAsFormation: function() { return false; },
|    | 301|+		"CanAttackAsFormation": function() { return false; },
| 302| 302| 	});
| 303| 303| 
| 304| 304| 	controllerAI.OnCreate();
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 310| 310| 	for (var ent of unitAIs)
| 311| 311| 		TS_ASSERT_EQUALS(unitAI.fsmStateName, "INDIVIDUAL.COMBAT.ATTACKING");
| 312| 312| 
| 313|    |-	controllerAI.MoveIntoFormation({"name": "Circle"});
|    | 313|+	controllerAI.MoveIntoFormation({ "name": "Circle"});
| 314| 314| 
| 315| 315| 	// let all units be in position
| 316| 316| 	for (var ent of unitAIs)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 310| 310| 	for (var ent of unitAIs)
| 311| 311| 		TS_ASSERT_EQUALS(unitAI.fsmStateName, "INDIVIDUAL.COMBAT.ATTACKING");
| 312| 312| 
| 313|    |-	controllerAI.MoveIntoFormation({"name": "Circle"});
|    | 313|+	controllerAI.MoveIntoFormation({"name": "Circle" });
| 314| 314| 
| 315| 315| 	// let all units be in position
| 316| 316| 	for (var ent of unitAIs)

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  47| »   »   ResetActiveQuery:·function(id)·{·if·(mode·==·0)·return·[];·else·return·[enemy];·},
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Closing curly brace appears on the same line as the subsequent block.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 224| »   for·(var·i·=·0;·i·<·unitCount;·i++)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 316| »   for·(var·ent·of·unitAIs)
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 319| »   for·(var·ent·of·unitAIs)
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 311| »   »   TS_ASSERT_EQUALS(unitAI.fsmStateName,·"INDIVIDUAL.COMBAT.ATTACKING");
|    | [NORMAL] JSHintBear:
|    | 'unitAI' used out of scope.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 320| »   »   TS_ASSERT_EQUALS(unitAI.fsmStateName,·"INDIVIDUAL.COMBAT.ATTACKING");
|    | [NORMAL] JSHintBear:
|    | 'unitAI' used out of scope.
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 389| 389| function getRepairTimeTooltip(entState)
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392|    |-			"label": headerFont(translate("Number of repairers:")),
|    | 392|+		"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393|    |-			"details": entState.repairable.numBuilders
|    | 393|+		"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394|    |-		}) + "\n" + (entState.repairable.numBuilders ?
|    | 394|+	}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
| 397| 397| 			"Add another worker to speed up the repairs by %(second)s seconds.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 411| 411| function getBuildTimeTooltip(entState)
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414|    |-			"label": headerFont(translate("Number of builders:")),
|    | 414|+		"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415|    |-			"details": entState.foundation.numBuilders
|    | 415|+		"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416|    |-		}) + "\n" + (entState.foundation.numBuilders ?
|    | 416|+	}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
| 419| 419| 			"Add another worker to speed up the construction by %(second)s seconds.",

binaries/data/mods/public/maps/random/survivalofthefittest_triggers.js
| 275| »   for·(let·point·of·triggerPoints)
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'point' is already declared in the upper scope.
|    | [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
| 796| 796| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 797| 797| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 798| 798| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 799|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 799|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 800| 800| 	}
| 801| 801| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 802| 802| 	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
|1629|1629| 			{
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|    |-						"x": pos.x,
|    |1632|+					"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"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
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|    |-						"z": pos.z,
|    |1633|+					"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|    | [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
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|    |-						"angle": cmpPosition.GetRotation().y,
|    |1634|+					"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|    | [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
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|    |-						"ent": ent
|    |1635|+					"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|1638|1638| 		}
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
| 762| 762| 					this.FinishOrder();
| 763| 763| 					return;
| 764| 764| 				}
| 765|    |-				else
| 766|    |-				{
|    | 765|+				
| 767| 766| 					this.SetNextState("GARRISON.APPROACHING");
| 768| 767| 					return;
| 769|    |-				}
|    | 768|+				
| 770| 769| 			}
| 771| 770| 
| 772| 771| 			this.SetNextState("GARRISON.GARRISONING");
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'GARRISON'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|1030|1030| 			},
|1031|1031| 		},
|1032|1032| 
|1033|    |-		"GARRISON":{
|    |1033|+		"GARRISON": {
|1034|1034| 			"enter": function() {
|1035|1035| 				// If the garrisonholder should pickup, warn it so it can take needed action
|1036|1036| 				var cmpGarrisonHolder = Engine.QueryInterface(this.order.data.target, IID_GarrisonHolder);
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|1979|1979| 
|1980|1980| 				"Attacked": function(msg) {
|1981|1981| 					// If we are capturing and are attacked by something that we would not capture, attack that entity instead
|1982|    |-					if (this.order.data.attackType == "Capture" && (this.GetStance().targetAttackersAlways || !this.order.data.force)
|1983|    |-						&& this.order.data.target != msg.data.attacker && this.GetBestAttackAgainst(msg.data.attacker, true) != "Capture")
|    |1982|+					if (this.order.data.attackType == "Capture" && (this.GetStance().targetAttackersAlways || !this.order.data.force) &&
|    |1983|+						this.order.data.target != msg.data.attacker && this.GetBestAttackAgainst(msg.data.attacker, true) != "Capture")
|1984|1984| 						this.RespondToTargetedEntities([msg.data.attacker]);
|1985|1985| 				},
|1986|1986| 			},
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|2674|2674| 					{
|2675|2675| 						// The building was already finished/fully repaired before we arrived;
|2676|2676| 						// let the ConstructionFinished handler handle this.
|2677|    |-						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget});
|    |2677|+						this.OnGlobalConstructionFinished({ "entity": this.repairTarget, "newentity": this.repairTarget});
|2678|2678| 						return true;
|2679|2679| 					}
|2680|2680| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|2674|2674| 					{
|2675|2675| 						// The building was already finished/fully repaired before we arrived;
|2676|2676| 						// let the ConstructionFinished handler handle this.
|2677|    |-						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget});
|    |2677|+						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget });
|2678|2678| 						return true;
|2679|2679| 					}
|2680|2680| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3187|3187| 		"COMBAT": "INDIVIDUAL.COMBAT", // reuse the same combat behaviour for animals
|3188|3188| 
|3189|3189| 		"WALKING": "INDIVIDUAL.WALKING",	// reuse the same walking behaviour for animals
|3190|    |-							// only used for domestic animals
|    |3190|+		// only used for domestic animals
|3191|3191| 	},
|3192|3192| };
|3193|3193| 
|    | [NORMAL] ESLintBear (no-unneeded-ternary):
|    | Unnecessary use of boolean literals in conditional expression.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3244|3244| 
|3245|3245| UnitAI.prototype.IsAnimal = function()
|3246|3246| {
|3247|    |-	return (this.template.NaturalBehaviour ? true : false);
|    |3247|+	return (!!this.template.NaturalBehaviour);
|3248|3248| };
|3249|3249| 
|3250|3250| UnitAI.prototype.IsDangerousAnimal = function()
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3360|3360| 		{
|3361|3361| 			let index = this.GetCurrentState().indexOf(".");
|3362|3362| 			if (index != -1)
|3363|    |-				this.UnitFsm.SwitchToNextState(this, this.GetCurrentState().slice(0,index));
|    |3363|+				this.UnitFsm.SwitchToNextState(this, this.GetCurrentState().slice(0, index));
|3364|3364| 			this.Stop(false);
|3365|3365| 		}
|3366|3366| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3416|3416| 		if (this.orderQueue[i].type != "PickupUnit" || this.orderQueue[i].data.target != msg.entity)
|3417|3417| 			continue;
|3418|3418| 		if (i == 0)
|3419|    |-			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg});
|    |3419|+			this.UnitFsm.ProcessMessage(this, { "type": "PickupCanceled", "data": msg});
|3420|3420| 		else
|3421|3421| 			this.orderQueue.splice(i, 1);
|3422|3422| 		Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3416|3416| 		if (this.orderQueue[i].type != "PickupUnit" || this.orderQueue[i].data.target != msg.entity)
|3417|3417| 			continue;
|3418|3418| 		if (i == 0)
|3419|    |-			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg});
|    |3419|+			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg });
|3420|3420| 		else
|3421|3421| 			this.orderQueue.splice(i, 1);
|3422|3422| 		Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3500|3500| };
|3501|3501| 
|3502|3502| 
|3503|    |-//// FSM linkage functions ////
|    |3503|+// // FSM linkage functions ////
|3504|3504| 
|3505|3505| // Setting the next state to the current state will leave/re-enter the top-most substate.
|3506|3506| UnitAI.prototype.SetNextState = function(state)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3670|3670| 				continue;
|3671|3671| 			if (this.orderQueue[i].type == type)
|3672|3672| 				continue;
|3673|    |-			this.orderQueue.splice(i, 0, {"type": type, "data": data});
|    |3673|+			this.orderQueue.splice(i, 0, { "type": type, "data": data});
|3674|3674| 			Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|3675|3675| 			return;
|3676|3676| 		}
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3670|3670| 				continue;
|3671|3671| 			if (this.orderQueue[i].type == type)
|3672|3672| 				continue;
|3673|    |-			this.orderQueue.splice(i, 0, {"type": type, "data": data});
|    |3673|+			this.orderQueue.splice(i, 0, {"type": type, "data": data });
|3674|3674| 			Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|3675|3675| 			return;
|3676|3676| 		}
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3841|3841| 	if (data.timerRepeat === undefined)
|3842|3842| 		this.timer = undefined;
|3843|3843| 
|3844|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness});
|    |3844|+	this.UnitFsm.ProcessMessage(this, { "type": "Timer", "data": data, "lateness": lateness});
|3845|3845| };
|3846|3846| 
|3847|3847| /**
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3841|3841| 	if (data.timerRepeat === undefined)
|3842|3842| 		this.timer = undefined;
|3843|3843| 
|3844|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness});
|    |3844|+	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness });
|3845|3845| };
|3846|3846| 
|3847|3847| /**
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3886|3886| 	// TODO: This is a bit inefficient since every unit listens to every
|3887|3887| 	// construction message - ideally we could scope it to only the one we're building
|3888|3888| 
|3889|    |-	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg});
|    |3889|+	this.UnitFsm.ProcessMessage(this, { "type": "ConstructionFinished", "data": msg});
|3890|3890| };
|3891|3891| 
|3892|3892| UnitAI.prototype.OnGlobalEntityRenamed = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3886|3886| 	// TODO: This is a bit inefficient since every unit listens to every
|3887|3887| 	// construction message - ideally we could scope it to only the one we're building
|3888|3888| 
|3889|    |-	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg});
|    |3889|+	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg });
|3890|3890| };
|3891|3891| 
|3892|3892| UnitAI.prototype.OnGlobalEntityRenamed = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3911|3911| 
|3912|3912| UnitAI.prototype.OnAttacked = function(msg)
|3913|3913| {
|3914|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg});
|    |3914|+	this.UnitFsm.ProcessMessage(this, { "type": "Attacked", "data": msg});
|3915|3915| };
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3911|3911| 
|3912|3912| UnitAI.prototype.OnAttacked = function(msg)
|3913|3913| {
|3914|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg});
|    |3914|+	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg });
|3915|3915| };
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|3918|3918| {
|3919|    |-	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data});
|    |3919|+	this.UnitFsm.ProcessMessage(this, { "type": "GuardedAttacked", "data": msg.data});
|3920|3920| };
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|3918|3918| {
|3919|    |-	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data});
|    |3919|+	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data });
|3920|3920| };
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|3923|3923| {
|3924|    |-	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to});
|    |3924|+	this.UnitFsm.ProcessMessage(this, { "type": "HealthChanged", "from": msg.from, "to": msg.to});
|3925|3925| };
|3926|3926| 
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|3923|3923| {
|3924|    |-	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to});
|    |3924|+	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to });
|3925|3925| };
|3926|3926| 
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|3928|3928| {
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|    |3930|+		this.UnitFsm.ProcessMessage(this, { "type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|3932| 		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|3928|3928| {
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|    |3930|+		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg });
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|3932| 		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|3930| 		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|    |3932|+		this.UnitFsm.ProcessMessage(this, { "type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|3930| 		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|    |3932|+		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg });
|3933|3933| };
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|3936|3936| {
|3937|    |-	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|    |3937|+	this.UnitFsm.ProcessMessage(this, { "type": "PackFinished", "packed": msg.packed});
|3938|3938| };
|3939|3939| 
|3940|3940| //// Helper functions to be called by the FSM ////
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|3936|3936| {
|3937|    |-	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|    |3937|+	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed });
|3938|3938| };
|3939|3939| 
|3940|3940| //// Helper functions to be called by the FSM ////
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3937|3937| 	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|3938|3938| };
|3939|3939| 
|3940|    |-//// Helper functions to be called by the FSM ////
|    |3940|+// // Helper functions to be called by the FSM ////
|3941|3941| 
|3942|3942| UnitAI.prototype.GetWalkSpeed = function()
|3943|3943| {
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4590|4590| UnitAI.prototype.AttackEntityInZone = function(ents)
|4591|4591| {
|4592|4592| 	var target = ents.find(target =>
|4593|    |-		this.CanAttack(target)
|4594|    |-		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|    |4593|+		this.CanAttack(target) &&
|    |4594|+		this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|4595|4595| 		&& (this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|4596|4596| 	);
|4597|4597| 	if (!target)
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4591|4591| {
|4592|4592| 	var target = ents.find(target =>
|4593|4593| 		this.CanAttack(target)
|4594|    |-		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|4595|    |-		&& (this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|    |4594|+		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true)) &&
|    |4595|+		(this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|4596|4596| 	);
|4597|4597| 	if (!target)
|4598|4598| 		return false;
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before 'Engine'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4655|4655| 	// If we are guarding/escorting, don't abandon as long as the guarded unit is in target range of the attacker
|4656|4656| 	if (this.isGuardOf)
|4657|4657| 	{
|4658|    |-		var cmpUnitAI =  Engine.QueryInterface(target, IID_UnitAI);
|    |4658|+		var cmpUnitAI = Engine.QueryInterface(target, IID_UnitAI);
|4659|4659| 		var cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4660|4660| 		if (cmpUnitAI && cmpAttack &&
|4661|4661| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4659|4659| 		var cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4660|4660| 		if (cmpUnitAI && cmpAttack &&
|4661|4661| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|4662|    |-				return false;
|    |4662|+			return false;
|4663|4663| 	}
|4664|4664| 
|4665|4665| 	// Stop if we're in hold-ground mode and it's too far from the holding point
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before 'Engine'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4697|4697| 	// If we are guarding/escorting, chase at least as long as the guarded unit is in target range of the attacker
|4698|4698| 	if (this.isGuardOf)
|4699|4699| 	{
|4700|    |-		let cmpUnitAI =  Engine.QueryInterface(target, IID_UnitAI);
|    |4700|+		let cmpUnitAI = Engine.QueryInterface(target, IID_UnitAI);
|4701|4701| 		let cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4702|4702| 		if (cmpUnitAI && cmpAttack &&
|4703|4703| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4710|4710| 	return false;
|4711|4711| };
|4712|4712| 
|4713|    |-//// External interface functions ////
|    |4713|+// // External interface functions ////
|4714|4714| 
|4715|4715| UnitAI.prototype.SetFormationController = function(ent)
|4716|4716| {
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4866|4866| 	{
|4867|4867| 		if (this.isGuardOf == target && this.order && this.order.type == "Guard")
|4868|4868| 			return;
|4869|    |-		else
|4870|    |-			this.RemoveGuard();
|    |4869|+		this.RemoveGuard();
|4871|4870| 	}
|4872|4871| 
|4873|4872| 	this.AddOrder("Guard", { "target": target, "force": false }, queued);
|    | [NORMAL] ESLintBear (no-trailing-spaces):
|    | Trailing spaces not allowed.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5198|5198| 	    this.workOrders.length && this.workOrders[0].type == "Trade")
|5199|5199| 	{
|5200|5200| 		let cmpTrader = Engine.QueryInterface(this.entity, IID_Trader);
|5201|    |-		if (cmpTrader.HasBothMarkets() && 
|    |5201|+		if (cmpTrader.HasBothMarkets() &&
|5202|5202| 		   (cmpTrader.GetFirstMarket() == target && cmpTrader.GetSecondMarket() == source ||
|5203|5203| 		    cmpTrader.GetFirstMarket() == source && cmpTrader.GetSecondMarket() == target))
|5204|5204| 		{
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5479|5479| 				{
|5480|5480| 					var cmpIdentity = Engine.QueryInterface(targ, IID_Identity);
|5481|5481| 					var targetClasses = this.order.data.targetClasses;
|5482|    |-					if (targetClasses.attack && cmpIdentity
|5483|    |-						&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|    |5482|+					if (targetClasses.attack && cmpIdentity &&
|    |5483|+						!MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5484|5484| 						continue;
|5485|5485| 					if (targetClasses.avoid && cmpIdentity
|5486|5486| 						&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5482|5482| 					if (targetClasses.attack && cmpIdentity
|5483|5483| 						&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5484|5484| 						continue;
|5485|    |-					if (targetClasses.avoid && cmpIdentity
|5486|    |-						&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    |5485|+					if (targetClasses.avoid && cmpIdentity &&
|    |5486|+						MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|5487|5487| 						continue;
|5488|5488| 					// Only used by the AIs to prevent some choices of targets
|5489|5489| 					if (targetClasses.vetoEntities && targetClasses.vetoEntities[targ])
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5505|5505| 		{
|5506|5506| 			var cmpIdentity = Engine.QueryInterface(targ, IID_Identity);
|5507|5507| 			var targetClasses = this.order.data.targetClasses;
|5508|    |-			if (cmpIdentity && targetClasses.attack
|5509|    |-				&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|    |5508|+			if (cmpIdentity && targetClasses.attack &&
|    |5509|+				!MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5510|5510| 				continue;
|5511|5511| 			if (cmpIdentity && targetClasses.avoid
|5512|5512| 				&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5508|5508| 			if (cmpIdentity && targetClasses.attack
|5509|5509| 				&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5510|5510| 				continue;
|5511|    |-			if (cmpIdentity && targetClasses.avoid
|5512|    |-				&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    |5511|+			if (cmpIdentity && targetClasses.avoid &&
|    |5512|+				MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|5513|5513| 				continue;
|5514|5514| 			// Only used by the AIs to prevent some choices of targets
|5515|5515| 			if (targetClasses.vetoEntities && targetClasses.vetoEntities[targ])
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5665|5665| 
|5666|5666| UnitAI.prototype.SetHeldPosition = function(x, z)
|5667|5667| {
|5668|    |-	this.heldPosition = {"x": x, "z": z};
|    |5668|+	this.heldPosition = { "x": x, "z": z};
|5669|5669| };
|5670|5670| 
|5671|5671| UnitAI.prototype.SetHeldPositionOnEntity = function(entity)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5665|5665| 
|5666|5666| UnitAI.prototype.SetHeldPosition = function(x, z)
|5667|5667| {
|5668|    |-	this.heldPosition = {"x": x, "z": z};
|    |5668|+	this.heldPosition = {"x": x, "z": z };
|5669|5669| };
|5670|5670| 
|5671|5671| UnitAI.prototype.SetHeldPositionOnEntity = function(entity)
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5692|5692| 	return false;
|5693|5693| };
|5694|5694| 
|5695|    |-//// Helper functions ////
|    |5695|+// // Helper functions ////
|5696|5696| 
|5697|5697| UnitAI.prototype.CanAttack = function(target)
|5698|5698| {
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5896|5896| 	return cmpPack && cmpPack.IsPacking();
|5897|5897| };
|5898|5898| 
|5899|    |-//// Formation specific functions ////
|    |5899|+// // Formation specific functions ////
|5900|5900| 
|5901|5901| UnitAI.prototype.IsAttackingAsFormation = function()
|5902|5902| {
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5901|5901| UnitAI.prototype.IsAttackingAsFormation = function()
|5902|5902| {
|5903|5903| 	var cmpAttack = Engine.QueryInterface(this.entity, IID_Attack);
|5904|    |-	return cmpAttack && cmpAttack.CanAttackAsFormation()
|5905|    |-		&& this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|    |5904|+	return cmpAttack && cmpAttack.CanAttackAsFormation() &&
|    |5905|+		this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|5906|5906| };
|5907|5907| 
|5908|5908| //// Animal specific functions ////
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5905|5905| 		&& this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|5906|5906| };
|5907|5907| 
|5908|    |-//// Animal specific functions ////
|    |5908|+// // Animal specific functions ////
|5909|5909| 
|5910|5910| UnitAI.prototype.MoveRandomly = function(distance)
|5911|5911| {

binaries/data/mods/public/simulation/components/UnitAI.js
| 331| »   »   »   return·true;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'Order.WalkToTarget' expected no return value.

binaries/data/mods/public/simulation/components/UnitAI.js
| 917| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
| 942| »   »   »   "enter":·function(msg)·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
| 992| »   »   »   »   »   return·true;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'enter' expected no return value.

binaries/data/mods/public/simulation/components/UnitAI.js
|1055| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1091| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1123| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1283| »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1340| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1515| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1537| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1569| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1723| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1773| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1851| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2028| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2131| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2386| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2419| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2525| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2591| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2630| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2841| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|3022| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|3746| »   var·isWorkType·=·type·=>·type·==·"Gather"·||·type·==·"Trade"·||·type·==·"Repair"·||·type·==·"ReturnResource";
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'type' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4577| »   var·target·=·ents.find(target·=>·this.CanAttack(target));
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'target' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4592| »   var·target·=·ents.find(target·=>
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'target' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4638| »   var·ent·=·ents.find(ent·=>·this.CanHeal(ent));
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'ent' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4661| »   »   ····cmpAttack.GetAttackTypes().some(type·=>·cmpUnitAI.CheckTargetAttackRange(this.isGuardOf,·type)))
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'type' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|1983| »   »   »   »   »   »   &&·this.order.data.target·!=·msg.data.attacker·&&·this.GetBestAttackAgainst(msg.data.attacker,·true)·!=·"Capture")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|3708| »   »   var·order·=·{·"type":·type,·"data":·data·};
|    | [NORMAL] JSHintBear:
|    | 'order' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|3777| »   for·(var·i·=·0;·i·<·this.orderQueue.length;·++i)
|    | [NORMAL] JSHintBear:
|    | 'i' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|4594| »   »   &&·this.CheckTargetDistanceFromHeldPosition(target,·IID_Attack,·this.GetBestAttackAgainst(target,·true))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|4595| »   »   &&·(this.GetStance().respondChaseBeyondVision·||·this.CheckTargetIsInVisionRange(target))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5483| »   »   »   »   »   »   &&·!MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.attack))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5486| »   »   »   »   »   »   &&·MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.avoid))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5499| »   var·targets·=·this.GetTargetsFromUnit();
|    | [NORMAL] JSHintBear:
|    | 'targets' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5500| »   for·(var·targ·of·targets)
|    | [NORMAL] JSHintBear:
|    | 'targ' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5506| »   »   »   var·cmpIdentity·=·Engine.QueryInterface(targ,·IID_Identity);
|    | [NORMAL] JSHintBear:
|    | 'cmpIdentity' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5507| »   »   »   var·targetClasses·=·this.order.data.targetClasses;
|    | [NORMAL] JSHintBear:
|    | 'targetClasses' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5509| »   »   »   »   &&·!MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.attack))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5512| »   »   »   »   &&·MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.avoid))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5587| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5590| »   »   var·range·=·cmpVision.GetRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5595| »   »   var·cmpRanged·=·Engine.QueryInterface(this.entity,·iid);
|    | [NORMAL] JSHintBear:
|    | 'cmpRanged' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5598| »   »   var·range·=·iid·!==·IID_Attack·?·cmpRanged.GetRange()·:·cmpRanged.GetFullAttackRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5599| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5609| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5612| »   »   var·range·=·cmpVision.GetRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5905| »   »   &&·this.GetCurrentState()·==·"FORMATIONCONTROLLER.COMBAT.ATTACKING";
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|   1|    |-//Number of rounds of firing per 2 seconds
|    |   1|+// Number of rounds of firing per 2 seconds
|   2|   2| const roundCount = 10;
|   3|   3| const attackType = "Ranged";
|   4|   4| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 130| 130| 
| 131| 131| 	var range = cmpAttack.GetRange(attackType);
| 132| 132| 	this.enemyUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 133|    |-			this.entity, range.min, range.max, range.elevationBonus,
|    | 133|+		this.entity, range.min, range.max, range.elevationBonus,
| 134| 134| 			enemies, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal"));
| 135| 135| 
| 136| 136| 	cmpRangeManager.EnableActiveQuery(this.enemyUnitsQuery);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 131| 131| 	var range = cmpAttack.GetRange(attackType);
| 132| 132| 	this.enemyUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 133| 133| 			this.entity, range.min, range.max, range.elevationBonus,
| 134|    |-			enemies, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal"));
|    | 134|+		enemies, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal"));
| 135| 135| 
| 136| 136| 	cmpRangeManager.EnableActiveQuery(this.enemyUnitsQuery);
| 137| 137| };
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 159| 159| 
| 160| 160| 	// This query is only interested in Gaia entities that can attack.
| 161| 161| 	this.gaiaUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 162|    |-			this.entity, range.min, range.max, range.elevationBonus,
|    | 162|+		this.entity, range.min, range.max, range.elevationBonus,
| 163| 163| 			[0], IID_Attack, cmpRangeManager.GetEntityFlagMask("normal"));
| 164| 164| 
| 165| 165| 	cmpRangeManager.EnableActiveQuery(this.gaiaUnitsQuery);
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/BuildingAI.js
| 160| 160| 	// This query is only interested in Gaia entities that can attack.
| 161| 161| 	this.gaiaUnitsQuery = cmpRangeManager.CreateActiveParabolicQuery(
| 162| 162| 			this.entity, range.min, range.max, range.elevationBonus,
| 163|    |-			[0], IID_Attack, cmpRangeManager.GetEntityFlagMask("normal"));
|    | 163|+		[0], IID_Attack, cmpRangeManager.GetEntityFlagMask("normal"));
| 164| 164| 
| 165| 165| 	cmpRangeManager.EnableActiveQuery(this.gaiaUnitsQuery);
| 166| 166| };

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 801| »   »   if·(this.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 818| »   »   if·(this.position()·!==·undefined·&&·unitToFleeFrom.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 948| }(API3);
|    | [MAJOR] ESLintBear (no-use-before-define):
|    | 'API3' was used before it was defined.
|    | [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
|  47|  47| 	"GetResource": resource => ({
|  48|  48| 		"aiAnalysisInfluenceGroup":
|  49|  49| 			resource == "food" ? "ignore" :
|  50|    |-			resource == "wood" ? "abundant" : "sparse"
|    |  50|+				resource == "wood" ? "abundant" : "sparse"
|  51|  51| 	})
|  52|  52| };
|  53|  53| 
|    | [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
|  55|  55| 
|  56|  56| 
|  57|  57| AddMock(SYSTEM_ENTITY, IID_Barter, {
|  58|    |-	GetPrices: function() {
|    |  58|+	"GetPrices": function() {
|  59|  59| 		return {
|  60|  60| 			"buy": { "food": 150 },
|  61|  61| 			"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
|  61|  61| 			"sell": { "food": 25 }
|  62|  62| 		};
|  63|  63| 	},
|  64|    |-	PlayerHasMarket: function () { return false; }
|    |  64|+	"PlayerHasMarket": function () { return false; }
|  65|  65| });
|  66|  66| 
|  67|  67| 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
|  61|  61| 			"sell": { "food": 25 }
|  62|  62| 		};
|  63|  63| 	},
|  64|    |-	PlayerHasMarket: function () { return false; }
|    |  64|+	PlayerHasMarket: function() { return false; }
|  65|  65| });
|  66|  66| 
|  67|  67| 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
|  65|  65| });
|  66|  66| 
|  67|  67| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  68|    |-	GetVictoryConditions: () => ["conquest", "wonder"],
|    |  68|+	"GetVictoryConditions": () => ["conquest", "wonder"],
|  69|  69| 	GetAlliedVictory: function() { return false; }
|  70|  70| });
|  71|  71| 
|    | [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
|  66|  66| 
|  67|  67| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  68|  68| 	GetVictoryConditions: () => ["conquest", "wonder"],
|  69|    |-	GetAlliedVictory: function() { return false; }
|    |  69|+	"GetAlliedVictory": function() { return false; }
|  70|  70| });
|  71|  71| 
|  72|  72| 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
|  70|  70| });
|  71|  71| 
|  72|  72| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  73|    |-	GetNumPlayers: function() { return 2; },
|    |  73|+	"GetNumPlayers": function() { return 2; },
|  74|  74| 	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  75|  75| });
|  76|  76| 
|    | [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
|  71|  71| 
|  72|  72| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  73|  73| 	GetNumPlayers: function() { return 2; },
|  74|    |-	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|    |  74|+	"GetPlayerByID": function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  75|  75| });
|  76|  76| 
|  77|  77| 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
|  75|  75| });
|  76|  76| 
|  77|  77| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  78|    |-	GetLosVisibility: function(ent, player) { return "visible"; },
|    |  78|+	"GetLosVisibility": function(ent, player) { return "visible"; },
|  79|  79| 	GetLosCircular: function() { return false; }
|  80|  80| });
|  81|  81| 
|    | [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
|  76|  76| 
|  77|  77| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  78|  78| 	GetLosVisibility: function(ent, player) { return "visible"; },
|  79|    |-	GetLosCircular: function() { return false; }
|    |  79|+	"GetLosCircular": function() { return false; }
|  80|  80| });
|  81|  81| 
|  82|  82| 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
|  80|  80| });
|  81|  81| 
|  82|  82| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  83|    |-	GetCurrentTemplateName: function(ent) { return "example"; },
|    |  83|+	"GetCurrentTemplateName": function(ent) { return "example"; },
|  84|  84| 	GetTemplate: function(name) { return ""; }
|  85|  85| });
|  86|  86| 
|    | [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
|  81|  81| 
|  82|  82| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  83|  83| 	GetCurrentTemplateName: function(ent) { return "example"; },
|  84|    |-	GetTemplate: function(name) { return ""; }
|    |  84|+	"GetTemplate": function(name) { return ""; }
|  85|  85| });
|  86|  86| 
|  87|  87| 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
|  85|  85| });
|  86|  86| 
|  87|  87| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  88|    |-	GetTime: function() { return 0; },
|    |  88|+	"GetTime": function() { return 0; },
|  89|  89| 	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|  90|  90| });
|  91|  91| 
|    | [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
|  86|  86| 
|  87|  87| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  88|  88| 	GetTime: function() { return 0; },
|  89|    |-	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|    |  89|+	"SetTimeout": function(ent, iid, funcname, time, data) { return 0; }
|  90|  90| });
|  91|  91| 
|  92|  92| 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
|  90|  90| });
|  91|  91| 
|  92|  92| AddMock(100, IID_Player, {
|  93|    |-	GetName: function() { return "Player 1"; },
|    |  93|+	"GetName": function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	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
|  91|  91| 
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|    |-	GetCiv: function() { return "gaia"; },
|    |  94|+	"GetCiv": function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	"GetColor": function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { "r": 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, "g": 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, "b": 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, b: 1, "a": 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1 }; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|    |-	CanControlAllUnits: function() { return false; },
|    |  96|+	"CanControlAllUnits": function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	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
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|    |-	GetPopulationCount: function() { return 10; },
|    |  97|+	"GetPopulationCount": function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	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
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|    |-	GetPopulationLimit: function() { return 20; },
|    |  98|+	"GetPopulationLimit": function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	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
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|    |-	GetMaxPopulation: function() { return 200; },
|    |  99|+	"GetMaxPopulation": function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	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
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 100|+	"GetResourceCounts": function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	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
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 100|+	GetResourceCounts: function() { return { "food": 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	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
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101|    |-	GetPanelEntities: function() { return []; },
|    | 101|+	"GetPanelEntities": function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	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
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102|    |-	IsTrainingBlocked: function() { return false; },
|    | 102|+	"IsTrainingBlocked": function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	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
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103|    |-	GetState: function() { return "active"; },
|    | 103|+	"GetState": function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	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
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104|    |-	GetTeam: function() { return -1; },
|    | 104|+	"GetTeam": function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	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
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105|    |-	GetLockTeams: function() { return false; },
|    | 105|+	"GetLockTeams": function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	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
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106|    |-	GetCheatsEnabled: function() { return false; },
|    | 106|+	"GetCheatsEnabled": function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	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
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 107|+	"GetDiplomacy": function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	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
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108|    |-	IsAlly: function() { return false; },
|    | 108|+	"IsAlly": function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	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
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109|    |-	IsMutualAlly: function() { return false; },
|    | 109|+	"IsMutualAlly": function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	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
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110|    |-	IsNeutral: function() { return false; },
|    | 110|+	"IsNeutral": function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	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
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111|    |-	IsEnemy: function() { return true; },
|    | 111|+	"IsEnemy": function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	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
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112|    |-	GetDisabledTemplates: function() { return {}; },
|    | 112|+	"GetDisabledTemplates": function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	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
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 113|+	"GetDisabledTechnologies": function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116| 116| 	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
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 114|+	"GetSpyCostMultiplier": function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116| 116| 	HasSharedLos: function() { return false; }
| 117| 117| });
|    | [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
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115|    |-	HasSharedDropsites: function() { return false; },
|    | 115|+	"HasSharedDropsites": function() { return false; },
| 116| 116| 	HasSharedLos: function() { return false; }
| 117| 117| });
| 118| 118| 
|    | [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
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116|    |-	HasSharedLos: function() { return false; }
|    | 116|+	"HasSharedLos": function() { return false; }
| 117| 117| });
| 118| 118| 
| 119| 119| 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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	"GetLimits": function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	GetLimits: function() { return { "Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	GetLimits: function() { return {"Foo": 10 }; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	"GetCounts": function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	GetCounts: function() { return { "Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	GetCounts: function() { return {"Foo": 5 }; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	"GetLimitChangers": function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	GetLimitChangers: function() {return { "Foo": {}}; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	GetLimitChangers: function() {return {"Foo": {} }; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 132| 132| });
| 133| 133| 
| 134| 134| AddMock(100, IID_StatisticsTracker, {
| 135|    |-	GetBasicStatistics: function() {
|    | 135|+	"GetBasicStatistics": function() {
| 136| 136| 		return {
| 137| 137| 			"resourcesGathered": {
| 138| 138| 				"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
| 144| 144| 			"percentMapExplored": 10
| 145| 145| 		};
| 146| 146| 	},
| 147|    |-	GetSequences: function() {
|    | 147|+	"GetSequences": function() {
| 148| 148| 		return {
| 149| 149| 			"unitsTrained": [0, 10],
| 150| 150| 			"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
| 169| 169| 			"teamPeakPercentOfMapControlled": [0, 10]
| 170| 170| 		};
| 171| 171| 	},
| 172|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 172|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 173| 173| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 174| 174| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 175| 175| });
|    | [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
| 170| 170| 		};
| 171| 171| 	},
| 172| 172| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 173|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 173|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 174| 174| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 175| 175| });
| 176| 176| 
|    | [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
| 171| 171| 	},
| 172| 172| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 173| 173| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 174|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 174|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 175| 175| });
| 176| 176| 
| 177| 177| 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
| 175| 175| });
| 176| 176| 
| 177| 177| AddMock(101, IID_Player, {
| 178|    |-	GetName: function() { return "Player 2"; },
|    | 178|+	"GetName": function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	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
| 176| 176| 
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179|    |-	GetCiv: function() { return "mace"; },
|    | 179|+	"GetCiv": function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	"GetColor": function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { "r": 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, "g": 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, "b": 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, b: 0, "a": 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1 }; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181|    |-	CanControlAllUnits: function() { return true; },
|    | 181|+	"CanControlAllUnits": function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	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
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182|    |-	GetPopulationCount: function() { return 40; },
|    | 182|+	"GetPopulationCount": function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	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
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183|    |-	GetPopulationLimit: function() { return 30; },
|    | 183|+	"GetPopulationLimit": function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	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
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184|    |-	GetMaxPopulation: function() { return 300; },
|    | 184|+	"GetMaxPopulation": function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	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
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 185|+	"GetResourceCounts": function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	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
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 185|+	GetResourceCounts: function() { return { "food": 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	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
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186|    |-	GetPanelEntities: function() { return []; },
|    | 186|+	"GetPanelEntities": function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	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
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187|    |-	IsTrainingBlocked: function() { return false; },
|    | 187|+	"IsTrainingBlocked": function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	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
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188|    |-	GetState: function() { return "active"; },
|    | 188|+	"GetState": function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	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
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189|    |-	GetTeam: function() { return -1; },
|    | 189|+	"GetTeam": function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	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
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190|    |-	GetLockTeams: function() {return false; },
|    | 190|+	"GetLockTeams": function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	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
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191|    |-	GetCheatsEnabled: function() { return false; },
|    | 191|+	"GetCheatsEnabled": function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	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
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 192|+	"GetDiplomacy": function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	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
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193|    |-	IsAlly: function() { return true; },
|    | 193|+	"IsAlly": function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	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
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194|    |-	IsMutualAlly: function() {return false; },
|    | 194|+	"IsMutualAlly": function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	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
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195|    |-	IsNeutral: function() { return false; },
|    | 195|+	"IsNeutral": function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	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
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196|    |-	IsEnemy: function() { return false; },
|    | 196|+	"IsEnemy": function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	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
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197|    |-	GetDisabledTemplates: function() { return {}; },
|    | 197|+	"GetDisabledTemplates": function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	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
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 198|+	"GetDisabledTechnologies": function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201| 201| 	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
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 199|+	"GetSpyCostMultiplier": function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201| 201| 	HasSharedLos: function() { return false; }
| 202| 202| });
|    | [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
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200|    |-	HasSharedDropsites: function() { return false; },
|    | 200|+	"HasSharedDropsites": function() { return false; },
| 201| 201| 	HasSharedLos: function() { return false; }
| 202| 202| });
| 203| 203| 
|    | [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
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201|    |-	HasSharedLos: function() { return false; }
|    | 201|+	"HasSharedLos": function() { return false; }
| 202| 202| });
| 203| 203| 
| 204| 204| 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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	"GetLimits": function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	GetLimits: function() { return { "Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	GetLimits: function() { return {"Bar": 20 }; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	"GetCounts": function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	GetCounts: function() { return { "Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	GetCounts: function() { return {"Bar": 0 }; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	"GetLimitChangers": function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	GetLimitChangers: function() {return { "Bar": {}}; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	GetLimitChangers: function() {return {"Bar": {} }; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 217| 217| });
| 218| 218| 
| 219| 219| AddMock(101, IID_StatisticsTracker, {
| 220|    |-	GetBasicStatistics: function() {
|    | 220|+	"GetBasicStatistics": function() {
| 221| 221| 		return {
| 222| 222| 			"resourcesGathered": {
| 223| 223| 				"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
| 229| 229| 			"percentMapExplored": 10
| 230| 230| 		};
| 231| 231| 	},
| 232|    |-	GetSequences: function() {
|    | 232|+	"GetSequences": function() {
| 233| 233| 		return {
| 234| 234| 			"unitsTrained": [0, 10],
| 235| 235| 			"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
| 254| 254| 			"teamPeakPercentOfMapControlled": [0, 10]
| 255| 255| 		};
| 256| 256| 	},
| 257|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 257|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 258| 258| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 259| 259| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 260| 260| });
|    | [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
| 255| 255| 		};
| 256| 256| 	},
| 257| 257| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 258|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 258|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 259| 259| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 260| 260| });
| 261| 261| 
|    | [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
| 256| 256| 	},
| 257| 257| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 258| 258| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 259|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 259|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 260| 260| });
| 261| 261| 
| 262| 262| // 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
| 263| 263| //	because uneval preserves property order. So make sure this object
| 264| 264| //	matches the ordering in GuiInterface.
| 265| 265| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 266|    |-	players: [
|    | 266|+	"players": [
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			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
| 265| 265| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 266| 266| 	players: [
| 267| 267| 		{
| 268|    |-			name: "Player 1",
|    | 268|+			"name": "Player 1",
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			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
| 266| 266| 	players: [
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269|    |-			civ: "gaia",
|    | 269|+			"civ": "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			"color": { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { "r":1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r: 1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, "g":1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g: 1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, "b":1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b: 1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b:1, "a":1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b:1, a: 1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271|    |-			controlsAll: false,
|    | 271|+			"controlsAll": false,
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			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
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272|    |-			popCount: 10,
|    | 272|+			"popCount": 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			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
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273|    |-			popLimit: 20,
|    | 273|+			"popLimit": 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			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
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274|    |-			popMax: 200,
|    | 274|+			"popMax": 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			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
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275|    |-			panelEntities: [],
|    | 275|+			"panelEntities": [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			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
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276|    |-			resourceCounts: { food: 100 },
|    | 276|+			"resourceCounts": { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			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
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276|    |-			resourceCounts: { food: 100 },
|    | 276|+			resourceCounts: { "food": 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			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
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277|    |-			trainingBlocked: false,
|    | 277|+			"trainingBlocked": false,
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280| 280| 			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
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278|    |-			state: "active",
|    | 278|+			"state": "active",
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			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
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279|    |-			team: -1,
|    | 279|+			"team": -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			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
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280|    |-			teamsLocked: false,
|    | 280|+			"teamsLocked": false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			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
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281|    |-			cheatsEnabled: false,
|    | 281|+			"cheatsEnabled": false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			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
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282|    |-			disabledTemplates: {},
|    | 282|+			"disabledTemplates": {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			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
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283|    |-			disabledTechnologies: {},
|    | 283|+			"disabledTechnologies": {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			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
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284|    |-			hasSharedDropsites: false,
|    | 284|+			"hasSharedDropsites": false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			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
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285|    |-			hasSharedLos: false,
|    | 285|+			"hasSharedLos": false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288| 288| 			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
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286|    |-			spyCostMultiplier: 1,
|    | 286|+			"spyCostMultiplier": 1,
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			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
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287|    |-			phase: "village",
|    | 287|+			"phase": "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			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
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288|    |-			isAlly: [false, false],
|    | 288|+			"isAlly": [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			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
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289|    |-			isMutualAlly: [false, false],
|    | 289|+			"isMutualAlly": [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			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
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290|    |-			isNeutral: [false, false],
|    | 290|+			"isNeutral": [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			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
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291|    |-			isEnemy: [true, true],
|    | 291|+			"isEnemy": [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			"entityLimits": {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			entityLimits: { "Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			entityLimits: {"Foo": 10 },
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			"entityCounts": {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			entityCounts: { "Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			entityCounts: {"Foo": 5 },
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			"entityLimitChangers": {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			entityLimitChangers: { "Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			entityLimitChangers: {"Foo": {} },
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295|    |-			researchQueued: new Map(),
|    | 295|+			"researchQueued": new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			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
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296|    |-			researchStarted: new Set(),
|    | 296|+			"researchStarted": new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			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
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297|    |-			researchedTechs: new Set(),
|    | 297|+			"researchedTechs": new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			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
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298|    |-			classCounts: {},
|    | 298|+			"classCounts": {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			canBarter: false,
| 301| 301| 			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
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299|    |-			typeCountsByClass: {},
|    | 299|+			"typeCountsByClass": {},
| 300| 300| 			canBarter: false,
| 301| 301| 			barterPrices: {
| 302| 302| 				"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
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300|    |-			canBarter: false,
|    | 300|+			"canBarter": false,
| 301| 301| 			barterPrices: {
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"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
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			canBarter: false,
| 301|    |-			barterPrices: {
|    | 301|+			"barterPrices": {
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
|    | [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
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
| 305|    |-			statistics: {
|    | 305|+			"statistics": {
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308| 308| 					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
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
| 305| 305| 			statistics: {
| 306|    |-				resourcesGathered: {
|    | 306|+				"resourcesGathered": {
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309| 309| 					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
| 304| 304| 			},
| 305| 305| 			statistics: {
| 306| 306| 				resourcesGathered: {
| 307|    |-					food: 100,
|    | 307|+					"food": 100,
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310| 310| 					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
| 305| 305| 			statistics: {
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308|    |-					wood: 0,
|    | 308|+					"wood": 0,
| 309| 309| 					metal: 0,
| 310| 310| 					stone: 0,
| 311| 311| 					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
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309|    |-					metal: 0,
|    | 309|+					"metal": 0,
| 310| 310| 					stone: 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
|    | [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
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310|    |-					stone: 0,
|    | 310|+					"stone": 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
| 313| 313| 				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
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310| 310| 					stone: 0,
| 311|    |-					vegetarianFood: 0
|    | 311|+					"vegetarianFood": 0
| 312| 312| 				},
| 313| 313| 				percentMapExplored: 10
| 314| 314| 			}
|    | [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
| 310| 310| 					stone: 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
| 313|    |-				percentMapExplored: 10
|    | 313|+				"percentMapExplored": 10
| 314| 314| 			}
| 315| 315| 		},
| 316| 316| 		{
|    | [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
| 314| 314| 			}
| 315| 315| 		},
| 316| 316| 		{
| 317|    |-			name: "Player 2",
|    | 317|+			"name": "Player 2",
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			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
| 315| 315| 		},
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318|    |-			civ: "mace",
|    | 318|+			"civ": "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			"color": { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { "r":1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r: 1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, "g":0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g: 0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, "b":0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b: 0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b:0, "a":1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b:0, a: 1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320|    |-			controlsAll: true,
|    | 320|+			"controlsAll": true,
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			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
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321|    |-			popCount: 40,
|    | 321|+			"popCount": 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			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
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322|    |-			popLimit: 30,
|    | 322|+			"popLimit": 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			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
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323|    |-			popMax: 300,
|    | 323|+			"popMax": 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			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
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324|    |-			panelEntities: [],
|    | 324|+			"panelEntities": [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			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
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325|    |-			resourceCounts: { food: 200 },
|    | 325|+			"resourceCounts": { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			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
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325|    |-			resourceCounts: { food: 200 },
|    | 325|+			resourceCounts: { "food": 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			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
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326|    |-			trainingBlocked: false,
|    | 326|+			"trainingBlocked": false,
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329| 329| 			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
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327|    |-			state: "active",
|    | 327|+			"state": "active",
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			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
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328|    |-			team: -1,
|    | 328|+			"team": -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			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
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329|    |-			teamsLocked: false,
|    | 329|+			"teamsLocked": false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			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
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330|    |-			cheatsEnabled: false,
|    | 330|+			"cheatsEnabled": false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			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
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331|    |-			disabledTemplates: {},
|    | 331|+			"disabledTemplates": {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			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
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332|    |-			disabledTechnologies: {},
|    | 332|+			"disabledTechnologies": {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			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
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333|    |-			hasSharedDropsites: false,
|    | 333|+			"hasSharedDropsites": false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			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
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334|    |-			hasSharedLos: false,
|    | 334|+			"hasSharedLos": false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337| 337| 			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
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335|    |-			spyCostMultiplier: 1,
|    | 335|+			"spyCostMultiplier": 1,
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			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
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336|    |-			phase: "village",
|    | 336|+			"phase": "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			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
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337|    |-			isAlly: [true, true],
|    | 337|+			"isAlly": [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			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
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338|    |-			isMutualAlly: [false, false],
|    | 338|+			"isMutualAlly": [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			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
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339|    |-			isNeutral: [false, false],
|    | 339|+			"isNeutral": [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			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
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340|    |-			isEnemy: [false, false],
|    | 340|+			"isEnemy": [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			"entityLimits": {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			entityLimits: { "Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			entityLimits: {"Bar": 20 },
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			"entityCounts": {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			entityCounts: { "Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			entityCounts: {"Bar": 0 },
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			"entityLimitChangers": {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			entityLimitChangers: { "Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			entityLimitChangers: {"Bar": {} },
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344|    |-			researchQueued: new Map(),
|    | 344|+			"researchQueued": new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			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
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345|    |-			researchStarted: new Set(),
|    | 345|+			"researchStarted": new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			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
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346|    |-			researchedTechs: new Set(),
|    | 346|+			"researchedTechs": new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			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
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347|    |-			classCounts: {},
|    | 347|+			"classCounts": {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			canBarter: false,
| 350| 350| 			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
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348|    |-			typeCountsByClass: {},
|    | 348|+			"typeCountsByClass": {},
| 349| 349| 			canBarter: false,
| 350| 350| 			barterPrices: {
| 351| 351| 				"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
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349|    |-			canBarter: false,
|    | 349|+			"canBarter": false,
| 350| 350| 			barterPrices: {
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"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
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			canBarter: false,
| 350|    |-			barterPrices: {
|    | 350|+			"barterPrices": {
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
|    | [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
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
| 354|    |-			statistics: {
|    | 354|+			"statistics": {
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357| 357| 					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
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
| 354| 354| 			statistics: {
| 355|    |-				resourcesGathered: {
|    | 355|+				"resourcesGathered": {
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358| 358| 					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
| 353| 353| 			},
| 354| 354| 			statistics: {
| 355| 355| 				resourcesGathered: {
| 356|    |-					food: 100,
|    | 356|+					"food": 100,
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359| 359| 					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
| 354| 354| 			statistics: {
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357|    |-					wood: 0,
|    | 357|+					"wood": 0,
| 358| 358| 					metal: 0,
| 359| 359| 					stone: 0,
| 360| 360| 					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
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358|    |-					metal: 0,
|    | 358|+					"metal": 0,
| 359| 359| 					stone: 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
|    | [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
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359|    |-					stone: 0,
|    | 359|+					"stone": 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
| 362| 362| 				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
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359| 359| 					stone: 0,
| 360|    |-					vegetarianFood: 0
|    | 360|+					"vegetarianFood": 0
| 361| 361| 				},
| 362| 362| 				percentMapExplored: 10
| 363| 363| 			}
|    | [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
| 359| 359| 					stone: 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
| 362|    |-				percentMapExplored: 10
|    | 362|+				"percentMapExplored": 10
| 363| 363| 			}
| 364| 364| 		}
| 365| 365| 	],
|    | [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
| 363| 363| 			}
| 364| 364| 		}
| 365| 365| 	],
| 366|    |-	circularMap: false,
|    | 366|+	"circularMap": false,
| 367| 367| 	timeElapsed: 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369| 369| 	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
| 364| 364| 		}
| 365| 365| 	],
| 366| 366| 	circularMap: false,
| 367|    |-	timeElapsed: 0,
|    | 367|+	"timeElapsed": 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369| 369| 	alliedVictory: false
| 370| 370| });
|    | [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
| 366| 366| 	circularMap: false,
| 367| 367| 	timeElapsed: 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369|    |-	alliedVictory: false
|    | 369|+	"alliedVictory": false
| 370| 370| });
| 371| 371| 
| 372| 372| 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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r": 1, "g":1, "b":1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g": 1, "b":1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g":1, "b": 1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g":1, "b":1, "a": 1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 396| 396| 			"isMutualAlly": [false, false],
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399|    |-			"entityLimits": {"Foo": 10},
|    | 399|+			"entityLimits": { "Foo": 10},
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"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
| 396| 396| 			"isMutualAlly": [false, false],
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399|    |-			"entityLimits": {"Foo": 10},
|    | 399|+			"entityLimits": {"Foo": 10 },
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"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
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400|    |-			"entityCounts": {"Foo": 5},
|    | 400|+			"entityCounts": { "Foo": 5},
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"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
| 397| 397| 			"isNeutral": [false, false],
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400|    |-			"entityCounts": {"Foo": 5},
|    | 400|+			"entityCounts": {"Foo": 5 },
| 401| 401| 			"entityLimitChangers": {"Foo": {}},
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"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
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401|    |-			"entityLimitChangers": {"Foo": {}},
|    | 401|+			"entityLimitChangers": { "Foo": {}},
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"researchStarted": new Set(),
| 404| 404| 			"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
| 398| 398| 			"isEnemy": [true, true],
| 399| 399| 			"entityLimits": {"Foo": 10},
| 400| 400| 			"entityCounts": {"Foo": 5},
| 401|    |-			"entityLimitChangers": {"Foo": {}},
|    | 401|+			"entityLimitChangers": {"Foo": {} },
| 402| 402| 			"researchQueued": new Map(),
| 403| 403| 			"researchStarted": new Set(),
| 404| 404| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r": 1, "g":0, "b":0, "a":1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r":1, "g": 0, "b":0, "a":1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r":1, "g":0, "b": 0, "a":1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 446| 446| 		{
| 447| 447| 			"name": "Player 2",
| 448| 448| 			"civ": "mace",
| 449|    |-			"color": { "r":1, "g":0, "b":0, "a":1 },
|    | 449|+			"color": { "r":1, "g":0, "b":0, "a": 1 },
| 450| 450| 			"controlsAll": true,
| 451| 451| 			"popCount": 40,
| 452| 452| 			"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
| 468| 468| 			"isMutualAlly": [false, false],
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471|    |-			"entityLimits": {"Bar": 20},
|    | 471|+			"entityLimits": { "Bar": 20},
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"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
| 468| 468| 			"isMutualAlly": [false, false],
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471|    |-			"entityLimits": {"Bar": 20},
|    | 471|+			"entityLimits": {"Bar": 20 },
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"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
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472|    |-			"entityCounts": {"Bar": 0},
|    | 472|+			"entityCounts": { "Bar": 0},
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"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
| 469| 469| 			"isNeutral": [false, false],
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472|    |-			"entityCounts": {"Bar": 0},
|    | 472|+			"entityCounts": {"Bar": 0 },
| 473| 473| 			"entityLimitChangers": {"Bar": {}},
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"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
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473|    |-			"entityLimitChangers": {"Bar": {}},
|    | 473|+			"entityLimitChangers": { "Bar": {}},
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"researchStarted": new Set(),
| 476| 476| 			"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
| 470| 470| 			"isEnemy": [false, false],
| 471| 471| 			"entityLimits": {"Bar": 20},
| 472| 472| 			"entityCounts": {"Bar": 0},
| 473|    |-			"entityLimitChangers": {"Bar": {}},
|    | 473|+			"entityLimitChangers": {"Bar": {} },
| 474| 474| 			"researchQueued": new Map(),
| 475| 475| 			"researchStarted": new Set(),
| 476| 476| 			"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
| 524| 524| 
| 525| 525| 
| 526| 526| AddMock(10, IID_Builder, {
| 527|    |-	GetEntitiesList: function() {
|    | 527|+	"GetEntitiesList": function() {
| 528| 528| 		return ["test1", "test2"];
| 529| 529| 	},
| 530| 530| });
|    | [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
| 530| 530| });
| 531| 531| 
| 532| 532| AddMock(10, IID_Health, {
| 533|    |-	GetHitpoints: function() { return 50; },
|    | 533|+	"GetHitpoints": function() { return 50; },
| 534| 534| 	GetMaxHitpoints: function() { return 60; },
| 535| 535| 	IsRepairable: function() { return false; },
| 536| 536| 	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
| 531| 531| 
| 532| 532| AddMock(10, IID_Health, {
| 533| 533| 	GetHitpoints: function() { return 50; },
| 534|    |-	GetMaxHitpoints: function() { return 60; },
|    | 534|+	"GetMaxHitpoints": function() { return 60; },
| 535| 535| 	IsRepairable: function() { return false; },
| 536| 536| 	IsUnhealable: function() { return false; }
| 537| 537| });
|    | [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
| 532| 532| AddMock(10, IID_Health, {
| 533| 533| 	GetHitpoints: function() { return 50; },
| 534| 534| 	GetMaxHitpoints: function() { return 60; },
| 535|    |-	IsRepairable: function() { return false; },
|    | 535|+	"IsRepairable": function() { return false; },
| 536| 536| 	IsUnhealable: function() { return false; }
| 537| 537| });
| 538| 538| 
|    | [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
| 533| 533| 	GetHitpoints: function() { return 50; },
| 534| 534| 	GetMaxHitpoints: function() { return 60; },
| 535| 535| 	IsRepairable: function() { return false; },
| 536|    |-	IsUnhealable: function() { return false; }
|    | 536|+	"IsUnhealable": function() { return false; }
| 537| 537| });
| 538| 538| 
| 539| 539| 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
| 537| 537| });
| 538| 538| 
| 539| 539| AddMock(10, IID_Identity, {
| 540|    |-	GetClassesList: function() { return ["class1", "class2"]; },
|    | 540|+	"GetClassesList": function() { return ["class1", "class2"]; },
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	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
| 538| 538| 
| 539| 539| AddMock(10, IID_Identity, {
| 540| 540| 	GetClassesList: function() { return ["class1", "class2"]; },
| 541|    |-	GetVisibleClassesList: function() { return ["class3", "class4"]; },
|    | 541|+	"GetVisibleClassesList": function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544| 544| 	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
| 539| 539| AddMock(10, IID_Identity, {
| 540| 540| 	GetClassesList: function() { return ["class1", "class2"]; },
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542|    |-	GetRank: function() { return "foo"; },
|    | 542|+	"GetRank": function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544| 544| 	HasClass: function() { return true; },
| 545| 545| 	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
| 540| 540| 	GetClassesList: function() { return ["class1", "class2"]; },
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543|    |-	GetSelectionGroupName: function() { return "Selection Group Name"; },
|    | 543|+	"GetSelectionGroupName": function() { return "Selection Group Name"; },
| 544| 544| 	HasClass: function() { return true; },
| 545| 545| 	IsUndeletable: function() { return false; }
| 546| 546| });
|    | [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
| 541| 541| 	GetVisibleClassesList: function() { return ["class3", "class4"]; },
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544|    |-	HasClass: function() { return true; },
|    | 544|+	"HasClass": function() { return true; },
| 545| 545| 	IsUndeletable: function() { return false; }
| 546| 546| });
| 547| 547| 
|    | [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
| 542| 542| 	GetRank: function() { return "foo"; },
| 543| 543| 	GetSelectionGroupName: function() { return "Selection Group Name"; },
| 544| 544| 	HasClass: function() { return true; },
| 545|    |-	IsUndeletable: function() { return false; }
|    | 545|+	"IsUndeletable": function() { return false; }
| 546| 546| });
| 547| 547| 
| 548| 548| 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
| 546| 546| });
| 547| 547| 
| 548| 548| AddMock(10, IID_Position, {
| 549|    |-	GetTurretParent: function() {return INVALID_ENTITY;},
|    | 549|+	"GetTurretParent": function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551| 551| 		return {x:1, y:2, z:3};
| 552| 552| 	},
|    | [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
| 547| 547| 
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550|    |-	GetPosition: function() {
|    | 550|+	"GetPosition": function() {
| 551| 551| 		return {x:1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return { x:1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {"x":1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x: 1, y:2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, "y":2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y: 2, z:3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y:2, "z":3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y:2, z: 3};
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 548| 548| AddMock(10, IID_Position, {
| 549| 549| 	GetTurretParent: function() {return INVALID_ENTITY;},
| 550| 550| 	GetPosition: function() {
| 551|    |-		return {x:1, y:2, z:3};
|    | 551|+		return {x:1, y:2, z:3 };
| 552| 552| 	},
| 553| 553| 	IsInWorld: function() {
| 554| 554| 		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
| 550| 550| 	GetPosition: function() {
| 551| 551| 		return {x:1, y:2, z:3};
| 552| 552| 	},
| 553|    |-	IsInWorld: function() {
|    | 553|+	"IsInWorld": function() {
| 554| 554| 		return true;
| 555| 555| 	}
| 556| 556| });
|    | [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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": { x:1, y:2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {"x":1, y:2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x: 1, y:2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, "y":2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y: 2, z:3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y:2, "z":3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y:2, z: 3},
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 574| 574| 		"selectionGroupName": "Selection Group Name",
| 575| 575| 		"canDelete": true
| 576| 576| 	},
| 577|    |-	"position": {x:1, y:2, z:3},
|    | 577|+	"position": {x:1, y:2, z:3 },
| 578| 578| 	"hitpoints": 50,
| 579| 579| 	"maxHitpoints": 60,
| 580| 580| 	"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
| 582| 582| 	"builder": true,
| 583| 583| 	"canGarrison": false,
| 584| 584| 	"visibility": "visible",
| 585|    |-	"isBarterMarket":true,
|    | 585|+	"isBarterMarket": true,
| 586| 586| 	"resourceTrickle": {
| 587| 587| 		"interval": 1250,
| 588| 588| 		"rates": { "food": 2, "wood": 3, "stone": 5, "metal": 9 }
Executing section cli...

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

wraitii added inline comments.Aug 22 2019, 7:17 PM
binaries/data/mods/public/globalscripts/AttackEffects.js
1 ↗(On Diff #9392)

Because "le mieux est l'ennemi du bien"

binaries/data/mods/public/gui/common/tooltips.js
273 ↗(On Diff #9392)

In templates it's a standalone node, so it needs to be explicitly named.

binaries/data/mods/public/maps/scripts/CaptureTheRelic.js
23 ↗(On Diff #9392)

just a renaming™.

binaries/data/mods/public/simulation/components/Attack.js
344 ↗(On Diff #9392)

?

binaries/data/mods/public/simulation/components/DelayedDamage.js
35 ↗(On Diff #9392)

Generally no - also again this just moves code.

binaries/data/mods/public/simulation/components/Health.js
190 ↗(On Diff #9392)

Done.

243 ↗(On Diff #9392)

meh.

binaries/data/mods/public/simulation/helpers/Attacking.js
80 ↗(On Diff #9392)

no?

110 ↗(On Diff #9392)

just more code movement.

wraitii updated this revision to Diff 9443.Aug 22 2019, 7:17 PM

Also address Stan's comments.

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

Linter detected issues:
Executing section Source...
Executing section JS...
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetInterval' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  35|  35| 
|  36|  36| 
|  37|  37| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
|  38|    |-		SetInterval: function() { },
|    |  38|+		"SetInterval": function() { },
|  39|  39| 		SetTimeout: function() { },
|  40|  40| 	});
|  41|  41| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  36|  36| 
|  37|  37| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
|  38|  38| 		SetInterval: function() { },
|  39|    |-		SetTimeout: function() { },
|    |  39|+		"SetTimeout": function() { },
|  40|  40| 	});
|  41|  41| 
|  42|  42| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CreateActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  40|  40| 	});
|  41|  41| 
|  42|  42| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  43|    |-		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|    |  43|+		"CreateActiveQuery": function(ent, minRange, maxRange, players, iid, flags) {
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'EnableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  43|  43| 		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|    |-		EnableActiveQuery: function(id) { },
|    |  46|+		"EnableActiveQuery": function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'ResetActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|    |-		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|    |  47|+		"ResetActiveQuery": function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  44|  44| 			return 1;
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|    |-		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|    |  47|+		ResetActiveQuery: function(id) { if (mode == 0) return []; return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'DisableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  45|  45| 		},
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|    |-		DisableActiveQuery: function(id) { },
|    |  48|+		"DisableActiveQuery": function(id) { },
|  49|  49| 		GetEntityFlagMask: function(identifier) { },
|  50|  50| 	});
|  51|  51| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntityFlagMask' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  46|  46| 		EnableActiveQuery: function(id) { },
|  47|  47| 		ResetActiveQuery: function(id) { if (mode == 0) return []; else return [enemy]; },
|  48|  48| 		DisableActiveQuery: function(id) { },
|  49|    |-		GetEntityFlagMask: function(identifier) { },
|    |  49|+		"GetEntityFlagMask": function(identifier) { },
|  50|  50| 	});
|  51|  51| 
|  52|  52| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  50|  50| 	});
|  51|  51| 
|  52|  52| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  53|    |-		GetCurrentTemplateName: function(ent) { return "special/formations/line_closed"; },
|    |  53|+		"GetCurrentTemplateName": function(ent) { return "special/formations/line_closed"; },
|  54|  54| 	});
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  54|  54| 	});
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  57|    |-		GetPlayerByID: function(id) { return playerEntity; },
|    |  57|+		"GetPlayerByID": function(id) { return playerEntity; },
|  58|  58| 		GetNumPlayers: function() { return 2; },
|  59|  59| 	});
|  60|  60| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  55|  55| 
|  56|  56| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  57|  57| 		GetPlayerByID: function(id) { return playerEntity; },
|  58|    |-		GetNumPlayers: function() { return 2; },
|    |  58|+		"GetNumPlayers": function() { return 2; },
|  59|  59| 	});
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  59|  59| 	});
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|    |-		IsAlly: function() { return false; },
|    |  62|+		"IsAlly": function() { return false; },
|  63|  63| 		IsEnemy: function() { return true; },
|  64|  64| 		GetEnemies: function() { return []; },
|  65|  65| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  60|  60| 
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|  62| 		IsAlly: function() { return false; },
|  63|    |-		IsEnemy: function() { return true; },
|    |  63|+		"IsEnemy": function() { return true; },
|  64|  64| 		GetEnemies: function() { return []; },
|  65|  65| 	});
|  66|  66| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEnemies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  61|  61| 	AddMock(playerEntity, IID_Player, {
|  62|  62| 		IsAlly: function() { return false; },
|  63|  63| 		IsEnemy: function() { return true; },
|  64|    |-		GetEnemies: function() { return []; },
|    |  64|+		"GetEnemies": function() { return []; },
|  65|  65| 	});
|  66|  66| 
|  67|  67| 	AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  71|  71| 	var unitAI = ConstructComponent(unit, "UnitAI", { "FormationController": "false", "DefaultStance": "aggressive" });
|  72|  72| 
|  73|  73| 	AddMock(unit, IID_Identity, {
|  74|    |-		GetClassesList: function() { return []; },
|    |  74|+		"GetClassesList": function() { return []; },
|  75|  75| 	});
|  76|  76| 
|  77|  77| 	AddMock(unit, IID_Ownership, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetOwner' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  75|  75| 	});
|  76|  76| 
|  77|  77| 	AddMock(unit, IID_Ownership, {
|  78|    |-		GetOwner: function() { return 1; },
|    |  78|+		"GetOwner": function() { return 1; },
|  79|  79| 	});
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  79|  79| 	});
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    |  82|+		"GetTurretParent": function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  80|  80| 
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|    |-		GetPosition: function() { return new Vector3D(); },
|    |  83|+		"GetPosition": function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  81|  81| 	AddMock(unit, IID_Position, {
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|    |-		GetPosition2D: function() { return new Vector2D(); },
|    |  84|+		"GetPosition2D": function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|  87|  87| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  82|  82| 		GetTurretParent: function() { return INVALID_ENTITY; },
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|    |-		GetRotation: function() { return { "y": 0 }; },
|    |  85|+		"GetRotation": function() { return { "y": 0 }; },
|  86|  86| 		IsInWorld: function() { return true; },
|  87|  87| 	});
|  88|  88| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  83|  83| 		GetPosition: function() { return new Vector3D(); },
|  84|  84| 		GetPosition2D: function() { return new Vector2D(); },
|  85|  85| 		GetRotation: function() { return { "y": 0 }; },
|  86|    |-		IsInWorld: function() { return true; },
|    |  86|+		"IsInWorld": function() { return true; },
|  87|  87| 	});
|  88|  88| 
|  89|  89| 	AddMock(unit, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  95|  95| 	});
|  96|  96| 
|  97|  97| 	AddMock(unit, IID_Vision, {
|  98|    |-		GetRange: function() { return 10; },
|    |  98|+		"GetRange": function() { return 10; },
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102|    |-		GetRange: function() { return { "max": 10, "min": 0}; },
|    | 102|+		"GetRange": function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  99|  99| 	});
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102|    |-		GetRange: function() { return { "max": 10, "min": 0}; },
|    | 102|+		GetRange: function() { return { "max": 10, "min": 0 }; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetFullAttackRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103|    |-		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 103|+		"GetFullAttackRange": function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 100| 100| 
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103|    |-		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 103|+		GetFullAttackRange: function() { return { "max": 40, "min": 0 }; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBestAttackAgainst' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 101| 101| 	AddMock(unit, IID_Attack, {
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104|    |-		GetBestAttackAgainst: function(t) { return "melee"; },
|    | 104|+		"GetBestAttackAgainst": function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 102| 102| 		GetRange: function() { return { "max": 10, "min": 0}; },
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105|    |-		GetPreference: function(t) { return 0; },
|    | 105|+		"GetPreference": function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTimers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 103| 103| 		GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106|    |-		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | 106|+		"GetTimers": function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
| 109| 109| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttack' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 104| 104| 		GetBestAttackAgainst: function(t) { return "melee"; },
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107|    |-		CanAttack: function(v) { return true; },
|    | 107|+		"CanAttack": function(v) { return true; },
| 108| 108| 		CompareEntitiesByPreference: function(a, b) { return 0; },
| 109| 109| 	});
| 110| 110| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CompareEntitiesByPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 105| 105| 		GetPreference: function(t) { return 0; },
| 106| 106| 		GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 107| 107| 		CanAttack: function(v) { return true; },
| 108|    |-		CompareEntitiesByPreference: function(a, b) { return 0; },
|    | 108|+		"CompareEntitiesByPreference": function(a, b) { return 0; },
| 109| 109| 	});
| 110| 110| 
| 111| 111| 	unitAI.OnCreate();
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 116| 116| 	if (mode == 1)
| 117| 117| 	{
| 118| 118| 		AddMock(enemy, IID_Health, {
| 119|    |-			GetHitpoints: function() { return 10; },
|    | 119|+			"GetHitpoints": function() { return 10; },
| 120| 120| 		});
| 121| 121| 		AddMock(enemy, IID_UnitAI, {
| 122| 122| 			IsAnimal: function() { return false; }
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAnimal' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 119| 119| 			GetHitpoints: function() { return 10; },
| 120| 120| 		});
| 121| 121| 		AddMock(enemy, IID_UnitAI, {
| 122|    |-			IsAnimal: function() { return false; }
|    | 122|+			"IsAnimal": function() { return false; }
| 123| 123| 		});
| 124| 124| 	}
| 125| 125| 	else if (mode == 2)
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 124| 124| 	}
| 125| 125| 	else if (mode == 2)
| 126| 126| 		AddMock(enemy, IID_Health, {
| 127|    |-			GetHitpoints: function() { return 0; },
|    | 127|+			"GetHitpoints": function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130| 130| 	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 127| 127| 			GetHitpoints: function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 130|+	var controllerFormation = ConstructComponent(controller, "Formation", { "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 127| 127| 			GetHitpoints: function() { return 0; },
| 128| 128| 		});
| 129| 129| 
| 130|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 130|+	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0 });
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'JumpTo' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 131| 131| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
| 134|    |-		JumpTo: function(x, z) { this.x = x; this.z = z; },
|    | 134|+		"JumpTo": function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 132| 132| 
| 133| 133| 	AddMock(controller, IID_Position, {
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    | 135|+		"GetTurretParent": function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 133| 133| 	AddMock(controller, IID_Position, {
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136|    |-		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
|    | 136|+		"GetPosition": function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 134| 134| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137|    |-		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | 137|+		"GetPosition2D": function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
| 140| 140| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 135| 135| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138|    |-		GetRotation: function() { return { "y": 0 }; },
|    | 138|+		"GetRotation": function() { return { "y": 0 }; },
| 139| 139| 		IsInWorld: function() { return true; },
| 140| 140| 	});
| 141| 141| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 136| 136| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 137| 137| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 138| 138| 		GetRotation: function() { return { "y": 0 }; },
| 139|    |-		IsInWorld: function() { return true; },
|    | 139|+		"IsInWorld": function() { return true; },
| 140| 140| 	});
| 141| 141| 
| 142| 142| 	AddMock(controller, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetInterval' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 186| 186| 	var unitAIs = [];
| 187| 187| 
| 188| 188| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
| 189|    |-		SetInterval: function() { },
|    | 189|+		"SetInterval": function() { },
| 190| 190| 		SetTimeout: function() { },
| 191| 191| 	});
| 192| 192| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'SetTimeout' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 187| 187| 
| 188| 188| 	AddMock(SYSTEM_ENTITY, IID_Timer, {
| 189| 189| 		SetInterval: function() { },
| 190|    |-		SetTimeout: function() { },
|    | 190|+		"SetTimeout": function() { },
| 191| 191| 	});
| 192| 192| 
| 193| 193| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CreateActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 192| 192| 
| 193| 193| 
| 194| 194| 	AddMock(SYSTEM_ENTITY, IID_RangeManager, {
| 195|    |-		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
|    | 195|+		"CreateActiveQuery": function(ent, minRange, maxRange, players, iid, flags) {
| 196| 196| 			return 1;
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'EnableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 195| 195| 		CreateActiveQuery: function(ent, minRange, maxRange, players, iid, flags) {
| 196| 196| 			return 1;
| 197| 197| 		},
| 198|    |-		EnableActiveQuery: function(id) { },
|    | 198|+		"EnableActiveQuery": function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'ResetActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 196| 196| 			return 1;
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199|    |-		ResetActiveQuery: function(id) { return [enemy]; },
|    | 199|+		"ResetActiveQuery": function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
| 202| 202| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'DisableActiveQuery' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 197| 197| 		},
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200|    |-		DisableActiveQuery: function(id) { },
|    | 200|+		"DisableActiveQuery": function(id) { },
| 201| 201| 		GetEntityFlagMask: function(identifier) { },
| 202| 202| 	});
| 203| 203| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEntityFlagMask' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 198| 198| 		EnableActiveQuery: function(id) { },
| 199| 199| 		ResetActiveQuery: function(id) { return [enemy]; },
| 200| 200| 		DisableActiveQuery: function(id) { },
| 201|    |-		GetEntityFlagMask: function(identifier) { },
|    | 201|+		"GetEntityFlagMask": function(identifier) { },
| 202| 202| 	});
| 203| 203| 
| 204| 204| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetCurrentTemplateName' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 202| 202| 	});
| 203| 203| 
| 204| 204| 	AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
| 205|    |-		GetCurrentTemplateName: function(ent) { return "special/formations/line_closed"; },
|    | 205|+		"GetCurrentTemplateName": function(ent) { return "special/formations/line_closed"; },
| 206| 206| 	});
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPlayerByID' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 206| 206| 	});
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
| 209|    |-		GetPlayerByID: function(id) { return playerEntity; },
|    | 209|+		"GetPlayerByID": function(id) { return playerEntity; },
| 210| 210| 		GetNumPlayers: function() { return 2; },
| 211| 211| 	});
| 212| 212| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetNumPlayers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 207| 207| 
| 208| 208| 	AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
| 209| 209| 		GetPlayerByID: function(id) { return playerEntity; },
| 210|    |-		GetNumPlayers: function() { return 2; },
|    | 210|+		"GetNumPlayers": function() { return 2; },
| 211| 211| 	});
| 212| 212| 
| 213| 213| 	AddMock(SYSTEM_ENTITY, IID_ObstructionManager, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsAlly' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 215| 215| 	});
| 216| 216| 
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218|    |-		IsAlly: function() { return false; },
|    | 218|+		"IsAlly": function() { return false; },
| 219| 219| 		IsEnemy: function() { return true; },
| 220| 220| 		GetEnemies: function() { return []; },
| 221| 221| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsEnemy' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 216| 216| 
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218| 218| 		IsAlly: function() { return false; },
| 219|    |-		IsEnemy: function() { return true; },
|    | 219|+		"IsEnemy": function() { return true; },
| 220| 220| 		GetEnemies: function() { return []; },
| 221| 221| 	});
| 222| 222| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetEnemies' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 217| 217| 	AddMock(playerEntity, IID_Player, {
| 218| 218| 		IsAlly: function() { return false; },
| 219| 219| 		IsEnemy: function() { return true; },
| 220|    |-		GetEnemies: function() { return []; },
|    | 220|+		"GetEnemies": function() { return []; },
| 221| 221| 	});
| 222| 222| 
| 223| 223| 	// create units
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetClassesList' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 228| 228| 		var unitAI = ConstructComponent(unit + i, "UnitAI", { "FormationController": "false", "DefaultStance": "aggressive" });
| 229| 229| 
| 230| 230| 		AddMock(unit + i, IID_Identity, {
| 231|    |-			GetClassesList: function() { return []; },
|    | 231|+			"GetClassesList": function() { return []; },
| 232| 232| 		});
| 233| 233| 
| 234| 234| 		AddMock(unit + i, IID_Ownership, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetOwner' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 232| 232| 		});
| 233| 233| 
| 234| 234| 		AddMock(unit + i, IID_Ownership, {
| 235|    |-			GetOwner: function() { return 1; },
|    | 235|+			"GetOwner": function() { return 1; },
| 236| 236| 		});
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 236| 236| 		});
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239|    |-			GetTurretParent: function() { return INVALID_ENTITY; },
|    | 239|+			"GetTurretParent": function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 237| 237| 
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240|    |-			GetPosition: function() { return new Vector3D(); },
|    | 240|+			"GetPosition": function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 238| 238| 		AddMock(unit + i, IID_Position, {
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241|    |-			GetPosition2D: function() { return new Vector2D(); },
|    | 241|+			"GetPosition2D": function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
| 244| 244| 		});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 239| 239| 			GetTurretParent: function() { return INVALID_ENTITY; },
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242|    |-			GetRotation: function() { return { "y": 0 }; },
|    | 242|+			"GetRotation": function() { return { "y": 0 }; },
| 243| 243| 			IsInWorld: function() { return true; },
| 244| 244| 		});
| 245| 245| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 240| 240| 			GetPosition: function() { return new Vector3D(); },
| 241| 241| 			GetPosition2D: function() { return new Vector2D(); },
| 242| 242| 			GetRotation: function() { return { "y": 0 }; },
| 243|    |-			IsInWorld: function() { return true; },
|    | 243|+			"IsInWorld": function() { return true; },
| 244| 244| 		});
| 245| 245| 
| 246| 246| 		AddMock(unit + i, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 252| 252| 		});
| 253| 253| 
| 254| 254| 		AddMock(unit + i, IID_Vision, {
| 255|    |-			GetRange: function() { return 10; },
|    | 255|+			"GetRange": function() { return 10; },
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			"GetRange": function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return { "max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'max'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return {"max": 10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 256| 256| 		});
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259|    |-			GetRange: function() { return {"max":10, "min": 0}; },
|    | 259|+			GetRange: function() { return {"max":10, "min": 0 }; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetFullAttackRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260|    |-			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 260|+			"GetFullAttackRange": function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 257| 257| 
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260|    |-			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
|    | 260|+			GetFullAttackRange: function() { return { "max": 40, "min": 0 }; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetBestAttackAgainst' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 258| 258| 		AddMock(unit + i, IID_Attack, {
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261|    |-			GetBestAttackAgainst: function(t) { return "melee"; },
|    | 261|+			"GetBestAttackAgainst": function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTimers' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 259| 259| 			GetRange: function() { return {"max":10, "min": 0}; },
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262|    |-			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
|    | 262|+			"GetTimers": function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
| 265| 265| 		});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttack' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 260| 260| 			GetFullAttackRange: function() { return { "max": 40, "min": 0}; },
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263|    |-			CanAttack: function(v) { return true; },
|    | 263|+			"CanAttack": function(v) { return true; },
| 264| 264| 			CompareEntitiesByPreference: function(a, b) { return 0; },
| 265| 265| 		});
| 266| 266| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CompareEntitiesByPreference' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 261| 261| 			GetBestAttackAgainst: function(t) { return "melee"; },
| 262| 262| 			GetTimers: function() { return { "prepare": 500, "repeat": 1000 }; },
| 263| 263| 			CanAttack: function(v) { return true; },
| 264|    |-			CompareEntitiesByPreference: function(a, b) { return 0; },
|    | 264|+			"CompareEntitiesByPreference": function(a, b) { return 0; },
| 265| 265| 		});
| 266| 266| 
| 267| 267| 		unitAI.OnCreate();
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetHitpoints' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 273| 273| 
| 274| 274| 	// create enemy
| 275| 275| 	AddMock(enemy, IID_Health, {
| 276|    |-		GetHitpoints: function() { return 40; },
|    | 276|+		"GetHitpoints": function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279| 279| 	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 276| 276| 		GetHitpoints: function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 279|+	var controllerFormation = ConstructComponent(controller, "Formation", { "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 276| 276| 		GetHitpoints: function() { return 40; },
| 277| 277| 	});
| 278| 278| 
| 279|    |-	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0});
|    | 279|+	var controllerFormation = ConstructComponent(controller, "Formation", {"FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", "WidthDepthRatio": 1, "UnitSeparationWidthMultiplier": 1, "UnitSeparationDepthMultiplier": 1, "SpeedMultiplier": 1, "Sloppyness": 0 });
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetTurretParent' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 280| 280| 	var controllerAI = ConstructComponent(controller, "UnitAI", { "FormationController": "true", "DefaultStance": "aggressive" });
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
| 283|    |-		GetTurretParent: function() { return INVALID_ENTITY; },
|    | 283|+		"GetTurretParent": function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'JumpTo' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 281| 281| 
| 282| 282| 	AddMock(controller, IID_Position, {
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284|    |-		JumpTo: function(x, z) { this.x = x; this.z = z; },
|    | 284|+		"JumpTo": function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 282| 282| 	AddMock(controller, IID_Position, {
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285|    |-		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
|    | 285|+		"GetPosition": function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetPosition2D' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 283| 283| 		GetTurretParent: function() { return INVALID_ENTITY; },
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286|    |-		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
|    | 286|+		"GetPosition2D": function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
| 289| 289| 	});
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRotation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 284| 284| 		JumpTo: function(x, z) { this.x = x; this.z = z; },
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287|    |-		GetRotation: function() { return { "y": 0 }; },
|    | 287|+		"GetRotation": function() { return { "y": 0 }; },
| 288| 288| 		IsInWorld: function() { return true; },
| 289| 289| 	});
| 290| 290| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'IsInWorld' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 285| 285| 		GetPosition: function() { return new Vector3D(this.x, 0, this.z); },
| 286| 286| 		GetPosition2D: function() { return new Vector2D(this.x, this.z); },
| 287| 287| 		GetRotation: function() { return { "y": 0 }; },
| 288|    |-		IsInWorld: function() { return true; },
|    | 288|+		"IsInWorld": function() { return true; },
| 289| 289| 	});
| 290| 290| 
| 291| 291| 	AddMock(controller, IID_UnitMotion, {
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'GetRange' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		"GetRange": function() { return {"max":10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return { "max":10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'max'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return {"max": 10, "min": 0}; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 297| 297| 	});
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300|    |-		GetRange: function() { return {"max":10, "min": 0}; },
|    | 300|+		GetRange: function() { return {"max":10, "min": 0 }; },
| 301| 301| 		CanAttackAsFormation: function() { return false; },
| 302| 302| 	});
| 303| 303| 
|    | [NORMAL] ESLintBear (quote-props):
|    | Unquoted property 'CanAttackAsFormation' found.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 298| 298| 
| 299| 299| 	AddMock(controller, IID_Attack, {
| 300| 300| 		GetRange: function() { return {"max":10, "min": 0}; },
| 301|    |-		CanAttackAsFormation: function() { return false; },
|    | 301|+		"CanAttackAsFormation": function() { return false; },
| 302| 302| 	});
| 303| 303| 
| 304| 304| 	controllerAI.OnCreate();
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 310| 310| 	for (var ent of unitAIs)
| 311| 311| 		TS_ASSERT_EQUALS(unitAI.fsmStateName, "INDIVIDUAL.COMBAT.ATTACKING");
| 312| 312| 
| 313|    |-	controllerAI.MoveIntoFormation({"name": "Circle"});
|    | 313|+	controllerAI.MoveIntoFormation({ "name": "Circle"});
| 314| 314| 
| 315| 315| 	// let all units be in position
| 316| 316| 	for (var ent of unitAIs)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 310| 310| 	for (var ent of unitAIs)
| 311| 311| 		TS_ASSERT_EQUALS(unitAI.fsmStateName, "INDIVIDUAL.COMBAT.ATTACKING");
| 312| 312| 
| 313|    |-	controllerAI.MoveIntoFormation({"name": "Circle"});
|    | 313|+	controllerAI.MoveIntoFormation({"name": "Circle" });
| 314| 314| 
| 315| 315| 	// let all units be in position
| 316| 316| 	for (var ent of unitAIs)

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
|  47| »   »   ResetActiveQuery:·function(id)·{·if·(mode·==·0)·return·[];·else·return·[enemy];·},
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Closing curly brace appears on the same line as the subsequent block.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 224| »   for·(var·i·=·0;·i·<·unitCount;·i++)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 316| »   for·(var·ent·of·unitAIs)
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 319| »   for·(var·ent·of·unitAIs)
|    | [NORMAL] JSHintBear:
|    | 'ent' is already defined.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 311| »   »   TS_ASSERT_EQUALS(unitAI.fsmStateName,·"INDIVIDUAL.COMBAT.ATTACKING");
|    | [NORMAL] JSHintBear:
|    | 'unitAI' used out of scope.

binaries/data/mods/public/simulation/components/tests/test_UnitAI.js
| 320| »   »   TS_ASSERT_EQUALS(unitAI.fsmStateName,·"INDIVIDUAL.COMBAT.ATTACKING");
|    | [NORMAL] JSHintBear:
|    | 'unitAI' used out of scope.
|    | [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
| 796| 796| 		updateEntityColor(data.showAllStatusBars && (i == player || player == -1) ?
| 797| 797| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer, IID_StatusBars] :
| 798| 798| 			[IID_Minimap, IID_RangeOverlayRenderer, IID_RallyPointRenderer],
| 799|    |-			cmpRangeManager.GetEntitiesByPlayer(i));
|    | 799|+		cmpRangeManager.GetEntitiesByPlayer(i));
| 800| 800| 	}
| 801| 801| 	updateEntityColor([IID_Selectable, IID_StatusBars], data.selected);
| 802| 802| 	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
|1629|1629| 			{
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|    |-						"x": pos.x,
|    |1632|+					"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"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
|1630|1630| 				minDist2 = dist2;
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|    |-						"z": pos.z,
|    |1633|+					"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|    | [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
|1631|1631| 				minDistEntitySnapData = {
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|    |-						"angle": cmpPosition.GetRotation().y,
|    |1634|+					"angle": cmpPosition.GetRotation().y,
|1635|1635| 						"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|    | [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
|1632|1632| 						"x": pos.x,
|1633|1633| 						"z": pos.z,
|1634|1634| 						"angle": cmpPosition.GetRotation().y,
|1635|    |-						"ent": ent
|    |1635|+					"ent": ent
|1636|1636| 				};
|1637|1637| 			}
|1638|1638| 		}
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 389| 389| function getRepairTimeTooltip(entState)
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392|    |-			"label": headerFont(translate("Number of repairers:")),
|    | 392|+		"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 390| 390| {
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393|    |-			"details": entState.repairable.numBuilders
|    | 393|+		"details": entState.repairable.numBuilders
| 394| 394| 		}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 391| 391| 	return sprintf(translate("%(label)s %(details)s"), {
| 392| 392| 			"label": headerFont(translate("Number of repairers:")),
| 393| 393| 			"details": entState.repairable.numBuilders
| 394|    |-		}) + "\n" + (entState.repairable.numBuilders ?
|    | 394|+	}) + "\n" + (entState.repairable.numBuilders ?
| 395| 395| 		sprintf(translatePlural(
| 396| 396| 			"Add another worker to speed up the repairs by %(second)s second.",
| 397| 397| 			"Add another worker to speed up the repairs by %(second)s seconds.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 411| 411| function getBuildTimeTooltip(entState)
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414|    |-			"label": headerFont(translate("Number of builders:")),
|    | 414|+		"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 3.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 412| 412| {
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415|    |-			"details": entState.foundation.numBuilders
|    | 415|+		"details": entState.foundation.numBuilders
| 416| 416| 		}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 1 tab but found 2.
|----|    | /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/gui/common/tooltips.js
| 413| 413| 	return sprintf(translate("%(label)s %(details)s"), {
| 414| 414| 			"label": headerFont(translate("Number of builders:")),
| 415| 415| 			"details": entState.foundation.numBuilders
| 416|    |-		}) + "\n" + (entState.foundation.numBuilders ?
|    | 416|+	}) + "\n" + (entState.foundation.numBuilders ?
| 417| 417| 		sprintf(translatePlural(
| 418| 418| 			"Add another worker to speed up the construction by %(second)s second.",
| 419| 419| 			"Add another worker to speed up the construction by %(second)s seconds.",

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 801| »   »   if·(this.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 818| »   »   if·(this.position()·!==·undefined·&&·unitToFleeFrom.position()·!==·undefined)·{
|    | [NORMAL] ESLintBear (brace-rules/brace-on-same-line):
|    | Opening curly brace appears on the same line as controlling statement.

binaries/data/mods/public/simulation/ai/common-api/entity.js
| 948| }(API3);
|    | [MAJOR] ESLintBear (no-use-before-define):
|    | 'API3' was used before it was defined.
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|  18|  18| 	this.cp = [];
|  19|  19| };
|  20|  20| 
|  21|    |-//// Interface functions ////
|    |  21|+// // Interface functions ////
|  22|  22| 
|  23|  23| /**
|  24|  24|  * Returns the current capture points array
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 145| 145| 	return sourceEnemyCp > 0;
| 146| 146| };
| 147| 147| 
| 148|    |-//// Private functions ////
|    | 148|+// // Private functions ////
| 149| 149| 
| 150| 150| /**
| 151| 151|  * This has to be called whenever the capture points are changed.
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/Capturable.js
| 260| 260| 	Engine.PostMessage(this.entity, MT_CaptureRegenStateChanged, { "regenerating": true, "regenRate": regenRate, "territoryDecay": decay });
| 261| 261| };
| 262| 262| 
| 263|    |-//// Message Listeners ////
|    | 263|+// // Message Listeners ////
| 264| 264| 
| 265| 265| Capturable.prototype.OnValueModification = function(msg)
| 266| 266| {

binaries/data/mods/public/simulation/components/Capturable.js
| 192| »   »   var·garrisonRegenRate·=·0;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' is already defined.

binaries/data/mods/public/simulation/components/Capturable.js
| 194| »   return·regenRate·+·garrisonRegenRate;
|    | [NORMAL] JSHintBear:
|    | 'garrisonRegenRate' used out of scope.
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '||' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/globalscripts/Templates.js
|  87|  87| 		// If the elements are still strings, split them by space or by '+'
|  88|  88| 		if (typeof sublist == "string")
|  89|  89| 			sublist = sublist.split(/[+\s]+/);
|  90|    |-		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1)
|  91|    |-		                    || (c[0] != "!" && classes.indexOf(c) != -1)))
|    |  90|+		if (sublist.every(c => (c[0] == "!" && classes.indexOf(c.substr(1)) == -1) ||
|    |  91|+		                    (c[0] != "!" && classes.indexOf(c) != -1)))
|  92|  92| 			return true;
|  93|  93| 	}
|  94|  94| 

binaries/data/mods/public/globalscripts/Templates.js
|  91| »   »   ····················||·(c[0]·!=·"!"·&&·classes.indexOf(c)·!=·-1)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
| 762| 762| 					this.FinishOrder();
| 763| 763| 					return;
| 764| 764| 				}
| 765|    |-				else
| 766|    |-				{
|    | 765|+				
| 767| 766| 					this.SetNextState("GARRISON.APPROACHING");
| 768| 767| 					return;
| 769|    |-				}
|    | 768|+				
| 770| 769| 			}
| 771| 770| 
| 772| 771| 			this.SetNextState("GARRISON.GARRISONING");
|    | [NORMAL] ESLintBear (key-spacing):
|    | Missing space before value for key 'GARRISON'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|1030|1030| 			},
|1031|1031| 		},
|1032|1032| 
|1033|    |-		"GARRISON":{
|    |1033|+		"GARRISON": {
|1034|1034| 			"enter": function() {
|1035|1035| 				// If the garrisonholder should pickup, warn it so it can take needed action
|1036|1036| 				var cmpGarrisonHolder = Engine.QueryInterface(this.order.data.target, IID_GarrisonHolder);
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|1979|1979| 
|1980|1980| 				"Attacked": function(msg) {
|1981|1981| 					// If we are capturing and are attacked by something that we would not capture, attack that entity instead
|1982|    |-					if (this.order.data.attackType == "Capture" && (this.GetStance().targetAttackersAlways || !this.order.data.force)
|1983|    |-						&& this.order.data.target != msg.data.attacker && this.GetBestAttackAgainst(msg.data.attacker, true) != "Capture")
|    |1982|+					if (this.order.data.attackType == "Capture" && (this.GetStance().targetAttackersAlways || !this.order.data.force) &&
|    |1983|+						this.order.data.target != msg.data.attacker && this.GetBestAttackAgainst(msg.data.attacker, true) != "Capture")
|1984|1984| 						this.RespondToTargetedEntities([msg.data.attacker]);
|1985|1985| 				},
|1986|1986| 			},
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|2674|2674| 					{
|2675|2675| 						// The building was already finished/fully repaired before we arrived;
|2676|2676| 						// let the ConstructionFinished handler handle this.
|2677|    |-						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget});
|    |2677|+						this.OnGlobalConstructionFinished({ "entity": this.repairTarget, "newentity": this.repairTarget});
|2678|2678| 						return true;
|2679|2679| 					}
|2680|2680| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|2674|2674| 					{
|2675|2675| 						// The building was already finished/fully repaired before we arrived;
|2676|2676| 						// let the ConstructionFinished handler handle this.
|2677|    |-						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget});
|    |2677|+						this.OnGlobalConstructionFinished({"entity": this.repairTarget, "newentity": this.repairTarget });
|2678|2678| 						return true;
|2679|2679| 					}
|2680|2680| 
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 2 tabs but found 7.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3187|3187| 		"COMBAT": "INDIVIDUAL.COMBAT", // reuse the same combat behaviour for animals
|3188|3188| 
|3189|3189| 		"WALKING": "INDIVIDUAL.WALKING",	// reuse the same walking behaviour for animals
|3190|    |-							// only used for domestic animals
|    |3190|+		// only used for domestic animals
|3191|3191| 	},
|3192|3192| };
|3193|3193| 
|    | [NORMAL] ESLintBear (no-unneeded-ternary):
|    | Unnecessary use of boolean literals in conditional expression.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3244|3244| 
|3245|3245| UnitAI.prototype.IsAnimal = function()
|3246|3246| {
|3247|    |-	return (this.template.NaturalBehaviour ? true : false);
|    |3247|+	return (!!this.template.NaturalBehaviour);
|3248|3248| };
|3249|3249| 
|3250|3250| UnitAI.prototype.IsDangerousAnimal = function()
|    | [NORMAL] ESLintBear (comma-spacing):
|    | A space is required after ','.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3360|3360| 		{
|3361|3361| 			let index = this.GetCurrentState().indexOf(".");
|3362|3362| 			if (index != -1)
|3363|    |-				this.UnitFsm.SwitchToNextState(this, this.GetCurrentState().slice(0,index));
|    |3363|+				this.UnitFsm.SwitchToNextState(this, this.GetCurrentState().slice(0, index));
|3364|3364| 			this.Stop(false);
|3365|3365| 		}
|3366|3366| 
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3416|3416| 		if (this.orderQueue[i].type != "PickupUnit" || this.orderQueue[i].data.target != msg.entity)
|3417|3417| 			continue;
|3418|3418| 		if (i == 0)
|3419|    |-			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg});
|    |3419|+			this.UnitFsm.ProcessMessage(this, { "type": "PickupCanceled", "data": msg});
|3420|3420| 		else
|3421|3421| 			this.orderQueue.splice(i, 1);
|3422|3422| 		Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3416|3416| 		if (this.orderQueue[i].type != "PickupUnit" || this.orderQueue[i].data.target != msg.entity)
|3417|3417| 			continue;
|3418|3418| 		if (i == 0)
|3419|    |-			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg});
|    |3419|+			this.UnitFsm.ProcessMessage(this, {"type": "PickupCanceled", "data": msg });
|3420|3420| 		else
|3421|3421| 			this.orderQueue.splice(i, 1);
|3422|3422| 		Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3500|3500| };
|3501|3501| 
|3502|3502| 
|3503|    |-//// FSM linkage functions ////
|    |3503|+// // FSM linkage functions ////
|3504|3504| 
|3505|3505| // Setting the next state to the current state will leave/re-enter the top-most substate.
|3506|3506| UnitAI.prototype.SetNextState = function(state)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3670|3670| 				continue;
|3671|3671| 			if (this.orderQueue[i].type == type)
|3672|3672| 				continue;
|3673|    |-			this.orderQueue.splice(i, 0, {"type": type, "data": data});
|    |3673|+			this.orderQueue.splice(i, 0, { "type": type, "data": data});
|3674|3674| 			Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|3675|3675| 			return;
|3676|3676| 		}
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3670|3670| 				continue;
|3671|3671| 			if (this.orderQueue[i].type == type)
|3672|3672| 				continue;
|3673|    |-			this.orderQueue.splice(i, 0, {"type": type, "data": data});
|    |3673|+			this.orderQueue.splice(i, 0, {"type": type, "data": data });
|3674|3674| 			Engine.PostMessage(this.entity, MT_UnitAIOrderDataChanged, { "to": this.GetOrderData() });
|3675|3675| 			return;
|3676|3676| 		}
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3841|3841| 	if (data.timerRepeat === undefined)
|3842|3842| 		this.timer = undefined;
|3843|3843| 
|3844|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness});
|    |3844|+	this.UnitFsm.ProcessMessage(this, { "type": "Timer", "data": data, "lateness": lateness});
|3845|3845| };
|3846|3846| 
|3847|3847| /**
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3841|3841| 	if (data.timerRepeat === undefined)
|3842|3842| 		this.timer = undefined;
|3843|3843| 
|3844|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness});
|    |3844|+	this.UnitFsm.ProcessMessage(this, {"type": "Timer", "data": data, "lateness": lateness });
|3845|3845| };
|3846|3846| 
|3847|3847| /**
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3886|3886| 	// TODO: This is a bit inefficient since every unit listens to every
|3887|3887| 	// construction message - ideally we could scope it to only the one we're building
|3888|3888| 
|3889|    |-	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg});
|    |3889|+	this.UnitFsm.ProcessMessage(this, { "type": "ConstructionFinished", "data": msg});
|3890|3890| };
|3891|3891| 
|3892|3892| UnitAI.prototype.OnGlobalEntityRenamed = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3886|3886| 	// TODO: This is a bit inefficient since every unit listens to every
|3887|3887| 	// construction message - ideally we could scope it to only the one we're building
|3888|3888| 
|3889|    |-	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg});
|    |3889|+	this.UnitFsm.ProcessMessage(this, {"type": "ConstructionFinished", "data": msg });
|3890|3890| };
|3891|3891| 
|3892|3892| UnitAI.prototype.OnGlobalEntityRenamed = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3911|3911| 
|3912|3912| UnitAI.prototype.OnAttacked = function(msg)
|3913|3913| {
|3914|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg});
|    |3914|+	this.UnitFsm.ProcessMessage(this, { "type": "Attacked", "data": msg});
|3915|3915| };
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3911|3911| 
|3912|3912| UnitAI.prototype.OnAttacked = function(msg)
|3913|3913| {
|3914|    |-	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg});
|    |3914|+	this.UnitFsm.ProcessMessage(this, {"type": "Attacked", "data": msg });
|3915|3915| };
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|3918|3918| {
|3919|    |-	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data});
|    |3919|+	this.UnitFsm.ProcessMessage(this, { "type": "GuardedAttacked", "data": msg.data});
|3920|3920| };
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3916|3916| 
|3917|3917| UnitAI.prototype.OnGuardedAttacked = function(msg)
|3918|3918| {
|3919|    |-	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data});
|    |3919|+	this.UnitFsm.ProcessMessage(this, {"type": "GuardedAttacked", "data": msg.data });
|3920|3920| };
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|3923|3923| {
|3924|    |-	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to});
|    |3924|+	this.UnitFsm.ProcessMessage(this, { "type": "HealthChanged", "from": msg.from, "to": msg.to});
|3925|3925| };
|3926|3926| 
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3921|3921| 
|3922|3922| UnitAI.prototype.OnHealthChanged = function(msg)
|3923|3923| {
|3924|    |-	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to});
|    |3924|+	this.UnitFsm.ProcessMessage(this, {"type": "HealthChanged", "from": msg.from, "to": msg.to });
|3925|3925| };
|3926|3926| 
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|3928|3928| {
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|    |3930|+		this.UnitFsm.ProcessMessage(this, { "type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|3932| 		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3927|3927| UnitAI.prototype.OnRangeUpdate = function(msg)
|3928|3928| {
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|    |3930|+		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg });
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|3932| 		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|3930| 		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|    |3932|+		this.UnitFsm.ProcessMessage(this, { "type": "LosHealRangeUpdate", "data": msg});
|3933|3933| };
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3929|3929| 	if (msg.tag == this.losRangeQuery)
|3930|3930| 		this.UnitFsm.ProcessMessage(this, {"type": "LosRangeUpdate", "data": msg});
|3931|3931| 	else if (msg.tag == this.losHealRangeQuery)
|3932|    |-		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg});
|    |3932|+		this.UnitFsm.ProcessMessage(this, {"type": "LosHealRangeUpdate", "data": msg });
|3933|3933| };
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|3936|3936| {
|3937|    |-	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|    |3937|+	this.UnitFsm.ProcessMessage(this, { "type": "PackFinished", "packed": msg.packed});
|3938|3938| };
|3939|3939| 
|3940|3940| //// Helper functions to be called by the FSM ////
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3934|3934| 
|3935|3935| UnitAI.prototype.OnPackFinished = function(msg)
|3936|3936| {
|3937|    |-	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|    |3937|+	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed });
|3938|3938| };
|3939|3939| 
|3940|3940| //// Helper functions to be called by the FSM ////
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|3937|3937| 	this.UnitFsm.ProcessMessage(this, {"type": "PackFinished", "packed": msg.packed});
|3938|3938| };
|3939|3939| 
|3940|    |-//// Helper functions to be called by the FSM ////
|    |3940|+// // Helper functions to be called by the FSM ////
|3941|3941| 
|3942|3942| UnitAI.prototype.GetWalkSpeed = function()
|3943|3943| {
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4590|4590| UnitAI.prototype.AttackEntityInZone = function(ents)
|4591|4591| {
|4592|4592| 	var target = ents.find(target =>
|4593|    |-		this.CanAttack(target)
|4594|    |-		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|    |4593|+		this.CanAttack(target) &&
|    |4594|+		this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|4595|4595| 		&& (this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|4596|4596| 	);
|4597|4597| 	if (!target)
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4591|4591| {
|4592|4592| 	var target = ents.find(target =>
|4593|4593| 		this.CanAttack(target)
|4594|    |-		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true))
|4595|    |-		&& (this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|    |4594|+		&& this.CheckTargetDistanceFromHeldPosition(target, IID_Attack, this.GetBestAttackAgainst(target, true)) &&
|    |4595|+		(this.GetStance().respondChaseBeyondVision || this.CheckTargetIsInVisionRange(target))
|4596|4596| 	);
|4597|4597| 	if (!target)
|4598|4598| 		return false;
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before 'Engine'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4655|4655| 	// If we are guarding/escorting, don't abandon as long as the guarded unit is in target range of the attacker
|4656|4656| 	if (this.isGuardOf)
|4657|4657| 	{
|4658|    |-		var cmpUnitAI =  Engine.QueryInterface(target, IID_UnitAI);
|    |4658|+		var cmpUnitAI = Engine.QueryInterface(target, IID_UnitAI);
|4659|4659| 		var cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4660|4660| 		if (cmpUnitAI && cmpAttack &&
|4661|4661| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|    | [NORMAL] ESLintBear (indent):
|    | Expected indentation of 3 tabs but found 4.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4659|4659| 		var cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4660|4660| 		if (cmpUnitAI && cmpAttack &&
|4661|4661| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|4662|    |-				return false;
|    |4662|+			return false;
|4663|4663| 	}
|4664|4664| 
|4665|4665| 	// Stop if we're in hold-ground mode and it's too far from the holding point
|    | [NORMAL] ESLintBear (no-multi-spaces):
|    | Multiple spaces found before 'Engine'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4697|4697| 	// If we are guarding/escorting, chase at least as long as the guarded unit is in target range of the attacker
|4698|4698| 	if (this.isGuardOf)
|4699|4699| 	{
|4700|    |-		let cmpUnitAI =  Engine.QueryInterface(target, IID_UnitAI);
|    |4700|+		let cmpUnitAI = Engine.QueryInterface(target, IID_UnitAI);
|4701|4701| 		let cmpAttack = Engine.QueryInterface(target, IID_Attack);
|4702|4702| 		if (cmpUnitAI && cmpAttack &&
|4703|4703| 		    cmpAttack.GetAttackTypes().some(type => cmpUnitAI.CheckTargetAttackRange(this.isGuardOf, type)))
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4710|4710| 	return false;
|4711|4711| };
|4712|4712| 
|4713|    |-//// External interface functions ////
|    |4713|+// // External interface functions ////
|4714|4714| 
|4715|4715| UnitAI.prototype.SetFormationController = function(ent)
|4716|4716| {
|    | [NORMAL] ESLintBear (no-else-return):
|    | Unnecessary 'else' after 'return'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|4866|4866| 	{
|4867|4867| 		if (this.isGuardOf == target && this.order && this.order.type == "Guard")
|4868|4868| 			return;
|4869|    |-		else
|4870|    |-			this.RemoveGuard();
|    |4869|+		this.RemoveGuard();
|4871|4870| 	}
|4872|4871| 
|4873|4872| 	this.AddOrder("Guard", { "target": target, "force": false }, queued);
|    | [NORMAL] ESLintBear (no-trailing-spaces):
|    | Trailing spaces not allowed.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5198|5198| 	    this.workOrders.length && this.workOrders[0].type == "Trade")
|5199|5199| 	{
|5200|5200| 		let cmpTrader = Engine.QueryInterface(this.entity, IID_Trader);
|5201|    |-		if (cmpTrader.HasBothMarkets() && 
|    |5201|+		if (cmpTrader.HasBothMarkets() &&
|5202|5202| 		   (cmpTrader.GetFirstMarket() == target && cmpTrader.GetSecondMarket() == source ||
|5203|5203| 		    cmpTrader.GetFirstMarket() == source && cmpTrader.GetSecondMarket() == target))
|5204|5204| 		{
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5479|5479| 				{
|5480|5480| 					var cmpIdentity = Engine.QueryInterface(targ, IID_Identity);
|5481|5481| 					var targetClasses = this.order.data.targetClasses;
|5482|    |-					if (targetClasses.attack && cmpIdentity
|5483|    |-						&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|    |5482|+					if (targetClasses.attack && cmpIdentity &&
|    |5483|+						!MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5484|5484| 						continue;
|5485|5485| 					if (targetClasses.avoid && cmpIdentity
|5486|5486| 						&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5482|5482| 					if (targetClasses.attack && cmpIdentity
|5483|5483| 						&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5484|5484| 						continue;
|5485|    |-					if (targetClasses.avoid && cmpIdentity
|5486|    |-						&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    |5485|+					if (targetClasses.avoid && cmpIdentity &&
|    |5486|+						MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|5487|5487| 						continue;
|5488|5488| 					// Only used by the AIs to prevent some choices of targets
|5489|5489| 					if (targetClasses.vetoEntities && targetClasses.vetoEntities[targ])
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5505|5505| 		{
|5506|5506| 			var cmpIdentity = Engine.QueryInterface(targ, IID_Identity);
|5507|5507| 			var targetClasses = this.order.data.targetClasses;
|5508|    |-			if (cmpIdentity && targetClasses.attack
|5509|    |-				&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|    |5508|+			if (cmpIdentity && targetClasses.attack &&
|    |5509|+				!MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5510|5510| 				continue;
|5511|5511| 			if (cmpIdentity && targetClasses.avoid
|5512|5512| 				&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5508|5508| 			if (cmpIdentity && targetClasses.attack
|5509|5509| 				&& !MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.attack))
|5510|5510| 				continue;
|5511|    |-			if (cmpIdentity && targetClasses.avoid
|5512|    |-				&& MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|    |5511|+			if (cmpIdentity && targetClasses.avoid &&
|    |5512|+				MatchesClassList(cmpIdentity.GetClassesList(), targetClasses.avoid))
|5513|5513| 				continue;
|5514|5514| 			// Only used by the AIs to prevent some choices of targets
|5515|5515| 			if (targetClasses.vetoEntities && targetClasses.vetoEntities[targ])
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required after '{'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5665|5665| 
|5666|5666| UnitAI.prototype.SetHeldPosition = function(x, z)
|5667|5667| {
|5668|    |-	this.heldPosition = {"x": x, "z": z};
|    |5668|+	this.heldPosition = { "x": x, "z": z};
|5669|5669| };
|5670|5670| 
|5671|5671| UnitAI.prototype.SetHeldPositionOnEntity = function(entity)
|    | [NORMAL] ESLintBear (object-curly-spacing):
|    | A space is required before '}'.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5665|5665| 
|5666|5666| UnitAI.prototype.SetHeldPosition = function(x, z)
|5667|5667| {
|5668|    |-	this.heldPosition = {"x": x, "z": z};
|    |5668|+	this.heldPosition = {"x": x, "z": z };
|5669|5669| };
|5670|5670| 
|5671|5671| UnitAI.prototype.SetHeldPositionOnEntity = function(entity)
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5692|5692| 	return false;
|5693|5693| };
|5694|5694| 
|5695|    |-//// Helper functions ////
|    |5695|+// // Helper functions ////
|5696|5696| 
|5697|5697| UnitAI.prototype.CanAttack = function(target)
|5698|5698| {
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5896|5896| 	return cmpPack && cmpPack.IsPacking();
|5897|5897| };
|5898|5898| 
|5899|    |-//// Formation specific functions ////
|    |5899|+// // Formation specific functions ////
|5900|5900| 
|5901|5901| UnitAI.prototype.IsAttackingAsFormation = function()
|5902|5902| {
|    | [NORMAL] ESLintBear (operator-linebreak):
|    | '&&' should be placed at the end of the line.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5901|5901| UnitAI.prototype.IsAttackingAsFormation = function()
|5902|5902| {
|5903|5903| 	var cmpAttack = Engine.QueryInterface(this.entity, IID_Attack);
|5904|    |-	return cmpAttack && cmpAttack.CanAttackAsFormation()
|5905|    |-		&& this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|    |5904|+	return cmpAttack && cmpAttack.CanAttackAsFormation() &&
|    |5905|+		this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|5906|5906| };
|5907|5907| 
|5908|5908| //// Animal specific functions ////
|    | [NORMAL] ESLintBear (spaced-comment):
|    | Expected space or tab after '//' in comment.
|----|    | /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|    |++++| /zpool0/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
|5905|5905| 		&& this.GetCurrentState() == "FORMATIONCONTROLLER.COMBAT.ATTACKING";
|5906|5906| };
|5907|5907| 
|5908|    |-//// Animal specific functions ////
|    |5908|+// // Animal specific functions ////
|5909|5909| 
|5910|5910| UnitAI.prototype.MoveRandomly = function(distance)
|5911|5911| {

binaries/data/mods/public/simulation/components/UnitAI.js
| 331| »   »   »   return·true;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'Order.WalkToTarget' expected no return value.

binaries/data/mods/public/simulation/components/UnitAI.js
| 917| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
| 942| »   »   »   "enter":·function(msg)·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
| 992| »   »   »   »   »   return·true;
|    | [NORMAL] ESLintBear (consistent-return):
|    | Method 'enter' expected no return value.

binaries/data/mods/public/simulation/components/UnitAI.js
|1055| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1091| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1123| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1283| »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1340| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1515| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1537| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1569| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1723| »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1773| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|1851| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2028| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2131| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2386| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2419| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2525| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2591| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2630| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|2841| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|3022| »   »   »   »   "enter":·function()·{
|    | [NORMAL] ESLintBear (consistent-return):
|    | Expected to return a value at the end of method 'enter'.

binaries/data/mods/public/simulation/components/UnitAI.js
|3746| »   var·isWorkType·=·type·=>·type·==·"Gather"·||·type·==·"Trade"·||·type·==·"Repair"·||·type·==·"ReturnResource";
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'type' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4577| »   var·target·=·ents.find(target·=>·this.CanAttack(target));
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'target' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4592| »   var·target·=·ents.find(target·=>
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'target' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4638| »   var·ent·=·ents.find(ent·=>·this.CanHeal(ent));
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'ent' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|4661| »   »   ····cmpAttack.GetAttackTypes().some(type·=>·cmpUnitAI.CheckTargetAttackRange(this.isGuardOf,·type)))
|    | [NORMAL] ESLintBear (no-shadow):
|    | 'type' is already declared in the upper scope.

binaries/data/mods/public/simulation/components/UnitAI.js
|1983| »   »   »   »   »   »   &&·this.order.data.target·!=·msg.data.attacker·&&·this.GetBestAttackAgainst(msg.data.attacker,·true)·!=·"Capture")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|3708| »   »   var·order·=·{·"type":·type,·"data":·data·};
|    | [NORMAL] JSHintBear:
|    | 'order' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|3777| »   for·(var·i·=·0;·i·<·this.orderQueue.length;·++i)
|    | [NORMAL] JSHintBear:
|    | 'i' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|4594| »   »   &&·this.CheckTargetDistanceFromHeldPosition(target,·IID_Attack,·this.GetBestAttackAgainst(target,·true))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|4595| »   »   &&·(this.GetStance().respondChaseBeyondVision·||·this.CheckTargetIsInVisionRange(target))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5483| »   »   »   »   »   »   &&·!MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.attack))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5486| »   »   »   »   »   »   &&·MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.avoid))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5499| »   var·targets·=·this.GetTargetsFromUnit();
|    | [NORMAL] JSHintBear:
|    | 'targets' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5500| »   for·(var·targ·of·targets)
|    | [NORMAL] JSHintBear:
|    | 'targ' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5506| »   »   »   var·cmpIdentity·=·Engine.QueryInterface(targ,·IID_Identity);
|    | [NORMAL] JSHintBear:
|    | 'cmpIdentity' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5507| »   »   »   var·targetClasses·=·this.order.data.targetClasses;
|    | [NORMAL] JSHintBear:
|    | 'targetClasses' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5509| »   »   »   »   &&·!MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.attack))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5512| »   »   »   »   &&·MatchesClassList(cmpIdentity.GetClassesList(),·targetClasses.avoid))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|5587| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5590| »   »   var·range·=·cmpVision.GetRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5595| »   »   var·cmpRanged·=·Engine.QueryInterface(this.entity,·iid);
|    | [NORMAL] JSHintBear:
|    | 'cmpRanged' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5598| »   »   var·range·=·iid·!==·IID_Attack·?·cmpRanged.GetRange()·:·cmpRanged.GetFullAttackRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5599| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5609| »   »   var·cmpVision·=·Engine.QueryInterface(this.entity,·IID_Vision);
|    | [NORMAL] JSHintBear:
|    | 'cmpVision' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5612| »   »   var·range·=·cmpVision.GetRange();
|    | [NORMAL] JSHintBear:
|    | 'range' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|5905| »   »   &&·this.GetCurrentState()·==·"FORMATIONCONTROLLER.COMBAT.ATTACKING";
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.
|    | [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
|  47|  47| 	"GetResource": resource => ({
|  48|  48| 		"aiAnalysisInfluenceGroup":
|  49|  49| 			resource == "food" ? "ignore" :
|  50|    |-			resource == "wood" ? "abundant" : "sparse"
|    |  50|+				resource == "wood" ? "abundant" : "sparse"
|  51|  51| 	})
|  52|  52| };
|  53|  53| 
|    | [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
|  55|  55| 
|  56|  56| 
|  57|  57| AddMock(SYSTEM_ENTITY, IID_Barter, {
|  58|    |-	GetPrices: function() {
|    |  58|+	"GetPrices": function() {
|  59|  59| 		return {
|  60|  60| 			"buy": { "food": 150 },
|  61|  61| 			"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
|  61|  61| 			"sell": { "food": 25 }
|  62|  62| 		};
|  63|  63| 	},
|  64|    |-	PlayerHasMarket: function () { return false; }
|    |  64|+	"PlayerHasMarket": function () { return false; }
|  65|  65| });
|  66|  66| 
|  67|  67| 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
|  61|  61| 			"sell": { "food": 25 }
|  62|  62| 		};
|  63|  63| 	},
|  64|    |-	PlayerHasMarket: function () { return false; }
|    |  64|+	PlayerHasMarket: function() { return false; }
|  65|  65| });
|  66|  66| 
|  67|  67| 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
|  65|  65| });
|  66|  66| 
|  67|  67| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  68|    |-	GetVictoryConditions: () => ["conquest", "wonder"],
|    |  68|+	"GetVictoryConditions": () => ["conquest", "wonder"],
|  69|  69| 	GetAlliedVictory: function() { return false; }
|  70|  70| });
|  71|  71| 
|    | [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
|  66|  66| 
|  67|  67| AddMock(SYSTEM_ENTITY, IID_EndGameManager, {
|  68|  68| 	GetVictoryConditions: () => ["conquest", "wonder"],
|  69|    |-	GetAlliedVictory: function() { return false; }
|    |  69|+	"GetAlliedVictory": function() { return false; }
|  70|  70| });
|  71|  71| 
|  72|  72| 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
|  70|  70| });
|  71|  71| 
|  72|  72| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  73|    |-	GetNumPlayers: function() { return 2; },
|    |  73|+	"GetNumPlayers": function() { return 2; },
|  74|  74| 	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  75|  75| });
|  76|  76| 
|    | [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
|  71|  71| 
|  72|  72| AddMock(SYSTEM_ENTITY, IID_PlayerManager, {
|  73|  73| 	GetNumPlayers: function() { return 2; },
|  74|    |-	GetPlayerByID: function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|    |  74|+	"GetPlayerByID": function(id) { TS_ASSERT(id === 0 || id === 1); return 100+id; }
|  75|  75| });
|  76|  76| 
|  77|  77| 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
|  75|  75| });
|  76|  76| 
|  77|  77| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  78|    |-	GetLosVisibility: function(ent, player) { return "visible"; },
|    |  78|+	"GetLosVisibility": function(ent, player) { return "visible"; },
|  79|  79| 	GetLosCircular: function() { return false; }
|  80|  80| });
|  81|  81| 
|    | [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
|  76|  76| 
|  77|  77| AddMock(SYSTEM_ENTITY, IID_RangeManager, {
|  78|  78| 	GetLosVisibility: function(ent, player) { return "visible"; },
|  79|    |-	GetLosCircular: function() { return false; }
|    |  79|+	"GetLosCircular": function() { return false; }
|  80|  80| });
|  81|  81| 
|  82|  82| 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
|  80|  80| });
|  81|  81| 
|  82|  82| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  83|    |-	GetCurrentTemplateName: function(ent) { return "example"; },
|    |  83|+	"GetCurrentTemplateName": function(ent) { return "example"; },
|  84|  84| 	GetTemplate: function(name) { return ""; }
|  85|  85| });
|  86|  86| 
|    | [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
|  81|  81| 
|  82|  82| AddMock(SYSTEM_ENTITY, IID_TemplateManager, {
|  83|  83| 	GetCurrentTemplateName: function(ent) { return "example"; },
|  84|    |-	GetTemplate: function(name) { return ""; }
|    |  84|+	"GetTemplate": function(name) { return ""; }
|  85|  85| });
|  86|  86| 
|  87|  87| 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
|  85|  85| });
|  86|  86| 
|  87|  87| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  88|    |-	GetTime: function() { return 0; },
|    |  88|+	"GetTime": function() { return 0; },
|  89|  89| 	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|  90|  90| });
|  91|  91| 
|    | [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
|  86|  86| 
|  87|  87| AddMock(SYSTEM_ENTITY, IID_Timer, {
|  88|  88| 	GetTime: function() { return 0; },
|  89|    |-	SetTimeout: function(ent, iid, funcname, time, data) { return 0; }
|    |  89|+	"SetTimeout": function(ent, iid, funcname, time, data) { return 0; }
|  90|  90| });
|  91|  91| 
|  92|  92| 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
|  90|  90| });
|  91|  91| 
|  92|  92| AddMock(100, IID_Player, {
|  93|    |-	GetName: function() { return "Player 1"; },
|    |  93|+	"GetName": function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	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
|  91|  91| 
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|    |-	GetCiv: function() { return "gaia"; },
|    |  94|+	"GetCiv": function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	"GetColor": function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { "r": 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, "g": 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, "b": 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, b: 1, "a": 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  92|  92| AddMock(100, IID_Player, {
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|    |-	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|    |  95|+	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1 }; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	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
|  93|  93| 	GetName: function() { return "Player 1"; },
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|    |-	CanControlAllUnits: function() { return false; },
|    |  96|+	"CanControlAllUnits": function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	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
|  94|  94| 	GetCiv: function() { return "gaia"; },
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|    |-	GetPopulationCount: function() { return 10; },
|    |  97|+	"GetPopulationCount": function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	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
|  95|  95| 	GetColor: function() { return { r: 1, g: 1, b: 1, a: 1}; },
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|    |-	GetPopulationLimit: function() { return 20; },
|    |  98|+	"GetPopulationLimit": function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	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
|  96|  96| 	CanControlAllUnits: function() { return false; },
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|    |-	GetMaxPopulation: function() { return 200; },
|    |  99|+	"GetMaxPopulation": function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	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
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 100|+	"GetResourceCounts": function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	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
|  97|  97| 	GetPopulationCount: function() { return 10; },
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100|    |-	GetResourceCounts: function() { return { food: 100 }; },
|    | 100|+	GetResourceCounts: function() { return { "food": 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	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
|  98|  98| 	GetPopulationLimit: function() { return 20; },
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101|    |-	GetPanelEntities: function() { return []; },
|    | 101|+	"GetPanelEntities": function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	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
|  99|  99| 	GetMaxPopulation: function() { return 200; },
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102|    |-	IsTrainingBlocked: function() { return false; },
|    | 102|+	"IsTrainingBlocked": function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	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
| 100| 100| 	GetResourceCounts: function() { return { food: 100 }; },
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103|    |-	GetState: function() { return "active"; },
|    | 103|+	"GetState": function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	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
| 101| 101| 	GetPanelEntities: function() { return []; },
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104|    |-	GetTeam: function() { return -1; },
|    | 104|+	"GetTeam": function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	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
| 102| 102| 	IsTrainingBlocked: function() { return false; },
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105|    |-	GetLockTeams: function() { return false; },
|    | 105|+	"GetLockTeams": function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	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
| 103| 103| 	GetState: function() { return "active"; },
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106|    |-	GetCheatsEnabled: function() { return false; },
|    | 106|+	"GetCheatsEnabled": function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	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
| 104| 104| 	GetTeam: function() { return -1; },
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 107|+	"GetDiplomacy": function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	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
| 105| 105| 	GetLockTeams: function() { return false; },
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108|    |-	IsAlly: function() { return false; },
|    | 108|+	"IsAlly": function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	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
| 106| 106| 	GetCheatsEnabled: function() { return false; },
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109|    |-	IsMutualAlly: function() { return false; },
|    | 109|+	"IsMutualAlly": function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	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
| 107| 107| 	GetDiplomacy: function() { return [-1, 1]; },
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110|    |-	IsNeutral: function() { return false; },
|    | 110|+	"IsNeutral": function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	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
| 108| 108| 	IsAlly: function() { return false; },
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111|    |-	IsEnemy: function() { return true; },
|    | 111|+	"IsEnemy": function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	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
| 109| 109| 	IsMutualAlly: function() { return false; },
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112|    |-	GetDisabledTemplates: function() { return {}; },
|    | 112|+	"GetDisabledTemplates": function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	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
| 110| 110| 	IsNeutral: function() { return false; },
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 113|+	"GetDisabledTechnologies": function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116| 116| 	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
| 111| 111| 	IsEnemy: function() { return true; },
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 114|+	"GetSpyCostMultiplier": function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116| 116| 	HasSharedLos: function() { return false; }
| 117| 117| });
|    | [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
| 112| 112| 	GetDisabledTemplates: function() { return {}; },
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115|    |-	HasSharedDropsites: function() { return false; },
|    | 115|+	"HasSharedDropsites": function() { return false; },
| 116| 116| 	HasSharedLos: function() { return false; }
| 117| 117| });
| 118| 118| 
|    | [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
| 113| 113| 	GetDisabledTechnologies: function() { return {}; },
| 114| 114| 	GetSpyCostMultiplier: function() { return 1; },
| 115| 115| 	HasSharedDropsites: function() { return false; },
| 116|    |-	HasSharedLos: function() { return false; }
|    | 116|+	"HasSharedLos": function() { return false; }
| 117| 117| });
| 118| 118| 
| 119| 119| 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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	"GetLimits": function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	GetLimits: function() { return { "Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 117| 117| });
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120|    |-	GetLimits: function() { return {"Foo": 10}; },
|    | 120|+	GetLimits: function() { return {"Foo": 10 }; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	"GetCounts": function() { return {"Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	GetCounts: function() { return { "Foo": 5}; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 118| 118| 
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121|    |-	GetCounts: function() { return {"Foo": 5}; },
|    | 121|+	GetCounts: function() { return {"Foo": 5 }; },
| 122| 122| 	GetLimitChangers: function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
|    | [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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	"GetLimitChangers": function() {return {"Foo": {}}; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	GetLimitChangers: function() {return { "Foo": {}}; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 119| 119| AddMock(100, IID_EntityLimits, {
| 120| 120| 	GetLimits: function() { return {"Foo": 10}; },
| 121| 121| 	GetCounts: function() { return {"Foo": 5}; },
| 122|    |-	GetLimitChangers: function() {return {"Foo": {}}; }
|    | 122|+	GetLimitChangers: function() {return {"Foo": {} }; }
| 123| 123| });
| 124| 124| 
| 125| 125| 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
| 132| 132| });
| 133| 133| 
| 134| 134| AddMock(100, IID_StatisticsTracker, {
| 135|    |-	GetBasicStatistics: function() {
|    | 135|+	"GetBasicStatistics": function() {
| 136| 136| 		return {
| 137| 137| 			"resourcesGathered": {
| 138| 138| 				"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
| 144| 144| 			"percentMapExplored": 10
| 145| 145| 		};
| 146| 146| 	},
| 147|    |-	GetSequences: function() {
|    | 147|+	"GetSequences": function() {
| 148| 148| 		return {
| 149| 149| 			"unitsTrained": [0, 10],
| 150| 150| 			"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
| 169| 169| 			"teamPeakPercentOfMapControlled": [0, 10]
| 170| 170| 		};
| 171| 171| 	},
| 172|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 172|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 173| 173| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 174| 174| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 175| 175| });
|    | [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
| 170| 170| 		};
| 171| 171| 	},
| 172| 172| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 173|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 173|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 174| 174| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 175| 175| });
| 176| 176| 
|    | [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
| 171| 171| 	},
| 172| 172| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 173| 173| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 174|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 174|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 175| 175| });
| 176| 176| 
| 177| 177| 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
| 175| 175| });
| 176| 176| 
| 177| 177| AddMock(101, IID_Player, {
| 178|    |-	GetName: function() { return "Player 2"; },
|    | 178|+	"GetName": function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	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
| 176| 176| 
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179|    |-	GetCiv: function() { return "mace"; },
|    | 179|+	"GetCiv": function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	"GetColor": function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { "r": 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, "g": 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, "b": 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, b: 0, "a": 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 177| 177| AddMock(101, IID_Player, {
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180|    |-	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
|    | 180|+	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1 }; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	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
| 178| 178| 	GetName: function() { return "Player 2"; },
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181|    |-	CanControlAllUnits: function() { return true; },
|    | 181|+	"CanControlAllUnits": function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	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
| 179| 179| 	GetCiv: function() { return "mace"; },
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182|    |-	GetPopulationCount: function() { return 40; },
|    | 182|+	"GetPopulationCount": function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	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
| 180| 180| 	GetColor: function() { return { r: 1, g: 0, b: 0, a: 1}; },
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183|    |-	GetPopulationLimit: function() { return 30; },
|    | 183|+	"GetPopulationLimit": function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	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
| 181| 181| 	CanControlAllUnits: function() { return true; },
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184|    |-	GetMaxPopulation: function() { return 300; },
|    | 184|+	"GetMaxPopulation": function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	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
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 185|+	"GetResourceCounts": function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	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
| 182| 182| 	GetPopulationCount: function() { return 40; },
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185|    |-	GetResourceCounts: function() { return { food: 200 }; },
|    | 185|+	GetResourceCounts: function() { return { "food": 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	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
| 183| 183| 	GetPopulationLimit: function() { return 30; },
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186|    |-	GetPanelEntities: function() { return []; },
|    | 186|+	"GetPanelEntities": function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	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
| 184| 184| 	GetMaxPopulation: function() { return 300; },
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187|    |-	IsTrainingBlocked: function() { return false; },
|    | 187|+	"IsTrainingBlocked": function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	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
| 185| 185| 	GetResourceCounts: function() { return { food: 200 }; },
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188|    |-	GetState: function() { return "active"; },
|    | 188|+	"GetState": function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	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
| 186| 186| 	GetPanelEntities: function() { return []; },
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189|    |-	GetTeam: function() { return -1; },
|    | 189|+	"GetTeam": function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	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
| 187| 187| 	IsTrainingBlocked: function() { return false; },
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190|    |-	GetLockTeams: function() {return false; },
|    | 190|+	"GetLockTeams": function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	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
| 188| 188| 	GetState: function() { return "active"; },
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191|    |-	GetCheatsEnabled: function() { return false; },
|    | 191|+	"GetCheatsEnabled": function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	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
| 189| 189| 	GetTeam: function() { return -1; },
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192|    |-	GetDiplomacy: function() { return [-1, 1]; },
|    | 192|+	"GetDiplomacy": function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	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
| 190| 190| 	GetLockTeams: function() {return false; },
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193|    |-	IsAlly: function() { return true; },
|    | 193|+	"IsAlly": function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	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
| 191| 191| 	GetCheatsEnabled: function() { return false; },
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194|    |-	IsMutualAlly: function() {return false; },
|    | 194|+	"IsMutualAlly": function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	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
| 192| 192| 	GetDiplomacy: function() { return [-1, 1]; },
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195|    |-	IsNeutral: function() { return false; },
|    | 195|+	"IsNeutral": function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	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
| 193| 193| 	IsAlly: function() { return true; },
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196|    |-	IsEnemy: function() { return false; },
|    | 196|+	"IsEnemy": function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	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
| 194| 194| 	IsMutualAlly: function() {return false; },
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197|    |-	GetDisabledTemplates: function() { return {}; },
|    | 197|+	"GetDisabledTemplates": function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	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
| 195| 195| 	IsNeutral: function() { return false; },
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198|    |-	GetDisabledTechnologies: function() { return {}; },
|    | 198|+	"GetDisabledTechnologies": function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201| 201| 	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
| 196| 196| 	IsEnemy: function() { return false; },
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199|    |-	GetSpyCostMultiplier: function() { return 1; },
|    | 199|+	"GetSpyCostMultiplier": function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201| 201| 	HasSharedLos: function() { return false; }
| 202| 202| });
|    | [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
| 197| 197| 	GetDisabledTemplates: function() { return {}; },
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200|    |-	HasSharedDropsites: function() { return false; },
|    | 200|+	"HasSharedDropsites": function() { return false; },
| 201| 201| 	HasSharedLos: function() { return false; }
| 202| 202| });
| 203| 203| 
|    | [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
| 198| 198| 	GetDisabledTechnologies: function() { return {}; },
| 199| 199| 	GetSpyCostMultiplier: function() { return 1; },
| 200| 200| 	HasSharedDropsites: function() { return false; },
| 201|    |-	HasSharedLos: function() { return false; }
|    | 201|+	"HasSharedLos": function() { return false; }
| 202| 202| });
| 203| 203| 
| 204| 204| 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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	"GetLimits": function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	GetLimits: function() { return { "Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 202| 202| });
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205|    |-	GetLimits: function() { return {"Bar": 20}; },
|    | 205|+	GetLimits: function() { return {"Bar": 20 }; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	"GetCounts": function() { return {"Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	GetCounts: function() { return { "Bar": 0}; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 203| 203| 
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206|    |-	GetCounts: function() { return {"Bar": 0}; },
|    | 206|+	GetCounts: function() { return {"Bar": 0 }; },
| 207| 207| 	GetLimitChangers: function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
|    | [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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	"GetLimitChangers": function() {return {"Bar": {}}; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	GetLimitChangers: function() {return { "Bar": {}}; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 204| 204| AddMock(101, IID_EntityLimits, {
| 205| 205| 	GetLimits: function() { return {"Bar": 20}; },
| 206| 206| 	GetCounts: function() { return {"Bar": 0}; },
| 207|    |-	GetLimitChangers: function() {return {"Bar": {}}; }
|    | 207|+	GetLimitChangers: function() {return {"Bar": {} }; }
| 208| 208| });
| 209| 209| 
| 210| 210| 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
| 217| 217| });
| 218| 218| 
| 219| 219| AddMock(101, IID_StatisticsTracker, {
| 220|    |-	GetBasicStatistics: function() {
|    | 220|+	"GetBasicStatistics": function() {
| 221| 221| 		return {
| 222| 222| 			"resourcesGathered": {
| 223| 223| 				"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
| 229| 229| 			"percentMapExplored": 10
| 230| 230| 		};
| 231| 231| 	},
| 232|    |-	GetSequences: function() {
|    | 232|+	"GetSequences": function() {
| 233| 233| 		return {
| 234| 234| 			"unitsTrained": [0, 10],
| 235| 235| 			"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
| 254| 254| 			"teamPeakPercentOfMapControlled": [0, 10]
| 255| 255| 		};
| 256| 256| 	},
| 257|    |-	IncreaseTrainedUnitsCounter: function() { return 1; },
|    | 257|+	"IncreaseTrainedUnitsCounter": function() { return 1; },
| 258| 258| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 259| 259| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 260| 260| });
|    | [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
| 255| 255| 		};
| 256| 256| 	},
| 257| 257| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 258|    |-	IncreaseConstructedBuildingsCounter: function() { return 1; },
|    | 258|+	"IncreaseConstructedBuildingsCounter": function() { return 1; },
| 259| 259| 	IncreaseBuiltCivCentresCounter: function() { return 1; }
| 260| 260| });
| 261| 261| 
|    | [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
| 256| 256| 	},
| 257| 257| 	IncreaseTrainedUnitsCounter: function() { return 1; },
| 258| 258| 	IncreaseConstructedBuildingsCounter: function() { return 1; },
| 259|    |-	IncreaseBuiltCivCentresCounter: function() { return 1; }
|    | 259|+	"IncreaseBuiltCivCentresCounter": function() { return 1; }
| 260| 260| });
| 261| 261| 
| 262| 262| // 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
| 263| 263| //	because uneval preserves property order. So make sure this object
| 264| 264| //	matches the ordering in GuiInterface.
| 265| 265| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 266|    |-	players: [
|    | 266|+	"players": [
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			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
| 265| 265| TS_ASSERT_UNEVAL_EQUALS(cmp.GetSimulationState(), {
| 266| 266| 	players: [
| 267| 267| 		{
| 268|    |-			name: "Player 1",
|    | 268|+			"name": "Player 1",
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			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
| 266| 266| 	players: [
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269|    |-			civ: "gaia",
|    | 269|+			"civ": "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			"color": { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { "r":1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r: 1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, "g":1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g: 1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, "b":1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b: 1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b:1, "a":1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 267| 267| 		{
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270|    |-			color: { r:1, g:1, b:1, a:1 },
|    | 270|+			color: { r:1, g:1, b:1, a: 1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			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
| 268| 268| 			name: "Player 1",
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271|    |-			controlsAll: false,
|    | 271|+			"controlsAll": false,
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			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
| 269| 269| 			civ: "gaia",
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272|    |-			popCount: 10,
|    | 272|+			"popCount": 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			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
| 270| 270| 			color: { r:1, g:1, b:1, a:1 },
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273|    |-			popLimit: 20,
|    | 273|+			"popLimit": 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			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
| 271| 271| 			controlsAll: false,
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274|    |-			popMax: 200,
|    | 274|+			"popMax": 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			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
| 272| 272| 			popCount: 10,
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275|    |-			panelEntities: [],
|    | 275|+			"panelEntities": [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			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
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276|    |-			resourceCounts: { food: 100 },
|    | 276|+			"resourceCounts": { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			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
| 273| 273| 			popLimit: 20,
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276|    |-			resourceCounts: { food: 100 },
|    | 276|+			resourceCounts: { "food": 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			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
| 274| 274| 			popMax: 200,
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277|    |-			trainingBlocked: false,
|    | 277|+			"trainingBlocked": false,
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280| 280| 			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
| 275| 275| 			panelEntities: [],
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278|    |-			state: "active",
|    | 278|+			"state": "active",
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			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
| 276| 276| 			resourceCounts: { food: 100 },
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279|    |-			team: -1,
|    | 279|+			"team": -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			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
| 277| 277| 			trainingBlocked: false,
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280|    |-			teamsLocked: false,
|    | 280|+			"teamsLocked": false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			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
| 278| 278| 			state: "active",
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281|    |-			cheatsEnabled: false,
|    | 281|+			"cheatsEnabled": false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			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
| 279| 279| 			team: -1,
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282|    |-			disabledTemplates: {},
|    | 282|+			"disabledTemplates": {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			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
| 280| 280| 			teamsLocked: false,
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283|    |-			disabledTechnologies: {},
|    | 283|+			"disabledTechnologies": {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			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
| 281| 281| 			cheatsEnabled: false,
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284|    |-			hasSharedDropsites: false,
|    | 284|+			"hasSharedDropsites": false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			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
| 282| 282| 			disabledTemplates: {},
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285|    |-			hasSharedLos: false,
|    | 285|+			"hasSharedLos": false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288| 288| 			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
| 283| 283| 			disabledTechnologies: {},
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286|    |-			spyCostMultiplier: 1,
|    | 286|+			"spyCostMultiplier": 1,
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			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
| 284| 284| 			hasSharedDropsites: false,
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287|    |-			phase: "village",
|    | 287|+			"phase": "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			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
| 285| 285| 			hasSharedLos: false,
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288|    |-			isAlly: [false, false],
|    | 288|+			"isAlly": [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			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
| 286| 286| 			spyCostMultiplier: 1,
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289|    |-			isMutualAlly: [false, false],
|    | 289|+			"isMutualAlly": [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			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
| 287| 287| 			phase: "village",
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290|    |-			isNeutral: [false, false],
|    | 290|+			"isNeutral": [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			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
| 288| 288| 			isAlly: [false, false],
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291|    |-			isEnemy: [true, true],
|    | 291|+			"isEnemy": [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			"entityLimits": {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			entityLimits: { "Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 289| 289| 			isMutualAlly: [false, false],
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292|    |-			entityLimits: {"Foo": 10},
|    | 292|+			entityLimits: {"Foo": 10 },
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			"entityCounts": {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			entityCounts: { "Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 290| 290| 			isNeutral: [false, false],
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293|    |-			entityCounts: {"Foo": 5},
|    | 293|+			entityCounts: {"Foo": 5 },
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			"entityLimitChangers": {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			entityLimitChangers: { "Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 291| 291| 			isEnemy: [true, true],
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294|    |-			entityLimitChangers: {"Foo": {}},
|    | 294|+			entityLimitChangers: {"Foo": {} },
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			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
| 292| 292| 			entityLimits: {"Foo": 10},
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295|    |-			researchQueued: new Map(),
|    | 295|+			"researchQueued": new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			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
| 293| 293| 			entityCounts: {"Foo": 5},
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296|    |-			researchStarted: new Set(),
|    | 296|+			"researchStarted": new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			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
| 294| 294| 			entityLimitChangers: {"Foo": {}},
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297|    |-			researchedTechs: new Set(),
|    | 297|+			"researchedTechs": new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			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
| 295| 295| 			researchQueued: new Map(),
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298|    |-			classCounts: {},
|    | 298|+			"classCounts": {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			canBarter: false,
| 301| 301| 			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
| 296| 296| 			researchStarted: new Set(),
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299|    |-			typeCountsByClass: {},
|    | 299|+			"typeCountsByClass": {},
| 300| 300| 			canBarter: false,
| 301| 301| 			barterPrices: {
| 302| 302| 				"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
| 297| 297| 			researchedTechs: new Set(),
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300|    |-			canBarter: false,
|    | 300|+			"canBarter": false,
| 301| 301| 			barterPrices: {
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"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
| 298| 298| 			classCounts: {},
| 299| 299| 			typeCountsByClass: {},
| 300| 300| 			canBarter: false,
| 301|    |-			barterPrices: {
|    | 301|+			"barterPrices": {
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
|    | [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
| 302| 302| 				"buy": { "food": 150 },
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
| 305|    |-			statistics: {
|    | 305|+			"statistics": {
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308| 308| 					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
| 303| 303| 				"sell": { "food": 25 }
| 304| 304| 			},
| 305| 305| 			statistics: {
| 306|    |-				resourcesGathered: {
|    | 306|+				"resourcesGathered": {
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309| 309| 					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
| 304| 304| 			},
| 305| 305| 			statistics: {
| 306| 306| 				resourcesGathered: {
| 307|    |-					food: 100,
|    | 307|+					"food": 100,
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310| 310| 					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
| 305| 305| 			statistics: {
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308|    |-					wood: 0,
|    | 308|+					"wood": 0,
| 309| 309| 					metal: 0,
| 310| 310| 					stone: 0,
| 311| 311| 					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
| 306| 306| 				resourcesGathered: {
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309|    |-					metal: 0,
|    | 309|+					"metal": 0,
| 310| 310| 					stone: 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
|    | [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
| 307| 307| 					food: 100,
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310|    |-					stone: 0,
|    | 310|+					"stone": 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
| 313| 313| 				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
| 308| 308| 					wood: 0,
| 309| 309| 					metal: 0,
| 310| 310| 					stone: 0,
| 311|    |-					vegetarianFood: 0
|    | 311|+					"vegetarianFood": 0
| 312| 312| 				},
| 313| 313| 				percentMapExplored: 10
| 314| 314| 			}
|    | [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
| 310| 310| 					stone: 0,
| 311| 311| 					vegetarianFood: 0
| 312| 312| 				},
| 313|    |-				percentMapExplored: 10
|    | 313|+				"percentMapExplored": 10
| 314| 314| 			}
| 315| 315| 		},
| 316| 316| 		{
|    | [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
| 314| 314| 			}
| 315| 315| 		},
| 316| 316| 		{
| 317|    |-			name: "Player 2",
|    | 317|+			"name": "Player 2",
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			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
| 315| 315| 		},
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318|    |-			civ: "mace",
|    | 318|+			"civ": "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			"color": { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { "r":1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r: 1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, "g":0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g: 0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, "b":0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b: 0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b:0, "a":1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 316| 316| 		{
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319|    |-			color: { r:1, g:0, b:0, a:1 },
|    | 319|+			color: { r:1, g:0, b:0, a: 1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			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
| 317| 317| 			name: "Player 2",
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320|    |-			controlsAll: true,
|    | 320|+			"controlsAll": true,
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			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
| 318| 318| 			civ: "mace",
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321|    |-			popCount: 40,
|    | 321|+			"popCount": 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			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
| 319| 319| 			color: { r:1, g:0, b:0, a:1 },
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322|    |-			popLimit: 30,
|    | 322|+			"popLimit": 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			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
| 320| 320| 			controlsAll: true,
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323|    |-			popMax: 300,
|    | 323|+			"popMax": 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			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
| 321| 321| 			popCount: 40,
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324|    |-			panelEntities: [],
|    | 324|+			"panelEntities": [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			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
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325|    |-			resourceCounts: { food: 200 },
|    | 325|+			"resourceCounts": { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			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
| 322| 322| 			popLimit: 30,
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325|    |-			resourceCounts: { food: 200 },
|    | 325|+			resourceCounts: { "food": 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			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
| 323| 323| 			popMax: 300,
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326|    |-			trainingBlocked: false,
|    | 326|+			"trainingBlocked": false,
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329| 329| 			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
| 324| 324| 			panelEntities: [],
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327|    |-			state: "active",
|    | 327|+			"state": "active",
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			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
| 325| 325| 			resourceCounts: { food: 200 },
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328|    |-			team: -1,
|    | 328|+			"team": -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			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
| 326| 326| 			trainingBlocked: false,
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329|    |-			teamsLocked: false,
|    | 329|+			"teamsLocked": false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			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
| 327| 327| 			state: "active",
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330|    |-			cheatsEnabled: false,
|    | 330|+			"cheatsEnabled": false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			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
| 328| 328| 			team: -1,
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331|    |-			disabledTemplates: {},
|    | 331|+			"disabledTemplates": {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			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
| 329| 329| 			teamsLocked: false,
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332|    |-			disabledTechnologies: {},
|    | 332|+			"disabledTechnologies": {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			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
| 330| 330| 			cheatsEnabled: false,
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333|    |-			hasSharedDropsites: false,
|    | 333|+			"hasSharedDropsites": false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			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
| 331| 331| 			disabledTemplates: {},
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334|    |-			hasSharedLos: false,
|    | 334|+			"hasSharedLos": false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337| 337| 			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
| 332| 332| 			disabledTechnologies: {},
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335|    |-			spyCostMultiplier: 1,
|    | 335|+			"spyCostMultiplier": 1,
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			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
| 333| 333| 			hasSharedDropsites: false,
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336|    |-			phase: "village",
|    | 336|+			"phase": "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			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
| 334| 334| 			hasSharedLos: false,
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337|    |-			isAlly: [true, true],
|    | 337|+			"isAlly": [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			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
| 335| 335| 			spyCostMultiplier: 1,
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338|    |-			isMutualAlly: [false, false],
|    | 338|+			"isMutualAlly": [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			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
| 336| 336| 			phase: "village",
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339|    |-			isNeutral: [false, false],
|    | 339|+			"isNeutral": [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			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
| 337| 337| 			isAlly: [true, true],
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340|    |-			isEnemy: [false, false],
|    | 340|+			"isEnemy": [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			"entityLimits": {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			entityLimits: { "Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 338| 338| 			isMutualAlly: [false, false],
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341|    |-			entityLimits: {"Bar": 20},
|    | 341|+			entityLimits: {"Bar": 20 },
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			"entityCounts": {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			entityCounts: { "Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 339| 339| 			isNeutral: [false, false],
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342|    |-			entityCounts: {"Bar": 0},
|    | 342|+			entityCounts: {"Bar": 0 },
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			"entityLimitChangers": {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			entityLimitChangers: { "Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 340| 340| 			isEnemy: [false, false],
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343|    |-			entityLimitChangers: {"Bar": {}},
|    | 343|+			entityLimitChangers: {"Bar": {} },
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			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
| 341| 341| 			entityLimits: {"Bar": 20},
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344|    |-			researchQueued: new Map(),
|    | 344|+			"researchQueued": new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			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
| 342| 342| 			entityCounts: {"Bar": 0},
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345|    |-			researchStarted: new Set(),
|    | 345|+			"researchStarted": new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			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
| 343| 343| 			entityLimitChangers: {"Bar": {}},
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346|    |-			researchedTechs: new Set(),
|    | 346|+			"researchedTechs": new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			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
| 344| 344| 			researchQueued: new Map(),
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347|    |-			classCounts: {},
|    | 347|+			"classCounts": {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			canBarter: false,
| 350| 350| 			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
| 345| 345| 			researchStarted: new Set(),
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348|    |-			typeCountsByClass: {},
|    | 348|+			"typeCountsByClass": {},
| 349| 349| 			canBarter: false,
| 350| 350| 			barterPrices: {
| 351| 351| 				"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
| 346| 346| 			researchedTechs: new Set(),
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349|    |-			canBarter: false,
|    | 349|+			"canBarter": false,
| 350| 350| 			barterPrices: {
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"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
| 347| 347| 			classCounts: {},
| 348| 348| 			typeCountsByClass: {},
| 349| 349| 			canBarter: false,
| 350|    |-			barterPrices: {
|    | 350|+			"barterPrices": {
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
|    | [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
| 351| 351| 				"buy": { "food": 150 },
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
| 354|    |-			statistics: {
|    | 354|+			"statistics": {
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357| 357| 					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
| 352| 352| 				"sell": { "food": 25 }
| 353| 353| 			},
| 354| 354| 			statistics: {
| 355|    |-				resourcesGathered: {
|    | 355|+				"resourcesGathered": {
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358| 358| 					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
| 353| 353| 			},
| 354| 354| 			statistics: {
| 355| 355| 				resourcesGathered: {
| 356|    |-					food: 100,
|    | 356|+					"food": 100,
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359| 359| 					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
| 354| 354| 			statistics: {
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357|    |-					wood: 0,
|    | 357|+					"wood": 0,
| 358| 358| 					metal: 0,
| 359| 359| 					stone: 0,
| 360| 360| 					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
| 355| 355| 				resourcesGathered: {
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358|    |-					metal: 0,
|    | 358|+					"metal": 0,
| 359| 359| 					stone: 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
|    | [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
| 356| 356| 					food: 100,
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359|    |-					stone: 0,
|    | 359|+					"stone": 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
| 362| 362| 				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
| 357| 357| 					wood: 0,
| 358| 358| 					metal: 0,
| 359| 359| 					stone: 0,
| 360|    |-					vegetarianFood: 0
|    | 360|+					"vegetarianFood": 0
| 361| 361| 				},
| 362| 362| 				percentMapExplored: 10
| 363| 363| 			}
|    | [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
| 359| 359| 					stone: 0,
| 360| 360| 					vegetarianFood: 0
| 361| 361| 				},
| 362|    |-				percentMapExplored: 10
|    | 362|+				"percentMapExplored": 10
| 363| 363| 			}
| 364| 364| 		}
| 365| 365| 	],
|    | [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
| 363| 363| 			}
| 364| 364| 		}
| 365| 365| 	],
| 366|    |-	circularMap: false,
|    | 366|+	"circularMap": false,
| 367| 367| 	timeElapsed: 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369| 369| 	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
| 364| 364| 		}
| 365| 365| 	],
| 366| 366| 	circularMap: false,
| 367|    |-	timeElapsed: 0,
|    | 367|+	"timeElapsed": 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369| 369| 	alliedVictory: false
| 370| 370| });
|    | [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
| 366| 366| 	circularMap: false,
| 367| 367| 	timeElapsed: 0,
| 368| 368| 	"victoryConditions": ["conquest", "wonder"],
| 369|    |-	alliedVictory: false
|    | 369|+	"alliedVictory": false
| 370| 370| });
| 371| 371| 
| 372| 372| 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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r": 1, "g":1, "b":1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g": 1, "b":1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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
| 374| 374| 		{
| 375| 375| 			"name": "Player 1",
| 376| 376| 			"civ": "gaia",
| 377|    |-			"color": { "r":1, "g":1, "b":1, "a":1 },
|    | 377|+			"color": { "r":1, "g":1, "b": 1, "a":1 },
| 378| 378| 			"controlsAll": false,
| 379| 379| 			"popCount": 10,
| 380| 380| 			"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/dat