Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tower Dungeons Handoff between levels #594

Merged
10 commits merged into from
May 6, 2022
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ public void exitDungeon(Player player) {
// clean temp team if it has
player.getTeamManager().cleanTemporaryTeam();
player.getTowerManager().clearEntry();

// Transfer player back to world
player.getWorld().transferPlayerToScene(player, prevScene, prevPos);
player.sendPacket(new BasePacket(PacketOpcodes.PlayerQuitDungeonRsp));
Expand Down
8 changes: 6 additions & 2 deletions src/main/java/emu/grasscutter/game/tower/TowerManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,21 @@
import emu.grasscutter.game.dungeons.TowerDungeonSettleListener;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.PacketTowerCurLevelRecordChangeNotify;

import emu.grasscutter.server.packet.send.PacketTowerEnterLevelRsp;

import java.util.List;

@Entity
public class TowerManager {
@Transient
private Player player;

@Transient private final Player player;


public TowerManager(Player player) {
this.player = player;
}

public void setPlayer(Player player) {
this.player = player;
}
Expand Down Expand Up @@ -52,6 +55,7 @@ public void teamSelect(int floor, List<List<Long>> towerTeams) {
entryScene = player.getSceneId();
}


player.getTeamManager().setupTemporaryTeam(towerTeams);
}

Expand Down