Who says only players should be able to conduct diplomacy?
Also separation of concerns, more maintainable files.
Differential revision: https://code.wildfiregames.com/D4921
Comments by: @elexis, @Stan
Refs. #5894
This was SVN commit r27722.
Which were autofixable, with slight modifications.
Not done are the slightly more complex changes.
Refs. #5524
Patch by: @Krinkle
Differential revision: D2279
Comments by: @elexis, @Stan
Reviewed by: @wraitii
This was SVN commit r25087.
When starting a game with exactly one player that instantly wins the
game (consequest victory) and after that ceasefire running out will
trigger first the correct victory chat message, then a broken and
undefined have won the game chat message, initiated from the
ceasefiremanager.
Check for allies emptyness and do not send it if no players are active,
what means they all have been defeated or won.
Differential Revision: https://code.wildfiregames.com/D2891Fixes: #5675
This was SVN commit r23857.
This also reduces the attackercount slightly, because gaia is now
excluded when counting players.
PlayerManager.GetActivePlayers helper function.
This was SVN commit r21730.
Excluding the changes to scenario and skirmisch maps
Transform gameType string to victoryCondition array in load/replaymenu
Adapt the gamesetup to use checkboxes for every victory condition and an
array for storing them
Allow multiple queries in conquestCommon
Remove conquest from regicide, wonder and capture the relic
Move the endless gamedescription from settings to gamedescription
Fixing wrong tabulation from a8a29271ce
This commit will break all scenario and skirmisch maps, their "Gametype"
string needs to be transformed in a "VictoryCondition" array as is done
in the tutorial map (counting endless as an empty array). This counts
for mods too!
Old svn replays and savegame will throw warnings/errors as they are
incompatible after this commit. So svn users will need to delete all
those.
Comments on ai and autostart games By: mimo
Comments on Atlas By: Vladislav
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1240fixes: #4014
This was SVN commit r21474.
Create a getNonGaia function
Reset counters on playerDefeat
MarkPlayersAsWon function
Rename MarkPlayerAsWon to MarkPlayerAndAlliesAsWon
Stop letting winningplayers in relic depend on PlayerID
Comments By and Discussion With: elexis
Reviewed By: temple
Differential Revision: https://code.wildfiregames.com/D972fixes#4648
This was SVN commit r21441.
Do not check for system components,
Do not inline in loops for performance
Use QueryPlayerIDInterface instead of querying the playerEnt
Patch By: temple
Differential Revision: https://code.wildfiregames.com/D1137
This was SVN commit r20652.
Add a warning if a Trigger script (like the one on Treasure Islands,
refs #4507) tries to marks a player as won who had already won or lost.
Merge a duplicate call in the Player component.
This was SVN commit r20156.
Clarify the victory / defeat reason by using a custom string for each
defeat and victory reason.
Group chat notifications instead of posting one for each player.
This also slightly improves lobby performance upon win.
Differential Revision: https://code.wildfiregames.com/D762Fixes#4382
Based on patch by: Angen
This was SVN commit r19955.
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.
Remove unused, seemingly unusable wonder duration multiplier, refs
#3234.
Replace wonderDuration of the EndGameManager with gameTypeSettings,
since the component should be agnostic about victory condition logic.
Remove an unused cmpEndGameManager.
Inline a variable, few newlines, let intsead of var.
This was SVN commit r18398.
Use QueryPlayerIDInterface to remove duplication as suggested by leper.
Remove its duplicate GetPlayerComponent.
Add IsOwnedByHelper and IsOwnedByEntityHelper to remove duplicated ally
check functions.
Remove unused function GetPlayerFilter from 17c473f2f3.
Remove unused variables and access to undefined ones identified using
jshint.
Rename cmpPlayerMan.
This was SVN commit r18382.
Also fix a simulation bug (check for allied victory on game start).
The mode is not a victory condition as it applies to all victoriy
conditions.
This was SVN commit r18342.
Adds ownership and diplomacy checks to Commands.js (fixes#880).
Adds control all units setting to Player component (network synced).
Adds helpers for diplomacy checks - use these instead of directly
accessing diplomacy array.
Fixes tests according to these changes.
This was SVN commit r9726.