mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-02-07 18:46:49 +01:00
Implement dungeon completion
This commit is contained in:
@@ -271,6 +271,20 @@ public final class DungeonManager {
|
||||
}
|
||||
|
||||
public void finishDungeon() {
|
||||
// Mark the dungeon has completed for the players.
|
||||
var dungeonId = this.getDungeonData().getId();
|
||||
this.getScene().getPlayers().forEach(player -> {
|
||||
var dungeons = player.getPlayerProgress().getCompletedDungeons();
|
||||
if (!dungeons.contains(dungeonId)) {
|
||||
dungeons.add(dungeonId);
|
||||
Grasscutter.getLogger().debug("Dungeon {} has been marked completed for {}.",
|
||||
dungeonId, player.getUid());
|
||||
} else {
|
||||
Grasscutter.getLogger().trace("Player {} already has dungeon {} completed.",
|
||||
player.getUid(), dungeonId);
|
||||
}
|
||||
});
|
||||
|
||||
notifyEndDungeon(true);
|
||||
endDungeon(BaseDungeonResult.DungeonEndReason.COMPLETED);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user