|
@@ -1294,40 +1294,45 @@ public class GDRoom extends Room {
|
|
|
.append(" 4游, 升1级");
|
|
|
break;
|
|
|
}
|
|
|
- // 升级
|
|
|
- winPlayer.data.levelIndex = Math.min(winPlayer.data.levelIndex + upLevel, GDUtils.levelPoint.length - 1);
|
|
|
-
|
|
|
- for (Struct.SettlementData settlementData : this.data.result.values()) {
|
|
|
- if (settlementData != null) {
|
|
|
- Player tmPlayer = this.actors.getOrDefault(settlementData.playerId, null);
|
|
|
- if (tmPlayer != null) {
|
|
|
- if (settlementData.playerId.equals(winPlayer.getId())
|
|
|
- || settlementData.playerId.equals(teammateData.player.getId())) {
|
|
|
- settlementData.score = upLevel;
|
|
|
- tmPlayer.data.levelPointView[0] = GDUtils.levelPoint[winPlayer.data.levelIndex];
|
|
|
- } else {
|
|
|
- settlementData.score = 0;
|
|
|
- tmPlayer.data.levelPointView[1] = GDUtils.levelPoint[winPlayer.data.levelIndex];
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
// 根据类型判断结束走向
|
|
|
if (this.data.mode == 1) {
|
|
|
- if (this.data.curLevelPoint == this.data.modev) {
|
|
|
+ if (winPlayer.data.levelPointView[0] >= this.data.modev) {
|
|
|
this.data.isOver = true;
|
|
|
+ // 设置全局当前级牌点数
|
|
|
+ this.data.curLevelPoint = this.data.modev;
|
|
|
} else {
|
|
|
+ // 升级
|
|
|
+ winPlayer.data.levelIndex = Math.min(winPlayer.data.levelIndex + upLevel, GDUtils.levelPoint.length - 1);
|
|
|
+
|
|
|
this.data.isOver = false;
|
|
|
// 设置全局当前级牌点数
|
|
|
this.data.curLevelPoint = winPlayer.data.levelPointView[0];
|
|
|
// this.data.curLevelPoint = Math.max(winPlayer.data.levelPointView[0], winPlayer.data.levelPointView[1]);
|
|
|
}
|
|
|
} else {
|
|
|
+ // 升级
|
|
|
+ winPlayer.data.levelIndex = Math.min(winPlayer.data.levelIndex + upLevel, GDUtils.levelPoint.length - 1);
|
|
|
// 设置全局当前级牌点数
|
|
|
this.data.curLevelPoint = winPlayer.data.levelPointView[0];
|
|
|
// this.data.curLevelPoint = Math.max(winPlayer.data.levelPointView[0], winPlayer.data.levelPointView[1]);
|
|
|
}
|
|
|
+
|
|
|
+ // 设置分数等级
|
|
|
+ for (Struct.SettlementData settlementData : this.data.result.values()) {
|
|
|
+ if (settlementData != null) {
|
|
|
+ Player tmPlayer = this.actors.getOrDefault(settlementData.playerId, null);
|
|
|
+ if (tmPlayer != null) {
|
|
|
+ if (settlementData.playerId.equals(winPlayer.getId())
|
|
|
+ || settlementData.playerId.equals(teammateData.player.getId())) {
|
|
|
+ settlementData.score = upLevel;
|
|
|
+ tmPlayer.data.levelPointView[0] = Math.min(GDUtils.levelPoint[winPlayer.data.levelIndex], this.data.modev);
|
|
|
+ } else {
|
|
|
+ settlementData.score = 0;
|
|
|
+ tmPlayer.data.levelPointView[1] = Math.min(GDUtils.levelPoint[winPlayer.data.levelIndex], this.data.modev);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Log.info("升级...{}, 原级牌点数: {}, 当前级牌点数: {}", builder.toString(), oldLevelPoint, this.data.curLevelPoint);
|
|
@@ -1349,17 +1354,17 @@ public class GDRoom extends Room {
|
|
|
|
|
|
public boolean checkAllOver() {
|
|
|
boolean isAllOver = false;
|
|
|
+ // 头游
|
|
|
+ Struct.SettlementData winPlayerData = this.data.result.getOrDefault(1, null);
|
|
|
+ if (winPlayerData == null || StringUtils.isEmpty(winPlayerData.playerId)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ Player winPlayer = this.actors.getOrDefault(winPlayerData.playerId, null);
|
|
|
+ if (winPlayer == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
// 过A结束 1.头游队友不是末游 过A结束
|
|
|
- if (this.data.curLevelPoint == this.data.modev && this.data.isOver) {
|
|
|
- // 头游
|
|
|
- Struct.SettlementData winPlayerData = this.data.result.getOrDefault(1, null);
|
|
|
- if (winPlayerData == null || StringUtils.isEmpty(winPlayerData.playerId)) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- Player winPlayer = this.actors.getOrDefault(winPlayerData.playerId, null);
|
|
|
- if (winPlayer == null) {
|
|
|
- return false;
|
|
|
- }
|
|
|
+ if (winPlayer.data.levelPointView[0] >= this.data.modev && this.data.isOver) {
|
|
|
// 头游搭档数据
|
|
|
Struct.TeammateData teammateData = this.getTeammate(winPlayer.data.teammateId);
|
|
|
switch (teammateData.getRank()) {
|