Fix SU talent tree

This commit is contained in:
Melledy
2024-03-28 01:41:58 -07:00
parent 27250070c1
commit 020af7ce9d
9 changed files with 638 additions and 117 deletions

View File

@@ -54,7 +54,7 @@ import emu.lunarcore.proto.HeadIconOuterClass.HeadIcon;
import emu.lunarcore.proto.PlatformTypeOuterClass.PlatformType;
import emu.lunarcore.proto.PlayerBasicInfoOuterClass.PlayerBasicInfo;
import emu.lunarcore.proto.PlayerDetailInfoOuterClass.PlayerDetailInfo;
import emu.lunarcore.proto.RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo;
import emu.lunarcore.proto.RogueCurVirtualItemInfoOuterClass.RogueCurVirtualItemInfo;
import emu.lunarcore.proto.SimpleInfoOuterClass.SimpleInfo;
import emu.lunarcore.server.game.GameServer;
import emu.lunarcore.server.game.GameSession;
@@ -960,12 +960,14 @@ public class Player implements Tickable {
return proto;
}
public RogueVirtualItemInfo toRogueVirtualItemsProto() {
var proto = RogueVirtualItemInfo.newInstance()
.setX(this.getTalentPoints()); // remain to be discussed
public RogueCurVirtualItemInfo getCurRogueVirtualItem() {
var proto = RogueCurVirtualItemInfo.newInstance()
.setCurRogueAbilityPoint(this.getTalentPoints());
if (this.getRogueInstance() != null) {
proto.setMoney(this.getRogueInstance().getMoney());
proto.setCurRogueCoin(this.getRogueInstance().getMoney());
}
return proto;
}
}

View File

@@ -8,7 +8,6 @@ import java.util.Set;
import emu.lunarcore.data.GameData;
import emu.lunarcore.data.GameDepot;
import emu.lunarcore.data.excel.RogueBuffExcel;
import emu.lunarcore.proto.ItemCostListOuterClass.ItemCostList;
import emu.lunarcore.proto.ItemCostOuterClass.ItemCost;
import emu.lunarcore.proto.PileItemOuterClass.PileItem;
import emu.lunarcore.proto.RogueCommonBuffSelectInfoOuterClass.RogueCommonBuffSelectInfo;

View File

@@ -30,7 +30,7 @@ import emu.lunarcore.proto.RogueRecordAvatarOuterClass.RogueRecordAvatar;
import emu.lunarcore.proto.RogueRecordInfoOuterClass.RogueRecordInfo;
import emu.lunarcore.proto.RogueRoomStatusOuterClass.RogueRoomStatus;
import emu.lunarcore.proto.RogueStatusOuterClass.RogueStatus;
import emu.lunarcore.proto.RogueVirtualItemOuterClass.RogueVirtualItem;
import emu.lunarcore.proto.RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo;
import emu.lunarcore.server.packet.send.*;
import emu.lunarcore.util.Utils;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
@@ -630,7 +630,7 @@ public class RogueInstance {
.setRogueBuffInfo(this.toBuffInfoProto())
.setRogueMiracleInfo(this.toMiracleInfoProto())
.setRogueAeonInfo(this.toAeonProto())
.setRogueVirtualItem(this.toVirtualItemProto());
.setRogueVirtualItem(this.toRogueVirtualItemProto());
if (pendingAction != null) {
proto.setPendingAction(pendingAction);
@@ -695,13 +695,6 @@ public class RogueInstance {
return proto;
}
public RogueVirtualItem toVirtualItemProto() {
var proto = RogueVirtualItem.newInstance()
.setMoney(this.getMoney());
return proto;
}
public RogueFinishInfo toFinishInfoProto() {
// Rogue record info
@@ -740,4 +733,10 @@ public class RogueInstance {
return proto;
}
public RogueVirtualItemInfo toRogueVirtualItemProto() {
var proto = RogueVirtualItemInfo.newInstance()
.setRogueCoin(this.getMoney());
return proto;
}
}

View File

@@ -16,11 +16,9 @@ import emu.lunarcore.proto.RogueAeonInfoOuterClass.RogueAeonInfo;
import emu.lunarcore.proto.RogueAreaInfoOuterClass.RogueAreaInfo;
import emu.lunarcore.proto.RogueAreaOuterClass.RogueArea;
import emu.lunarcore.proto.RogueAreaStatusOuterClass.RogueAreaStatus;
import emu.lunarcore.proto.RogueInfoDataOuterClass.RogueInfoData;
import emu.lunarcore.proto.RogueInfoOuterClass.RogueInfo;
import emu.lunarcore.proto.RogueScoreRewardInfoOuterClass.RogueScoreRewardInfo;
import emu.lunarcore.proto.RogueSeasonInfoOuterClass.RogueSeasonInfo;
import emu.lunarcore.proto.RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo;
import emu.lunarcore.proto.RogueTalentInfoOuterClass.RogueTalentInfo;
import emu.lunarcore.proto.RogueTalentOuterClass.RogueTalent;
import emu.lunarcore.proto.RogueTalentStatusOuterClass.RogueTalentStatus;
@@ -176,6 +174,9 @@ public class RogueManager extends BasePlayerManager {
seasonId = schedule.getRogueSeason();
}
var proto = RogueInfo.newInstance();
var data = proto.getMutableRogueInfoData();
var score = RogueScoreRewardInfo.newInstance()
.setPoolId(26) // TODO pool ids should not change when world level changes
.setPoolRefreshed(false)
@@ -189,10 +190,6 @@ public class RogueManager extends BasePlayerManager {
.setBeginTime(beginTime)
.setSeasonId(seasonId)
.setEndTime(endTime);
var rogueVirtualItemInfo = RogueVirtualItemInfo.newInstance()
.setMoney(100000)
.setX(100000);
// Path resonance
var aeonInfo = RogueAeonInfo.newInstance();
@@ -209,13 +206,14 @@ public class RogueManager extends BasePlayerManager {
aeonInfo.setIsUnlocked(true);
//aeonInfo.setUnlockAeonEnhanceNum(3); // guess
}
var data = RogueInfoData.newInstance()
.setRogueScoreInfo(score)
.setRogueAeonInfo(aeonInfo)
.setRogueSeasonInfo(season);
// Rogue data
// Set rogue data
data.setRogueScoreInfo(score)
.setRogueAeonInfo(aeonInfo)
.setRogueSeasonInfo(season)
.setRogueVirtualItemInfo(getPlayer().getCurRogueVirtualItem());
// Get rogue instance
RogueInstance instance = this.getPlayer().getRogueInstance();
// Add areas
@@ -244,9 +242,6 @@ public class RogueManager extends BasePlayerManager {
}
data.setRogueAreaInfo(areaInfo);
var proto = RogueInfo.newInstance()
.setRogueInfoData(data);
if (instance != null) {
proto.setRogueCurrentInfo(instance.toProto());
}

View File

@@ -10,8 +10,11 @@ public class PacketSyncRogueVirtualItemInfoScNotify extends BasePacket {
public PacketSyncRogueVirtualItemInfoScNotify(Player player) {
super(CmdId.SyncRogueVirtualItemInfoScNotify);
var data = SyncRogueVirtualItemInfoScNotify.newInstance()
.setRogueVirtualItemInfo(player.toRogueVirtualItemsProto());
var data = SyncRogueVirtualItemInfoScNotify.newInstance();
if (player.getRogueInstance() != null) {
data.setRogueVirtualItemInfo(player.getRogueInstance().toRogueVirtualItemProto());
}
this.setData(data);
}