attempt to fix daily active + bp

This commit is contained in:
Hiro
2023-11-30 05:49:05 +02:00
parent 6f631dda03
commit d306f90435
12 changed files with 3207 additions and 0 deletions

View File

@@ -239,6 +239,10 @@ public class Player {
this.sendPacket(new PacketPlayerSyncScNotify(this));
}
public int getWorldLevel() {
return this.worldLevel;
}
public void setPhoneTheme(int themeId) {
this.phoneTheme = themeId;
this.save();

View File

@@ -0,0 +1,16 @@
package emu.lunarcore.server.packet.recv;
import emu.lunarcore.server.game.GameSession;
import emu.lunarcore.server.packet.CmdId;
import emu.lunarcore.server.packet.Opcodes;
import emu.lunarcore.server.packet.PacketHandler;
import emu.lunarcore.server.packet.send.PacketGetDailyActiveInfoScRsp;
@Opcodes(CmdId.GetDailyActiveInfoCsReq)
public class HandlerGetDailyActiveInfoCsReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] data) throws Exception {
session.send(new PacketGetDailyActiveInfoScRsp(session.getPlayer()));
}
}

View File

@@ -5,6 +5,7 @@ import emu.lunarcore.server.packet.CmdId;
import emu.lunarcore.server.packet.Opcodes;
import emu.lunarcore.server.packet.PacketHandler;
import emu.lunarcore.server.packet.send.PacketGetPlayerBoardDataScRsp;
import emu.lunarcore.server.packet.send.PacketBattlePassInfoNotify;
@Opcodes(CmdId.GetPlayerBoardDataCsReq)
public class HandlerGetPlayerBoardDataCsReq extends PacketHandler {
@@ -12,6 +13,7 @@ public class HandlerGetPlayerBoardDataCsReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] data) throws Exception {
session.send(new PacketGetPlayerBoardDataScRsp(session.getPlayer()));
session.send(new PacketBattlePassInfoNotify());
}
}

View File

@@ -4,6 +4,8 @@ import emu.lunarcore.server.game.GameSession;
import emu.lunarcore.server.packet.CmdId;
import emu.lunarcore.server.packet.Opcodes;
import emu.lunarcore.server.packet.PacketHandler;
import emu.lunarcore.server.packet.send.PacketDailyActiveInfoNotify;
import emu.lunarcore.server.packet.send.PacketBattlePassInfoNotify;
import emu.lunarcore.server.packet.send.PacketGetArchiveDataScRsp;
@Opcodes(CmdId.PlayerLoginFinishCsReq)
@@ -12,6 +14,8 @@ public class HandlerPlayerLoginFinishCsReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] data) throws Exception {
session.send(CmdId.PlayerLoginFinishScRsp);
session.send(new PacketBattlePassInfoNotify());
// session.send(new PacketDailyActiveInfoNotify(session.getPlayer()));
session.send(new PacketGetArchiveDataScRsp());
}

View File

@@ -0,0 +1,30 @@
package emu.lunarcore.server.packet.send;
import java.util.*;
import java.math.*;
import emu.lunarcore.proto.BattlePassInfoNotifyOuterClass.BattlePassInfoNotify;
import emu.lunarcore.proto.BattlePassInfoNotifyOuterClass.BattlePassInfoNotify.BpTierType;
import emu.lunarcore.server.packet.BasePacket;
import emu.lunarcore.server.packet.CmdId;
public class PacketBattlePassInfoNotify extends BasePacket {
public PacketBattlePassInfoNotify() {
super(CmdId.BattlePassInfoNotify);
var data = BattlePassInfoNotify.newInstance()
//.setTakenFreeReward(9223372036854775806L)
//.setTakenPremiumReward1(9223372036854775806L)
//.setTakenPremiumReward2(2251799813685246L)
//.setTakenPremiumOptionalReward(2251799813685246L)
.setTakenFreeExtendedReward(127)
.setTakenPremiumExtendedReward(127)
.setUnkfield(4)
.setLevel(70)
.setCurWeekAddExpSum(8000)
.setExp(800)
.setCurBpId(5) // doesn't matter
.setBpTierType(BpTierType.BP_TIER_TYPE_PREMIUM_2);
this.setData(data);
}
}

View File

@@ -0,0 +1,36 @@
package emu.lunarcore.server.packet.send;
import java.util.*;
import emu.lunarcore.game.player.Player;
import emu.lunarcore.proto.DailyActiveInfoNotifyOuterClass.DailyActiveInfoNotify;
import emu.lunarcore.proto.DailyActivityInfoOuterClass.DailyActivityInfo;
import emu.lunarcore.server.packet.BasePacket;
import emu.lunarcore.server.packet.CmdId;
public class PacketDailyActiveInfoNotify extends BasePacket {
public PacketDailyActiveInfoNotify(Player player) {
super(CmdId.DailyActiveInfoNotify);
List<Integer> questIdList = Arrays.asList(2100003,2100102,2100112,2100115,2100119,2100129);
var data = DailyActiveInfoNotify.newInstance()
.setDailyActivePoint(700);
for (int questId : questIdList) {
data.addDailyActiveQuestIdList(questId);
}
for (int level = 1; level <= 5; level++) {
DailyActivityInfo levelInfo = DailyActivityInfo.newInstance()
.setLevel(level)
.setDailyActivePoint(level * 100)
.setWorldLevel(player.getWorldLevel())
.setIsHasTaken(true);
data.addDailyActiveLevelList(levelInfo);
}
this.setData(data);
}
}

View File

@@ -0,0 +1,37 @@
package emu.lunarcore.server.packet.send;
import java.util.*;
import emu.lunarcore.proto.GetDailyActiveInfoScRspOuterClass.GetDailyActiveInfoScRsp;
import emu.lunarcore.proto.DailyActivityInfoOuterClass.DailyActivityInfo;
import emu.lunarcore.game.player.Player;
import emu.lunarcore.server.game.GameSession;
import emu.lunarcore.server.packet.BasePacket;
import emu.lunarcore.server.packet.CmdId;
public class PacketGetDailyActiveInfoScRsp extends BasePacket {
public PacketGetDailyActiveInfoScRsp(Player target) {
super(CmdId.GetDailyActiveInfoScRsp);
List<Integer> questIdList = Arrays.asList(2100003,2100102,2100112,2100115,2100119,2100129);
var data = GetDailyActiveInfoScRsp.newInstance()
.setDailyActivePoint(500);
for (int questId : questIdList) {
data.addDailyActiveQuestIdList(questId);
}
for (int level = 1; level <= 5; level++) {
DailyActivityInfo levelInfo = DailyActivityInfo.newInstance()
.setLevel(level)
.setDailyActivePoint(level * 100)
.setWorldLevel(target.getWorldLevel())
.setIsHasTaken(true);
data.addDailyActiveLevelList(levelInfo);
}
this.setData(data);
}
}