With our paired techs we give the user the impression that he has a choice, but reality looks different and no matter what he chooses he gets the first. Said that this patch aims for a fairer world(or game) by giving the user a real choice.
Broken by rP21542.
Discovered cause wow observed a side effect of this bug.
Details
Details
- Reviewers
temple - Commits
- rP21595: Fix paired tech after rP21542
Observe that clicking on the second tech really researches the second tech.
Diff Detail
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
Comment Actions
Successful build - Chance fights ever on the side of the prudent.
Linter detected issues: Executing section Default... Executing section Source... Executing section JS... | | [NORMAL] ESLintBear (curly): | | Unnecessary { after 'if' condition. |----| | /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | |++++| /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | 452| 452| continue; | 453| 453| | 454| 454| if (state.pack.progress == 0) | 455| |- { | | 455|+ | 456| 456| if (state.pack.packed) | 457| 457| checks.unpackButton = true; | 458| 458| else | 459| 459| checks.packButton = true; | 460| |- } | | 460|+ | 461| 461| else if (state.pack.packed) | 462| 462| checks.unpackCancelButton = true; | 463| 463| else | | [NORMAL] ESLintBear (space-before-function-paren): | | Unexpected space before function parentheses. |----| | /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | |++++| /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | 763| 763| addResearchToQueue(data.item.researchFacilityId, t); | 764| 764| })(tech); | 765| 765| | 766| |- button.onPressRight = function () { | | 766|+ button.onPressRight = function() { | 767| 767| showTemplateDetails( | 768| 768| tech, | 769| 769| GetTemplateData(data.unitEntStates.find(state => state.id == data.item.researchFacilityId).template).nativeCiv); | | [NORMAL] ESLintBear (semi): | | Missing semicolon. |----| | /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | |++++| /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | 941| 941| "player": data.player | 942| 942| }); | 943| 943| | 944| |- let unitIds = data.unitEntStates.map(status => status.id) | | 944|+ let unitIds = data.unitEntStates.map(status => status.id); | 945| 945| let [buildingsCountToTrainFullBatch, fullBatchSize, remainderBatch] = | 946| 946| getTrainingStatus(unitIds, data.item, data.playerState); | 947| 947| binaries/data/mods/public/gui/session/selection_panels.js | 48| » » » switch·(data.item) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 59| » » switch·(data.item) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 731| » » » » » » switch·(entity.check) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 944| » » let·unitIds·=·data.unitEntStates.map(status·=>·status.id) | | [NORMAL] JSHintBear: | | Missing semicolon.
Link to build: https://jenkins.wildfiregames.com/job/differential/289/display/redirect
Comment Actions
Successful build - Chance fights ever on the side of the prudent.
Linter detected issues: Executing section Default... Executing section Source... Executing section JS... | | [NORMAL] ESLintBear (curly): | | Unnecessary { after 'if' condition. |----| | /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | |++++| /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | 452| 452| continue; | 453| 453| | 454| 454| if (state.pack.progress == 0) | 455| |- { | | 455|+ | 456| 456| if (state.pack.packed) | 457| 457| checks.unpackButton = true; | 458| 458| else | 459| 459| checks.packButton = true; | 460| |- } | | 460|+ | 461| 461| else if (state.pack.packed) | 462| 462| checks.unpackCancelButton = true; | 463| 463| else | | [NORMAL] ESLintBear (space-before-function-paren): | | Unexpected space before function parentheses. |----| | /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | |++++| /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | 763| 763| addResearchToQueue(data.item.researchFacilityId, t); | 764| 764| })(tech); | 765| 765| | 766| |- button.onPressRight = (t => function () { | | 766|+ button.onPressRight = (t => function() { | 767| 767| showTemplateDetails( | 768| 768| t, | 769| 769| GetTemplateData(data.unitEntStates.find(state => state.id == data.item.researchFacilityId).template).nativeCiv); | | [NORMAL] ESLintBear (semi): | | Missing semicolon. |----| | /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | |++++| /mnt/data/jenkins-phabricator/workspace/differential/binaries/data/mods/public/gui/session/selection_panels.js | 941| 941| "player": data.player | 942| 942| }); | 943| 943| | 944| |- let unitIds = data.unitEntStates.map(status => status.id) | | 944|+ let unitIds = data.unitEntStates.map(status => status.id); | 945| 945| let [buildingsCountToTrainFullBatch, fullBatchSize, remainderBatch] = | 946| 946| getTrainingStatus(unitIds, data.item, data.playerState); | 947| 947| binaries/data/mods/public/gui/session/selection_panels.js | 48| » » » switch·(data.item) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 59| » » switch·(data.item) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 731| » » » » » » switch·(entity.check) | | [NORMAL] ESLintBear (default-case): | | Expected a default case. binaries/data/mods/public/gui/session/selection_panels.js | 944| » » let·unitIds·=·data.unitEntStates.map(status·=>·status.id) | | [NORMAL] JSHintBear: | | Missing semicolon.
Link to build: https://jenkins.wildfiregames.com/job/differential/290/display/redirect