#4382 closed enhancement (fixed)
Defeat reason
Reported by: | elexis | Owned by: | elexis |
---|---|---|---|
Priority: | Nice to Have | Milestone: | Alpha 23 |
Component: | UI & Simulation | Keywords: | |
Cc: | Patch: | Phab:D762 |
Description (last modified by )
Often players wonder why a player is being defeated.
For example the default conquest victory condition defeats players if they don't have a set of whitelisted units remaining (ConquestCritical
class).
Since regicide is combined with conquest, players wonder why they are being defeated if they still have the hero.
Another example would be on survival of the fittest where players can become defeated by losing the civic center, or by losing the hero (if regicide is set).
A third example would be combining victory conditions #4014.
A new argument could be passed whenever SetState
of Player.js
is called (which is the function defeating players). It could be a translatable string (use markForTranslation
) so that it would appear as follows:
- Player X was defeated (lost hero) for regicide
- Player X was defeated (lost all workers) for conquest*
- Player X was defeated (lost civic center) for survival
- Player X has won (wonder victory) for wonder games
- Player X has won (allied victory) when last man standing is not enabled
- Player X has won (last player alive) when the endgamemanager marks that player as won
[*] one can still survive on conquest with a dock only, but that detail must not necessarily be reflected in the string
formatDefeatMessage
of messages.js
is the place where the GUI interface message constructed in SetState
is parsed into a chat message.
Change History (4)
comment:1 by , 7 years ago
Description: | modified (diff) |
---|---|
Keywords: | simple removed |
Milestone: | Backlog → Work In Progress |
Patch: | → Phab:D762 |
comment:2 by , 7 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:3 by , 7 years ago
Milestone: | Work In Progress → Alpha 23 |
---|
In 19955: