This new components allows giving the upgrade a cost, required
technologies, and a required time.
Implement gates using this generic component.
Fixes#2706
This was SVN commit r18467.
Use .filter(), .every() and .some() to simplify, Math.max/min instead of
if-statements, inline functions, add newlines and allow attack orders
while flying.
This was SVN commit r18465.
Also clean up the Health component.
Rename healer to heal (as that is the actual component name).
Remove the structure tree code to replace a proper Templates.js
implementation.
This was SVN commit r18464.
Show how many units can be garrisoned, the number of arrows shot by
default, per unit and limit, fixes#3816.
Thus remove a lot of hardcoded numbers in the translated strings and
correct a wrong number for the mauryan ship, fixes#3904.
This was SVN commit r18455.
Also contains a patch by fatherbushido for attackRateDetails and
getAttackTooltip to
not show something broken for buildingAI units that can capture, fixes
#4061 (see #4000).
Make tooltip functions uniform.
Pass template everywhere
instead of template.armour in getArmorTooltip
rate in getRepairRateTooltip and getBuildRateTooltip and
entState in attackRateDetails.
Add an early return for every tooltip function.
Use empty string instead of "Armor: (None)" for trees etc..
Don't prefix tooltip return values with "\n", but let the user of that
function add them.
Thus make tooltip concatenation much nicer (f.e. draw.js).
Use a loop instead of duplicating per damage type in damageTypesToText.
Add font functions to avoid duplicating tag code.
Merge sprintf's and inline variables.
Add few TODOs.
Fix some strings:
Use "%(specificName)s %(fontStart)s(%(genericName)s)%(fontEnd)s")
instead of "(" + foo + ")" ...
Use existing "%(percentage)s%%" instead of foo + "%" in
armorLevelToPercentageString.
Remove
duplication by calling/introducing shared functions (getEntityTooltip,
getHealthTooltip, getGatherTooltip, getVisibleEntityClassesFormatted),
unused function damageTypeDetails which was also a duplicate of
damageTypesToText,
unused function damageValues,
some warns that are equivalent to errors they attempt to cover up
(getAttackTypeLabel, getCostComponentDisplayIcon, getEntityNames,
getEntityNamesFormatted),
some unused variables,
"???" and translate("???").
Don't fix translate("Foo:") strings to avoid a lot of translation work.
This was SVN commit r18454.
It might be unexpected in the first place to let them gather.
(However that is not really weirder than having cavalry hunt sheep.)
This was SVN commit r18453.
Add a new simulation message and chat notification for players who won.
Avoid duplicate playerstate messages in the sim and GUI by triggering
changes with a function instead of a message.
Reveal the map on defeat/win exclusively in the player component
(instead of having a silly GUI proxy and doing it also in the
EndGameManager sometimes).
Remove the skipAlliedVictory argument from the player component, since
that shouldn't contain references to the EndGameManager, refs #3970.
Show a proper message box on win/loss and add the hint for hosts
disconnecting other players.
Do defeat/win procedure in the GUI when such a message arrives, instead
of checking onTick for playerstate changes.
Thus don't show that confirmation again on every rejoin.
Don't show a pointless message box if IsAtlasRunning.
Explain that the session.js variable is needed to avoid an
order-of-execution bug.
Select "observer" item when rejoining as a defeated player.
Remove an unneeded call to updateTopPanel.
This was SVN commit r18441.
Savegame / replay menu selected game information:
Show players who won the game (not only defeat).
Show translated civs instead of the civ code.
Use a translation for "%(team)s:\n%(playerDescriptions)s".
Merge nearly duplicate objects passed to formatPlayerInfo.
Merge deleteGame and deleteGameWithoutConfirmation.
Summary screen:
Construct the summary screen title in place, not in the session, nor
replay menu.
Remove g_Players from the replay metadata since all relevant
information is contained in the sim data.
Split g_GameData into gui and sim.
Access g_GameData instead of data for consistency.
Move code from XML to JS.
Don't use victory music when observers enter the summary screen (just
keep the current track like when exiting the game as a player).
Rename updateObjectPlayerPosition to initPlayerBoxPositions.
This was SVN commit r18440.
Translate the map "random" in the lobby.
Fix a warning in getMapDisplayName reported by echotangoecho when
hosting a lobby game and selecting the random map.
Use the right translation of that "random" map in b84b9a374a (since it's
not the maptype).
Notice mapInfoName still shouldn't be colored.
This was SVN commit r18428.
Features include new graphs to compare runtime of functions and runtimes
across reports, as well as new profiling functions that only profile
spikes.
This was SVN commit r18423.
Move duplicate reallyDeleteGame to shared file.
Inline getPlayerInfoText since it is used only once, refs #1090.
Merge deleteGame and deleteGameWithoutConfirmation.
Use let instead of var.
This was SVN commit r18422.
Point out missing functionality and unused properties in the
implementation of checkboxes.
Don't specify a useless font tag for checkboxes in the templates.
This was SVN commit r18419.