Merge branch 'development' into unstable-quests

# Conflicts:
#	src/generated/main/java/emu/grasscutter/net/proto/ScenePointUnlockNotifyOuterClass.java
#	src/main/java/emu/grasscutter/game/dungeons/DungeonSystem.java
#	src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java
#	src/main/java/emu/grasscutter/server/packet/recv/HandlerDungeonEntryInfoReq.java
This commit is contained in:
KingRainbow44 2023-04-18 15:36:29 -04:00
commit 361620de6d
No known key found for this signature in database
GPG Key ID: FC2CB64B00D257BE
5 changed files with 1321 additions and 1590 deletions

View File

@ -1 +1,2 @@
org.gradle.jvmargs=-Xmx1024m org.gradle.jvmargs=-Xmx1024m
# spikehd was here :)

View File

@ -67,8 +67,8 @@ public class DungeonSystem extends BaseGameSystem {
* @param player The player to send the entry info to. * @param player The player to send the entry info to.
* @param pointId The dungeon point ID. * @param pointId The dungeon point ID.
*/ */
public void sendEntryInfoFor(Player player, int pointId) { public void sendEntryInfoFor(Player player, int pointId, int sceneId) {
var entry = GameData.getScenePointEntryById(player.getScene().getId(), pointId); var entry = GameData.getScenePointEntryById(sceneId, pointId);
if (entry == null) { if (entry == null) {
// An invalid point ID was sent. // An invalid point ID was sent.
player.sendPacket(new PacketDungeonEntryInfoRsp()); player.sendPacket(new PacketDungeonEntryInfoRsp());

View File

@ -94,8 +94,8 @@ public class HandlerCombatInvocationsNotify extends PacketHandler {
} }
} }
// MOTION_STATE_NOTIFY = Dont send to other players // as long as one of these two packets be forwarded to client, the animation of avatar will be interrupted
if (motionState == MotionState.MOTION_STATE_NOTIFY) { if (motionState == MotionState.MOTION_STATE_NOTIFY || motionState == MotionState.MOTION_STATE_FIGHT) {
continue; continue;
} }
} }

View File

@ -13,6 +13,6 @@ public class HandlerDungeonEntryInfoReq extends PacketHandler {
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception { public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
DungeonEntryInfoReq req = DungeonEntryInfoReq.parseFrom(payload); DungeonEntryInfoReq req = DungeonEntryInfoReq.parseFrom(payload);
session.getServer().getDungeonSystem().sendEntryInfoFor(session.getPlayer(), req.getPointId()); session.getServer().getDungeonSystem().sendEntryInfoFor(session.getPlayer(), req.getPointId(), req.getSceneId());
} }
} }