mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-01-26 15:22:56 +08:00
Set world level automatically on level up.
This commit is contained in:
parent
f5145efbdf
commit
3a2ebd1edd
@ -429,6 +429,14 @@ public class Player {
|
|||||||
return this.getProperty(PlayerProperty.PROP_PLAYER_LEVEL);
|
return this.getProperty(PlayerProperty.PROP_PLAYER_LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLevel(int level) {
|
||||||
|
this.setProperty(PlayerProperty.PROP_PLAYER_LEVEL, level);
|
||||||
|
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_LEVEL));
|
||||||
|
|
||||||
|
this.updateWorldLevel();
|
||||||
|
this.updateProfile();
|
||||||
|
}
|
||||||
|
|
||||||
public int getExp() {
|
public int getExp() {
|
||||||
return this.getProperty(PlayerProperty.PROP_PLAYER_EXP);
|
return this.getProperty(PlayerProperty.PROP_PLAYER_EXP);
|
||||||
}
|
}
|
||||||
@ -440,6 +448,8 @@ public class Player {
|
|||||||
public void setWorldLevel(int level) {
|
public void setWorldLevel(int level) {
|
||||||
this.setProperty(PlayerProperty.PROP_PLAYER_WORLD_LEVEL, level);
|
this.setProperty(PlayerProperty.PROP_PLAYER_WORLD_LEVEL, level);
|
||||||
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_WORLD_LEVEL));
|
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_WORLD_LEVEL));
|
||||||
|
|
||||||
|
this.updateProfile();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPrimogems() {
|
public int getPrimogems() {
|
||||||
@ -508,12 +518,7 @@ public class Player {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (hasLeveledUp) {
|
if (hasLeveledUp) {
|
||||||
// Set level property
|
this.setLevel(level);
|
||||||
this.setProperty(PlayerProperty.PROP_PLAYER_LEVEL, level);
|
|
||||||
// Update social status
|
|
||||||
this.updateProfile();
|
|
||||||
// Update player with packet
|
|
||||||
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_LEVEL));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set exp
|
// Set exp
|
||||||
@ -523,6 +528,27 @@ public class Player {
|
|||||||
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_EXP));
|
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_EXP));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateWorldLevel() {
|
||||||
|
int currentWorldLevel = this.getWorldLevel();
|
||||||
|
int currentLevel = this.getLevel();
|
||||||
|
|
||||||
|
int newWorldLevel =
|
||||||
|
(currentLevel >= 55) ? 8 :
|
||||||
|
(currentLevel >= 50) ? 7 :
|
||||||
|
(currentLevel >= 45) ? 6 :
|
||||||
|
(currentLevel >= 40) ? 5 :
|
||||||
|
(currentLevel >= 35) ? 4 :
|
||||||
|
(currentLevel >= 30) ? 3 :
|
||||||
|
(currentLevel >= 25) ? 2 :
|
||||||
|
(currentLevel >= 20) ? 1 :
|
||||||
|
0;
|
||||||
|
|
||||||
|
if (newWorldLevel != currentWorldLevel) {
|
||||||
|
this.getWorld().setWorldLevel(newWorldLevel);
|
||||||
|
this.setWorldLevel(newWorldLevel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void updateProfile() {
|
private void updateProfile() {
|
||||||
getProfile().syncWithCharacter(this);
|
getProfile().syncWithCharacter(this);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user