diff --git a/.github/workflows/release-dev.yml b/.github/workflows/release-dev.yml index 0ae55486b..ba0164b48 100644 --- a/.github/workflows/release-dev.yml +++ b/.github/workflows/release-dev.yml @@ -43,9 +43,10 @@ jobs: id: show_version run: cat version.properties - name: Delete previous tag and release - uses: ClementTsang/delete-tag-and-release@v0.4.0 + uses: tychobrailleur/delete-tag-and-release@453626e2f16a2625a19e18d91e4cdf1f41624dde with: delete_release: true + delete_non_draft: true tag_name: ${{ steps.read_version_properties.outputs.tag }} env: GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} @@ -73,9 +74,10 @@ jobs: --data '{ "draft": false }' - name: If not dev-release delete previous short version tag if: ${{ steps.read_version_properties.outputs.tag != 'dev' }} - uses: ClementTsang/delete-tag-and-release@v0.3.1 + uses: tychobrailleur/delete-tag-and-release@453626e2f16a2625a19e18d91e4cdf1f41624dde with: delete_release: true + delete_non_draft: true tag_name: ${{ steps.read_version_properties.outputs.shortVersion }} env: GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} diff --git a/build.gradle b/build.gradle index 96141561e..d9510661f 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ version = '9.0' ext { // Development_stage (DEV:0 BETA:1 STABLE:2) development_stage = project.properties['DEV_STAGE'] as Integer ?: 0 - version_type = "-DEV" + version_type = ["-DEV", "-BETA", ""].get(development_stage) target_dir = "${buildDir}/artefacts" } @@ -238,8 +238,6 @@ tasks.register("createVersion") { versionProps['tag'] = ['dev', 'beta', 'tag_stable'].get(developmentStage) versionProps['branch'] = currentBranch - project.ext.version_type = ["-DEV", "-BETA", ""].get(developmentStage) - // Write to version.properties file def versionPropsFile = new File('version.properties') versionProps.store(versionPropsFile.newWriter(), null) @@ -347,9 +345,9 @@ tasks.register("pushmd") { // list the contributors that don't want to be mentioned in release notes def contributorFilter = ["Che"] - def commitCount = callGit('git rev-list 7.0..HEAD --count') - def diff = callGit('git diff --shortstat 7.0..HEAD') - def contributors = filter(callGit('git shortlog -s -n 7.0..HEAD'), contributorFilter) + def commitCount = callGit('git rev-list 8.0..HEAD --count') + def diff = callGit('git diff --shortstat 8.0..HEAD') + def contributors = filter(callGit('git shortlog -s -n 8.0..HEAD'), contributorFilter) def latestCommit = callGit('git log -1 --pretty=format:"%s"') println("create release-notes") diff --git a/src/main/java/core/model/match/MatchEvent.java b/src/main/java/core/model/match/MatchEvent.java index 98b99bafa..189d889e7 100644 --- a/src/main/java/core/model/match/MatchEvent.java +++ b/src/main/java/core/model/match/MatchEvent.java @@ -96,7 +96,7 @@ public void setMatchDate(HODateTime matchDate) { public enum MatchEventID { UNKNOWN_MATCHEVENT(-1), PLAYERS_ENTER_THE_FIELD(19), TACTICAL_DISPOSITION(20), PLAYER_NAMES_IN_LINEUP(21), PLAYERS_FROM_NEIGHBORHOOD_USED(22), SAME_FORMATION_BOTH_TEAMS(23), TEAM_FORMATIONS_DIFFERENT(24), - REGIONAL_DERBY(25), NEUTRAL_GROUND(26), AWAY_IS_ACTUALLY_HOME(27), SPECTATORS_OR_VENUE_RAIN(30), SPECTATORS_OR_VENUE_CLOUDY(31), SPECTATORS_OR_VENUE_FAIR_WEATHER(32), + REGIONAL_DERBY(25), NEUTRAL_GROUND(26), AWAY_IS_ACTUALLY_HOME(27), WALKOVER_LINEUP_USED(28), SPECTATORS_OR_VENUE_RAIN(30), SPECTATORS_OR_VENUE_CLOUDY(31), SPECTATORS_OR_VENUE_FAIR_WEATHER(32), SPECTATORS_OR_VENUE_SUNNY(33), ARENA_EXTENDED_WITH_TEMPORARY_SEATS(35), ONLY_VENUE_RAIN(36), ONLY_VENUE_CLOUDY(37), ONLY_VENUE_FAIR_WEATHER(38), ONLY_VENUE_SUNNY(39), DOMINATED(40), BEST_PLAYER(41), WORST_PLAYER(42), HALF_TIME_RESULTS(45), HATTRICK_COMMENT(46), NO_TEAM_DOMINATED(47), PENALTY_CONTEST_GOAL_BY_TECHNICAL_NO_NERVES(55), PENALTY_CONTEST_GOAL_NO_NERVES(56), PENALTY_CONTEST_GOAL_IN_SPITE_OF_NERVES(57), PENALTY_CONTEST_NO_GOAL_BECAUSE_OF_NERVES(58), PENALTY_CONTEST_NO_GOAL_IN_SPITE_OF_NO_NERVES(59), diff --git a/src/main/java/core/model/match/MatchLineupTeam.java b/src/main/java/core/model/match/MatchLineupTeam.java index 7be86902a..e94224763 100644 --- a/src/main/java/core/model/match/MatchLineupTeam.java +++ b/src/main/java/core/model/match/MatchLineupTeam.java @@ -286,86 +286,6 @@ public final void add2Lineup(MatchLineupPosition player) { lineup.setPosition(player); } - /** - * Determines the played formation. - */ - public final byte determineSystem() { - short abw = 0; - short mf = 0; - short st = 0; - - for (var matchRoleId : getLineup().getFieldPositions()) { - if (matchRoleId != null) { - switch (matchRoleId.getSector()) { - default -> { - } - case CentralDefence, Back -> abw++; - case InnerMidfield, Wing -> mf++; - case Forward -> st++; - } - } - } - - if (abw == 2) { - // 253 - if (mf == 5) { - return Lineup.SYS_253; - } - // MURKS - else { - return Lineup.SYS_MURKS; - } - } else if (abw == 3) { - // 343 - if (mf == 4) { - return Lineup.SYS_343; - } // 352 - else if ((mf == 5) && (st == 2)) { - return Lineup.SYS_352; - } - // MURKS - else { - return Lineup.SYS_MURKS; - } - } else if (abw == 4) { - // 433 - if ((mf == 3) && (st == 3)) { - return Lineup.SYS_433; - } // 442 - else if ((mf == 4) && (st == 2)) { - return Lineup.SYS_442; - } // 451 - else if ((mf == 5) && (st == 1)) { - return Lineup.SYS_451; - } - // MURKS - else { - return Lineup.SYS_MURKS; - } - } else if (abw == 5) { - // 532 - if ((mf == 3) && (st == 2)) { - return Lineup.SYS_532; - } // 541 - else if ((mf == 4) && (st == 1)) { - return Lineup.SYS_541; - } // 523 - else if ((mf == 2) && (st == 3)) { - return Lineup.SYS_523; - } // 550 - else if ((mf == 5) && (st == 0)) { - return Lineup.SYS_550; - } - // MURKS - else { - return Lineup.SYS_MURKS; - } - } // MURKS - else { - return Lineup.SYS_MURKS; - } - } - public MatchType getMatchType() { if (matchType == MatchType.NONE) { MatchKurzInfo info = DBManager.instance().getMatchesKurzInfoByMatchID(this.matchId, matchType); @@ -690,29 +610,30 @@ private void initMinutesOfPlayersInSectors() { // examine last minutes for (var app : lastMatchAppearances.entrySet()) { var player = app.getValue().player; - //player.addMinutesInSector(getMatchEndMinute(player.getPlayerId())-app.getValue().minute, app.getKey()); - addPlayersMinutesInSector(player.getPlayerId(), - app.getValue().getSector(), - getMatchEndMinute(player.getPlayerId()) - app.getValue().minute); + if (player != null) { + addPlayersMinutesInSector(player.getPlayerId(), + app.getValue().getSector(), + getMatchEndMinute(player.getPlayerId()) - app.getValue().minute); + } } } private void examineSubstitution(Substitution substitution) { - var leavingplayer = this.getPlayerByID(substitution.getSubjectPlayerID(),true); - if ( leavingplayer == null){ - leavingplayer = new MatchLineupPosition(substitution.getRoleId(), substitution.getSubjectPlayerID(), substitution.getBehaviour()); + var leavingPlayer = this.getPlayerByID(substitution.getSubjectPlayerID(),true); + if ( leavingPlayer == null){ + leavingPlayer = new MatchLineupPosition(substitution.getRoleId(), substitution.getSubjectPlayerID(), substitution.getBehaviour()); } switch (substitution.getOrderType()) { case NEW_BEHAVIOUR -> { - removeMatchAppearance(leavingplayer, substitution.getMatchMinuteCriteria()); + removeMatchAppearance(leavingPlayer, substitution.getMatchMinuteCriteria()); if ( substitution.getRoleId() > 0) { - lastMatchAppearances.put((int) substitution.getRoleId(), new MatchAppearance(leavingplayer, substitution.getMatchMinuteCriteria())); + lastMatchAppearances.put((int) substitution.getRoleId(), new MatchAppearance(leavingPlayer, substitution.getMatchMinuteCriteria())); } } case SUBSTITUTION -> { var setPiecesTaker = lastMatchAppearances.get(MatchRoleID.setPieces); - var leavingPlayerIsSetPiecesTaker = setPiecesTaker != null && setPiecesTaker.player == leavingplayer; - removeMatchAppearance(leavingplayer, substitution.getMatchMinuteCriteria()); + var leavingPlayerIsSetPiecesTaker = setPiecesTaker != null && setPiecesTaker.player == leavingPlayer; + removeMatchAppearance(leavingPlayer, substitution.getMatchMinuteCriteria()); var enteringplayer = this.getPlayerByID(substitution.getObjectPlayerID(), true); if ( enteringplayer == null){ enteringplayer = new MatchLineupPosition(substitution.getRoleId(), substitution.getObjectPlayerID(), substitution.getBehaviour()); @@ -731,27 +652,30 @@ private void examineSubstitution(Substitution substitution) { } case POSITION_SWAP -> { var player = this.getPlayerByID(substitution.getObjectPlayerID(), true); - var leavingRole = removeMatchAppearance(leavingplayer, substitution.getMatchMinuteCriteria()); - var playerRole = removeMatchAppearance(player, substitution.getMatchMinuteCriteria()); - lastMatchAppearances.put(playerRole, new MatchAppearance(leavingplayer, substitution.getMatchMinuteCriteria())); + if ( player != null ){ + var playerRole = removeMatchAppearance(player, substitution.getMatchMinuteCriteria()); + lastMatchAppearances.put(playerRole, new MatchAppearance(leavingPlayer, substitution.getMatchMinuteCriteria())); + } + var leavingRole = removeMatchAppearance(leavingPlayer, substitution.getMatchMinuteCriteria()); lastMatchAppearances.put(leavingRole, new MatchAppearance(player, substitution.getMatchMinuteCriteria())); } } } - private int removeMatchAppearance(MatchLineupPosition leavingplayer, int minute) { + private int removeMatchAppearance(MatchLineupPosition leavingPlayer, int minute) { int ret = MatchRoleID.UNKNOWN; - var entries = lastMatchAppearances.entrySet().stream() - .filter(i -> i.getValue().getPlayerId() == leavingplayer.getPlayerId()).toList(); - for (var entry : entries) { - var appearance = entry.getValue(); - var role = entry.getKey(); - if (role != MatchRoleID.setPieces) { // do not return set pieces taker role of leaving player - ret = role; + if (leavingPlayer != null) { + var entries = lastMatchAppearances.entrySet().stream() + .filter(i -> i.getValue().getPlayerId() == leavingPlayer.getPlayerId()).toList(); + for (var entry : entries) { + var appearance = entry.getValue(); + var role = entry.getKey(); + if (role != MatchRoleID.setPieces) { // do not return set pieces taker role of leaving player + ret = role; + } + addPlayersMinutesInSector(leavingPlayer.getPlayerId(), MatchRoleID.getSector(role), minute - appearance.minute); + lastMatchAppearances.remove(entry.getKey()); } - //leavingplayer.addMinutesInSector(minute-appearance.minute, role); - addPlayersMinutesInSector(leavingplayer.getPlayerId(), MatchRoleID.getSector(role), minute - appearance.minute); - lastMatchAppearances.remove(entry.getKey()); } return ret; } diff --git a/src/main/java/module/playerOverview/SpielerTrainingsSimulatorPanel.java b/src/main/java/module/playerOverview/SpielerTrainingsSimulatorPanel.java index b5bca7b87..bd92d46a8 100644 --- a/src/main/java/module/playerOverview/SpielerTrainingsSimulatorPanel.java +++ b/src/main/java/module/playerOverview/SpielerTrainingsSimulatorPanel.java @@ -156,7 +156,7 @@ final class SpielerTrainingsSimulatorPanel extends ImagePanel private final JLabel m_jlLoyalty = new JLabel(); private final JLabel m_jlHomeGrown = new JLabel(); private Player m_clPlayer; - private final Player tempPlayer = new Player(); + private Player tempPlayer; //~ Constructors ------------------------------------------------------------------------------- @@ -169,15 +169,20 @@ final class SpielerTrainingsSimulatorPanel extends ImagePanel //~ Methods ------------------------------------------------------------------------------------ public void setSpieler(Player player) { + m_clPlayer = player; if (player != null) { - setLabels(); + // Setting the combo box values should not change the tempPlayer settings setCBs(); + // Initialize temp player with combo box values + initTempPlayer(); + setLabels(); //Remove for Temp player m_jbRemoveTempSpieler.setEnabled(player.getPlayerId() < 0); } else { + tempPlayer = null; resetLabels(); resetCBs(); m_jbRemoveTempSpieler.setEnabled(false); @@ -187,30 +192,51 @@ public void setSpieler(Player player) { repaint(); } + /** + * Initialize temporary player instance with combo box selections + * A new tempPlayer is required since rating prediction calculation caches players prediction values + */ + private void initTempPlayer() { + this.tempPlayer = new Player(); + tempPlayer.setForm(((CBItem) m_jcbForm.getSelectedItem()).getId()); + tempPlayer.setExperience(((CBItem) m_jcbErfahrung.getSelectedItem()).getId()); + tempPlayer.setStamina(((CBItem) m_jcbKondition.getSelectedItem()).getId()); + tempPlayer.setDefendingSkill(((CBItem) m_jcbVerteidigung.getSelectedItem()).getId()); + tempPlayer.setSpecialty(((CBItem) m_jcbSpeciality.getSelectedItem()).getId()); + tempPlayer.setScoringSkill(((CBItem) m_jcbTorschuss.getSelectedItem()).getId()); + tempPlayer.setGoalkeeperSkill(((CBItem) m_jcbTorwart.getSelectedItem()).getId()); + tempPlayer.setWingerSkill(((CBItem) m_jcbFluegel.getSelectedItem()).getId()); + tempPlayer.setPassingSkill(((CBItem) m_jcbPasspiel.getSelectedItem()).getId()); + tempPlayer.setSetPiecesSkill(((CBItem) m_jcbStandard.getSelectedItem()).getId()); + tempPlayer.setPlaymakingSkill(((CBItem) m_jcbSpielaufbau.getSelectedItem()).getId()); + tempPlayer.setLoyalty(((CBItem) m_jcbLoyalty.getSelectedItem()).getId()); + tempPlayer.setHomeGrown(m_jchHomegrown.isSelected()); + } + public void actionPerformed(ActionEvent e) { if (e.getSource().equals(m_jbAddTempSpieler)) { - final Player tempPlayer = new Player(); - tempPlayer.setHrfDate(); - tempPlayer.setNationalityId(HOVerwaltung.instance().getModel().getBasics().getLand()); - tempPlayer.setPlayerId(module.transfer.scout.TransferEingabePanel + var player = new Player(); + player.setHrfDate(); + player.setNationalityId(HOVerwaltung.instance().getModel().getBasics().getLand()); + player.setPlayerId(module.transfer.scout.TransferEingabePanel .getNextTempSpielerID()); - tempPlayer.setLastName("Temp " + Math.abs(1000 + tempPlayer.getPlayerId())); - tempPlayer.setAge(getAge()); - tempPlayer.setAgeDays(getAgeDays()); - tempPlayer.setExperience(((CBItem) m_jcbErfahrung.getSelectedItem()).getId()); - tempPlayer.setForm(((CBItem) m_jcbForm.getSelectedItem()).getId()); - tempPlayer.setStamina(((CBItem) m_jcbKondition.getSelectedItem()).getId()); - tempPlayer.setDefendingSkill(((CBItem) m_jcbVerteidigung.getSelectedItem()).getId()); - tempPlayer.setSpecialty(((CBItem) m_jcbSpeciality.getSelectedItem()).getId()); - tempPlayer.setScoringSkill(((CBItem) m_jcbTorschuss.getSelectedItem()).getId()); - tempPlayer.setGoalkeeperSkill(((CBItem) m_jcbTorwart.getSelectedItem()).getId()); - tempPlayer.setWingerSkill(((CBItem) m_jcbFluegel.getSelectedItem()).getId()); - tempPlayer.setPassingSkill(((CBItem) m_jcbPasspiel.getSelectedItem()).getId()); - tempPlayer.setSetPiecesSkill(((CBItem) m_jcbStandard.getSelectedItem()).getId()); - tempPlayer.setPlaymakingSkill(((CBItem) m_jcbSpielaufbau.getSelectedItem()).getId()); - tempPlayer.setLoyalty(((CBItem) m_jcbLoyalty.getSelectedItem()).getId()); - tempPlayer.setHomeGrown(m_jchHomegrown.isSelected()); - HOVerwaltung.instance().getModel().addPlayer(tempPlayer); + player.setLastName("Temp " + Math.abs(1000 + player.getPlayerId())); + player.setAge(getAge()); + player.setAgeDays(getAgeDays()); + player.setExperience(((CBItem) m_jcbErfahrung.getSelectedItem()).getId()); + player.setForm(((CBItem) m_jcbForm.getSelectedItem()).getId()); + player.setStamina(((CBItem) m_jcbKondition.getSelectedItem()).getId()); + player.setDefendingSkill(((CBItem) m_jcbVerteidigung.getSelectedItem()).getId()); + player.setSpecialty(((CBItem) m_jcbSpeciality.getSelectedItem()).getId()); + player.setScoringSkill(((CBItem) m_jcbTorschuss.getSelectedItem()).getId()); + player.setGoalkeeperSkill(((CBItem) m_jcbTorwart.getSelectedItem()).getId()); + player.setWingerSkill(((CBItem) m_jcbFluegel.getSelectedItem()).getId()); + player.setPassingSkill(((CBItem) m_jcbPasspiel.getSelectedItem()).getId()); + player.setSetPiecesSkill(((CBItem) m_jcbStandard.getSelectedItem()).getId()); + player.setPlaymakingSkill(((CBItem) m_jcbSpielaufbau.getSelectedItem()).getId()); + player.setLoyalty(((CBItem) m_jcbLoyalty.getSelectedItem()).getId()); + player.setHomeGrown(m_jchHomegrown.isSelected()); + HOVerwaltung.instance().getModel().addPlayer(player); RefreshManager.instance().doReInit(); HOMainFrame.instance().showTab(IModule.PLAYEROVERVIEW); } else if (e.getSource().equals(m_jbRemoveTempSpieler)) { @@ -223,6 +249,11 @@ public void actionPerformed(ActionEvent e) { public void itemStateChanged(ItemEvent itemEvent) { if ((itemEvent.getStateChange() == ItemEvent.SELECTED) || (itemEvent.getSource() == m_jchHomegrown)) { if (m_clPlayer != null) { + // During initial combo box settings the tempPlayer is null and the tempPlayer initialization is called after setCBs + if ( tempPlayer != null ) { + // User interactions will create new temp player instances, to invalidate prediction cache entries + initTempPlayer(); + } setLabels(); } else { resetLabels(); @@ -284,54 +315,43 @@ private void setCBs() { } private void setLabels() { - tempPlayer.setForm(((CBItem) m_jcbForm.getSelectedItem()).getId()); - tempPlayer.setExperience(((CBItem) m_jcbErfahrung.getSelectedItem()).getId()); - tempPlayer.setStamina(((CBItem) m_jcbKondition.getSelectedItem()).getId()); - tempPlayer.setDefendingSkill(((CBItem) m_jcbVerteidigung.getSelectedItem()).getId()); - tempPlayer.setSpecialty(((CBItem) m_jcbSpeciality.getSelectedItem()).getId()); - tempPlayer.setScoringSkill(((CBItem) m_jcbTorschuss.getSelectedItem()).getId()); - tempPlayer.setGoalkeeperSkill(((CBItem) m_jcbTorwart.getSelectedItem()).getId()); - tempPlayer.setWingerSkill(((CBItem) m_jcbFluegel.getSelectedItem()).getId()); - tempPlayer.setPassingSkill(((CBItem) m_jcbPasspiel.getSelectedItem()).getId()); - tempPlayer.setSetPiecesSkill(((CBItem) m_jcbStandard.getSelectedItem()).getId()); - tempPlayer.setPlaymakingSkill(((CBItem) m_jcbSpielaufbau.getSelectedItem()).getId()); - tempPlayer.setLoyalty(((CBItem) m_jcbLoyalty.getSelectedItem()).getId()); - tempPlayer.setHomeGrown(m_jchHomegrown.isSelected()); - m_jlForm.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getForm() - m_clPlayer.getForm(), true)); - m_jlKondition.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getStamina() - m_clPlayer.getStamina(), true)); - m_jlErfahrung.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getExperience() - m_clPlayer.getExperience(), true)); - m_jlSpielaufbau.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getPlaymakingSkill() - m_clPlayer.getPlaymakingSkill(), true)); - m_jlFluegel.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getWingerSkill() - m_clPlayer.getWingerSkill(), true)); - m_jlTorschuss.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getScoringSkill() - m_clPlayer.getScoringSkill(), true)); - m_jlTorwart.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getGoalkeeperSkill() - m_clPlayer.getGoalkeeperSkill(), true)); - m_jlPasspiel.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getPassingSkill() - m_clPlayer.getPassingSkill(), true)); - m_jlVerteidigung.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getDefendingSkill() - m_clPlayer.getDefendingSkill(), true)); - m_jlStandard.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getSetPiecesSkill() - m_clPlayer.getSetPiecesSkill(), true)); - m_jlLoyalty.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getLoyalty() - m_clPlayer.getLoyalty(), true)); - int hg = 0; - if (m_clPlayer.isHomeGrown() != tempPlayer.isHomeGrown()) { - if (m_clPlayer.isHomeGrown()) - hg = -1; - else - hg = 1; - } - m_jlHomeGrown.setIcon(ImageUtilities.getImageIcon4Change(hg, true)); + if ( tempPlayer != null ) { // do no temp player settings during combo boxes initializations + m_jlForm.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getForm() - m_clPlayer.getForm(), true)); + m_jlKondition.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getStamina() - m_clPlayer.getStamina(), true)); + m_jlErfahrung.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getExperience() - m_clPlayer.getExperience(), true)); + m_jlSpielaufbau.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getPlaymakingSkill() - m_clPlayer.getPlaymakingSkill(), true)); + m_jlFluegel.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getWingerSkill() - m_clPlayer.getWingerSkill(), true)); + m_jlTorschuss.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getScoringSkill() - m_clPlayer.getScoringSkill(), true)); + m_jlTorwart.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getGoalkeeperSkill() - m_clPlayer.getGoalkeeperSkill(), true)); + m_jlPasspiel.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getPassingSkill() - m_clPlayer.getPassingSkill(), true)); + m_jlVerteidigung.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getDefendingSkill() - m_clPlayer.getDefendingSkill(), true)); + m_jlStandard.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getSetPiecesSkill() - m_clPlayer.getSetPiecesSkill(), true)); + m_jlLoyalty.setIcon(ImageUtilities.getImageIcon4Change(tempPlayer.getLoyalty() - m_clPlayer.getLoyalty(), true)); + int hg = 0; + if (m_clPlayer.isHomeGrown() != tempPlayer.isHomeGrown()) { + if (m_clPlayer.isHomeGrown()) + hg = -1; + else + hg = 1; + } + m_jlHomeGrown.setIcon(ImageUtilities.getImageIcon4Change(hg, true)); - var r = tempPlayer.getIdealPositionRating(); - var idealPosition = tempPlayer.getIdealPosition(); - m_jpBestPos.setText(MatchRoleID.getNameForPosition(idealPosition) - + " (" + Helper.getNumberFormat(false, core.model.UserParameter.instance().nbDecimals) - .format(r) + ")"); + var r = tempPlayer.getIdealPositionRating(); + var idealPosition = tempPlayer.getIdealPosition(); + m_jpBestPos.setText(MatchRoleID.getNameForPosition(idealPosition) + + " (" + Helper.getNumberFormat(false, core.model.UserParameter.instance().nbDecimals) + .format(r) + ")"); - for (int i = 0; i < playerPositionValues.length; i++) { - showWithCompare(playerPositionValues[i], playerPosition[i]); - } + for (int i = 0; i < playerPositionValues.length; i++) { + showWithCompare(playerPositionValues[i], playerPosition[i]); + } - tempPlayer.setAge(getAge()); - tempPlayer.setAgeDays(getAgeDays()); - tempPlayer.setLeadership(m_clPlayer.getLeadership()); - tempPlayer.setSpecialty(m_clPlayer.getSpecialty()); + tempPlayer.setAge(getAge()); + tempPlayer.setAgeDays(getAgeDays()); + tempPlayer.setLeadership(m_clPlayer.getLeadership()); + tempPlayer.setSpecialty(m_clPlayer.getSpecialty()); + } } private void showWithCompare(DoubleLabelEntries labelEntry, byte playerPosition) { diff --git a/src/main/resources/release_notes.md b/src/main/resources/release_notes.md index 9d52030a2..7eaa13953 100644 --- a/src/main/resources/release_notes.md +++ b/src/main/resources/release_notes.md @@ -37,7 +37,7 @@ ## Translations -Reports by Contributors - April 28, 2024 - June 23, 2024 +Reports by Contributors - June 23, 2024 - July 01, 2024 * wsbrenk 0