mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 09:25:06 +01:00
Add home resource gain (#2064)
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketHomeResourceTakeFetterExpRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.HomeResourceTakeFetterExpReq)
|
||||
public class HandlerHomeResourceTakeFetterExpReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
|
||||
session.send(new PacketHomeResourceTakeFetterExpRsp(session.getPlayer()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketHomeResourceTakeHomeCoinRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.HomeResourceTakeHomeCoinReq)
|
||||
public class HandlerHomeResourceTakeHomeCoinReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
|
||||
session.send(new PacketHomeResourceTakeHomeCoinRsp(session.getPlayer()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeResourceNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.HomeResourceOuterClass.HomeResource;
|
||||
|
||||
public class PacketHomeResourceNotify extends BasePacket {
|
||||
public PacketHomeResourceNotify(Player player) {
|
||||
super(PacketOpcodes.HomeResourceNotify);
|
||||
|
||||
var home = player.getHome();
|
||||
var level = home.getLevel();
|
||||
|
||||
HomeResource coin = HomeResource.newBuilder()
|
||||
.setNextRefreshTime(home.getNextUpdateTime())
|
||||
.setStoreLimit(home.getMaxCoin(level))
|
||||
.setStoreValue(home.getStoredCoin())
|
||||
.build();
|
||||
|
||||
HomeResource fetter = HomeResource.newBuilder()
|
||||
.setNextRefreshTime(home.getNextUpdateTime())
|
||||
.setStoreLimit(home.getMaxFetter(level))
|
||||
.setStoreValue(home.getStoredFetterExp())
|
||||
.build();
|
||||
|
||||
var notify = HomeResourceNotifyOuterClass.HomeResourceNotify.newBuilder()
|
||||
.setFetterExp(fetter)
|
||||
.setHomeCoin(coin)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeResourceTakeFetterExpRspOuterClass;
|
||||
import emu.grasscutter.net.proto.HomeResourceOuterClass.HomeResource;
|
||||
|
||||
public class PacketHomeResourceTakeFetterExpRsp extends BasePacket {
|
||||
public PacketHomeResourceTakeFetterExpRsp(Player player) {
|
||||
super(PacketOpcodes.HomeResourceTakeFetterExpRsp);
|
||||
|
||||
var home = player.getHome();
|
||||
|
||||
home.takeHomeFetter(player);
|
||||
|
||||
var fetterExp = HomeResource.newBuilder()
|
||||
.setNextRefreshTime(home.getNextUpdateTime())
|
||||
.setStoreLimit(home.getMaxFetter(home.getLevel()))
|
||||
.setStoreValue(0)
|
||||
.build();
|
||||
|
||||
var proto = HomeResourceTakeFetterExpRspOuterClass.HomeResourceTakeFetterExpRsp.newBuilder()
|
||||
.setFetterExp(fetterExp)
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeResourceTakeHomeCoinRspOuterClass;
|
||||
import emu.grasscutter.net.proto.HomeResourceOuterClass.HomeResource;
|
||||
|
||||
public class PacketHomeResourceTakeHomeCoinRsp extends BasePacket {
|
||||
public PacketHomeResourceTakeHomeCoinRsp(Player player) {
|
||||
super(PacketOpcodes.HomeResourceTakeHomeCoinRsp);
|
||||
|
||||
var home = player.getHome();
|
||||
|
||||
home.takeHomeCoin(player);
|
||||
|
||||
var coin = HomeResource.newBuilder()
|
||||
.setNextRefreshTime(home.getNextUpdateTime())
|
||||
.setStoreLimit(home.getMaxCoin(home.getLevel()))
|
||||
.setStoreValue(0)
|
||||
.build();
|
||||
|
||||
var proto = HomeResourceTakeHomeCoinRspOuterClass.HomeResourceTakeHomeCoinRsp.newBuilder()
|
||||
.setHomeCoin(coin)
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user