Fix some event(at least it wont get stuck in anybody)

This commit is contained in:
Somebody
2024-02-01 12:21:38 +08:00
committed by Melledy
parent 55a1a636ec
commit 0975ddf234
12 changed files with 661 additions and 156 deletions

View File

@@ -0,0 +1,262 @@
// Code generated by protocol buffer compiler. Do not edit!
package emu.lunarcore.proto;
import java.io.IOException;
import us.hebi.quickbuf.FieldName;
import us.hebi.quickbuf.InvalidProtocolBufferException;
import us.hebi.quickbuf.JsonSink;
import us.hebi.quickbuf.JsonSource;
import us.hebi.quickbuf.MessageFactory;
import us.hebi.quickbuf.ProtoMessage;
import us.hebi.quickbuf.ProtoSink;
import us.hebi.quickbuf.ProtoSource;
public final class FinishRogueDialogueGroupCsReqOuterClass {
/**
* Protobuf type {@code FinishRogueDialogueGroupCsReq}
*/
public static final class FinishRogueDialogueGroupCsReq extends ProtoMessage<FinishRogueDialogueGroupCsReq> implements Cloneable {
private static final long serialVersionUID = 0L;
/**
* <code>optional uint32 entity_id = 5;</code>
*/
private int entityId;
private FinishRogueDialogueGroupCsReq() {
}
/**
* @return a new empty instance of {@code FinishRogueDialogueGroupCsReq}
*/
public static FinishRogueDialogueGroupCsReq newInstance() {
return new FinishRogueDialogueGroupCsReq();
}
/**
* <code>optional uint32 entity_id = 5;</code>
* @return whether the entityId field is set
*/
public boolean hasEntityId() {
return (bitField0_ & 0x00000001) != 0;
}
/**
* <code>optional uint32 entity_id = 5;</code>
* @return this
*/
public FinishRogueDialogueGroupCsReq clearEntityId() {
bitField0_ &= ~0x00000001;
entityId = 0;
return this;
}
/**
* <code>optional uint32 entity_id = 5;</code>
* @return the entityId
*/
public int getEntityId() {
return entityId;
}
/**
* <code>optional uint32 entity_id = 5;</code>
* @param value the entityId to set
* @return this
*/
public FinishRogueDialogueGroupCsReq setEntityId(final int value) {
bitField0_ |= 0x00000001;
entityId = value;
return this;
}
@Override
public FinishRogueDialogueGroupCsReq copyFrom(final FinishRogueDialogueGroupCsReq other) {
cachedSize = other.cachedSize;
if ((bitField0_ | other.bitField0_) != 0) {
bitField0_ = other.bitField0_;
entityId = other.entityId;
}
return this;
}
@Override
public FinishRogueDialogueGroupCsReq mergeFrom(final FinishRogueDialogueGroupCsReq other) {
if (other.isEmpty()) {
return this;
}
cachedSize = -1;
if (other.hasEntityId()) {
setEntityId(other.entityId);
}
return this;
}
@Override
public FinishRogueDialogueGroupCsReq clear() {
if (isEmpty()) {
return this;
}
cachedSize = -1;
bitField0_ = 0;
entityId = 0;
return this;
}
@Override
public FinishRogueDialogueGroupCsReq clearQuick() {
if (isEmpty()) {
return this;
}
cachedSize = -1;
bitField0_ = 0;
return this;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (!(o instanceof FinishRogueDialogueGroupCsReq)) {
return false;
}
FinishRogueDialogueGroupCsReq other = (FinishRogueDialogueGroupCsReq) o;
return bitField0_ == other.bitField0_
&& (!hasEntityId() || entityId == other.entityId);
}
@Override
public void writeTo(final ProtoSink output) throws IOException {
if ((bitField0_ & 0x00000001) != 0) {
output.writeRawByte((byte) 40);
output.writeUInt32NoTag(entityId);
}
}
@Override
protected int computeSerializedSize() {
int size = 0;
if ((bitField0_ & 0x00000001) != 0) {
size += 1 + ProtoSink.computeUInt32SizeNoTag(entityId);
}
return size;
}
@Override
@SuppressWarnings("fallthrough")
public FinishRogueDialogueGroupCsReq mergeFrom(final ProtoSource input) throws IOException {
// Enabled Fall-Through Optimization (QuickBuffers)
int tag = input.readTag();
while (true) {
switch (tag) {
case 40: {
// entityId
entityId = input.readUInt32();
bitField0_ |= 0x00000001;
tag = input.readTag();
if (tag != 0) {
break;
}
}
case 0: {
return this;
}
default: {
if (!input.skipField(tag)) {
return this;
}
tag = input.readTag();
break;
}
}
}
}
@Override
public void writeTo(final JsonSink output) throws IOException {
output.beginObject();
if ((bitField0_ & 0x00000001) != 0) {
output.writeUInt32(FieldNames.entityId, entityId);
}
output.endObject();
}
@Override
public FinishRogueDialogueGroupCsReq mergeFrom(final JsonSource input) throws IOException {
if (!input.beginObject()) {
return this;
}
while (!input.isAtEnd()) {
switch (input.readFieldHash()) {
case -2102099874:
case -740565257: {
if (input.isAtField(FieldNames.entityId)) {
if (!input.trySkipNullValue()) {
entityId = input.readUInt32();
bitField0_ |= 0x00000001;
}
} else {
input.skipUnknownField();
}
break;
}
default: {
input.skipUnknownField();
break;
}
}
}
input.endObject();
return this;
}
@Override
public FinishRogueDialogueGroupCsReq clone() {
return new FinishRogueDialogueGroupCsReq().copyFrom(this);
}
@Override
public boolean isEmpty() {
return ((bitField0_) == 0);
}
public static FinishRogueDialogueGroupCsReq parseFrom(final byte[] data) throws
InvalidProtocolBufferException {
return ProtoMessage.mergeFrom(new FinishRogueDialogueGroupCsReq(), data).checkInitialized();
}
public static FinishRogueDialogueGroupCsReq parseFrom(final ProtoSource input) throws
IOException {
return ProtoMessage.mergeFrom(new FinishRogueDialogueGroupCsReq(), input).checkInitialized();
}
public static FinishRogueDialogueGroupCsReq parseFrom(final JsonSource input) throws
IOException {
return ProtoMessage.mergeFrom(new FinishRogueDialogueGroupCsReq(), input).checkInitialized();
}
/**
* @return factory for creating FinishRogueDialogueGroupCsReq messages
*/
public static MessageFactory<FinishRogueDialogueGroupCsReq> getFactory() {
return FinishRogueDialogueGroupCsReqFactory.INSTANCE;
}
private enum FinishRogueDialogueGroupCsReqFactory implements MessageFactory<FinishRogueDialogueGroupCsReq> {
INSTANCE;
@Override
public FinishRogueDialogueGroupCsReq create() {
return FinishRogueDialogueGroupCsReq.newInstance();
}
}
/**
* Contains name constants used for serializing JSON
*/
static class FieldNames {
static final FieldName entityId = FieldName.forField("entityId", "entity_id");
}
}
}

View File

@@ -44,9 +44,9 @@ public final class NpcRogueInfoOuterClass {
private int gBMDBBBMBEJ; private int gBMDBBBMBEJ;
/** /**
* <code>optional bool BHPGGEOBJHM = 5;</code> * <code>optional bool finish_dialogue = 5;</code>
*/ */
private boolean bHPGGEOBJHM; private boolean finishDialogue;
/** /**
* <code>optional bool MNINDBMAJKL = 7;</code> * <code>optional bool MNINDBMAJKL = 7;</code>
@@ -238,39 +238,39 @@ public final class NpcRogueInfoOuterClass {
} }
/** /**
* <code>optional bool BHPGGEOBJHM = 5;</code> * <code>optional bool finish_dialogue = 5;</code>
* @return whether the bHPGGEOBJHM field is set * @return whether the finishDialogue field is set
*/ */
public boolean hasBHPGGEOBJHM() { public boolean hasFinishDialogue() {
return (bitField0_ & 0x00000010) != 0; return (bitField0_ & 0x00000010) != 0;
} }
/** /**
* <code>optional bool BHPGGEOBJHM = 5;</code> * <code>optional bool finish_dialogue = 5;</code>
* @return this * @return this
*/ */
public NpcRogueInfo clearBHPGGEOBJHM() { public NpcRogueInfo clearFinishDialogue() {
bitField0_ &= ~0x00000010; bitField0_ &= ~0x00000010;
bHPGGEOBJHM = false; finishDialogue = false;
return this; return this;
} }
/** /**
* <code>optional bool BHPGGEOBJHM = 5;</code> * <code>optional bool finish_dialogue = 5;</code>
* @return the bHPGGEOBJHM * @return the finishDialogue
*/ */
public boolean getBHPGGEOBJHM() { public boolean getFinishDialogue() {
return bHPGGEOBJHM; return finishDialogue;
} }
/** /**
* <code>optional bool BHPGGEOBJHM = 5;</code> * <code>optional bool finish_dialogue = 5;</code>
* @param value the bHPGGEOBJHM to set * @param value the finishDialogue to set
* @return this * @return this
*/ */
public NpcRogueInfo setBHPGGEOBJHM(final boolean value) { public NpcRogueInfo setFinishDialogue(final boolean value) {
bitField0_ |= 0x00000010; bitField0_ |= 0x00000010;
bHPGGEOBJHM = value; finishDialogue = value;
return this; return this;
} }
@@ -425,7 +425,7 @@ public final class NpcRogueInfoOuterClass {
rogueNpcId = other.rogueNpcId; rogueNpcId = other.rogueNpcId;
iNJPFALMDHJ = other.iNJPFALMDHJ; iNJPFALMDHJ = other.iNJPFALMDHJ;
gBMDBBBMBEJ = other.gBMDBBBMBEJ; gBMDBBBMBEJ = other.gBMDBBBMBEJ;
bHPGGEOBJHM = other.bHPGGEOBJHM; finishDialogue = other.finishDialogue;
mNINDBMAJKL = other.mNINDBMAJKL; mNINDBMAJKL = other.mNINDBMAJKL;
aGBFDIIKPKF = other.aGBFDIIKPKF; aGBFDIIKPKF = other.aGBFDIIKPKF;
hCGOEHLPCMD.copyFrom(other.hCGOEHLPCMD); hCGOEHLPCMD.copyFrom(other.hCGOEHLPCMD);
@@ -451,8 +451,8 @@ public final class NpcRogueInfoOuterClass {
if (other.hasGBMDBBBMBEJ()) { if (other.hasGBMDBBBMBEJ()) {
setGBMDBBBMBEJ(other.gBMDBBBMBEJ); setGBMDBBBMBEJ(other.gBMDBBBMBEJ);
} }
if (other.hasBHPGGEOBJHM()) { if (other.hasFinishDialogue()) {
setBHPGGEOBJHM(other.bHPGGEOBJHM); setFinishDialogue(other.finishDialogue);
} }
if (other.hasMNINDBMAJKL()) { if (other.hasMNINDBMAJKL()) {
setMNINDBMAJKL(other.mNINDBMAJKL); setMNINDBMAJKL(other.mNINDBMAJKL);
@@ -477,7 +477,7 @@ public final class NpcRogueInfoOuterClass {
rogueNpcId = 0; rogueNpcId = 0;
iNJPFALMDHJ = 0; iNJPFALMDHJ = 0;
gBMDBBBMBEJ = 0; gBMDBBBMBEJ = 0;
bHPGGEOBJHM = false; finishDialogue = false;
mNINDBMAJKL = false; mNINDBMAJKL = false;
aGBFDIIKPKF = false; aGBFDIIKPKF = false;
hCGOEHLPCMD.clear(); hCGOEHLPCMD.clear();
@@ -509,7 +509,7 @@ public final class NpcRogueInfoOuterClass {
&& (!hasRogueNpcId() || rogueNpcId == other.rogueNpcId) && (!hasRogueNpcId() || rogueNpcId == other.rogueNpcId)
&& (!hasINJPFALMDHJ() || iNJPFALMDHJ == other.iNJPFALMDHJ) && (!hasINJPFALMDHJ() || iNJPFALMDHJ == other.iNJPFALMDHJ)
&& (!hasGBMDBBBMBEJ() || gBMDBBBMBEJ == other.gBMDBBBMBEJ) && (!hasGBMDBBBMBEJ() || gBMDBBBMBEJ == other.gBMDBBBMBEJ)
&& (!hasBHPGGEOBJHM() || bHPGGEOBJHM == other.bHPGGEOBJHM) && (!hasFinishDialogue() || finishDialogue == other.finishDialogue)
&& (!hasMNINDBMAJKL() || mNINDBMAJKL == other.mNINDBMAJKL) && (!hasMNINDBMAJKL() || mNINDBMAJKL == other.mNINDBMAJKL)
&& (!hasAGBFDIIKPKF() || aGBFDIIKPKF == other.aGBFDIIKPKF) && (!hasAGBFDIIKPKF() || aGBFDIIKPKF == other.aGBFDIIKPKF)
&& (!hasHCGOEHLPCMD() || hCGOEHLPCMD.equals(other.hCGOEHLPCMD)); && (!hasHCGOEHLPCMD() || hCGOEHLPCMD.equals(other.hCGOEHLPCMD));
@@ -535,7 +535,7 @@ public final class NpcRogueInfoOuterClass {
} }
if ((bitField0_ & 0x00000010) != 0) { if ((bitField0_ & 0x00000010) != 0) {
output.writeRawByte((byte) 40); output.writeRawByte((byte) 40);
output.writeBoolNoTag(bHPGGEOBJHM); output.writeBoolNoTag(finishDialogue);
} }
if ((bitField0_ & 0x00000020) != 0) { if ((bitField0_ & 0x00000020) != 0) {
output.writeRawByte((byte) 56); output.writeRawByte((byte) 56);
@@ -627,8 +627,8 @@ public final class NpcRogueInfoOuterClass {
} }
} }
case 40: { case 40: {
// bHPGGEOBJHM // finishDialogue
bHPGGEOBJHM = input.readBool(); finishDialogue = input.readBool();
bitField0_ |= 0x00000010; bitField0_ |= 0x00000010;
tag = input.readTag(); tag = input.readTag();
if (tag != 56) { if (tag != 56) {
@@ -691,7 +691,7 @@ public final class NpcRogueInfoOuterClass {
output.writeUInt32(FieldNames.gBMDBBBMBEJ, gBMDBBBMBEJ); output.writeUInt32(FieldNames.gBMDBBBMBEJ, gBMDBBBMBEJ);
} }
if ((bitField0_ & 0x00000010) != 0) { if ((bitField0_ & 0x00000010) != 0) {
output.writeBool(FieldNames.bHPGGEOBJHM, bHPGGEOBJHM); output.writeBool(FieldNames.finishDialogue, finishDialogue);
} }
if ((bitField0_ & 0x00000020) != 0) { if ((bitField0_ & 0x00000020) != 0) {
output.writeBool(FieldNames.mNINDBMAJKL, mNINDBMAJKL); output.writeBool(FieldNames.mNINDBMAJKL, mNINDBMAJKL);
@@ -757,10 +757,11 @@ public final class NpcRogueInfoOuterClass {
} }
break; break;
} }
case 1652898465: { case 552830859:
if (input.isAtField(FieldNames.bHPGGEOBJHM)) { case 764736516: {
if (input.isAtField(FieldNames.finishDialogue)) {
if (!input.trySkipNullValue()) { if (!input.trySkipNullValue()) {
bHPGGEOBJHM = input.readBool(); finishDialogue = input.readBool();
bitField0_ |= 0x00000010; bitField0_ |= 0x00000010;
} }
} else { } else {
@@ -1186,7 +1187,7 @@ public final class NpcRogueInfoOuterClass {
static final FieldName gBMDBBBMBEJ = FieldName.forField("GBMDBBBMBEJ"); static final FieldName gBMDBBBMBEJ = FieldName.forField("GBMDBBBMBEJ");
static final FieldName bHPGGEOBJHM = FieldName.forField("BHPGGEOBJHM"); static final FieldName finishDialogue = FieldName.forField("finishDialogue", "finish_dialogue");
static final FieldName mNINDBMAJKL = FieldName.forField("MNINDBMAJKL"); static final FieldName mNINDBMAJKL = FieldName.forField("MNINDBMAJKL");

View File

@@ -19,19 +19,18 @@ public final class RogueAeonOuterClass {
private static final long serialVersionUID = 0L; private static final long serialVersionUID = 0L;
/** /**
* <code>optional uint32 aeon_id = 7;</code> * <code>optional uint32 aeon_id = 10;</code>
*/ */
private int aeonId; private int aeonId;
/** /**
* <code>optional uint32 OFBCBEIEAEC = 10;</code> * <pre>
* uint32 aeon_id = 7;
* </pre>
*
* <code>optional bool is_unlock_enhance_buff = 12;</code>
*/ */
private int oFBCBEIEAEC; private boolean isUnlockEnhanceBuff;
/**
* <code>optional bool CGAFFPHCNEA = 12;</code>
*/
private boolean cGAFFPHCNEA;
private RogueAeon() { private RogueAeon() {
} }
@@ -44,7 +43,7 @@ public final class RogueAeonOuterClass {
} }
/** /**
* <code>optional uint32 aeon_id = 7;</code> * <code>optional uint32 aeon_id = 10;</code>
* @return whether the aeonId field is set * @return whether the aeonId field is set
*/ */
public boolean hasAeonId() { public boolean hasAeonId() {
@@ -52,7 +51,7 @@ public final class RogueAeonOuterClass {
} }
/** /**
* <code>optional uint32 aeon_id = 7;</code> * <code>optional uint32 aeon_id = 10;</code>
* @return this * @return this
*/ */
public RogueAeon clearAeonId() { public RogueAeon clearAeonId() {
@@ -62,7 +61,7 @@ public final class RogueAeonOuterClass {
} }
/** /**
* <code>optional uint32 aeon_id = 7;</code> * <code>optional uint32 aeon_id = 10;</code>
* @return the aeonId * @return the aeonId
*/ */
public int getAeonId() { public int getAeonId() {
@@ -70,7 +69,7 @@ public final class RogueAeonOuterClass {
} }
/** /**
* <code>optional uint32 aeon_id = 7;</code> * <code>optional uint32 aeon_id = 10;</code>
* @param value the aeonId to set * @param value the aeonId to set
* @return this * @return this
*/ */
@@ -81,76 +80,55 @@ public final class RogueAeonOuterClass {
} }
/** /**
* <code>optional uint32 OFBCBEIEAEC = 10;</code> * <pre>
* @return whether the oFBCBEIEAEC field is set * uint32 aeon_id = 7;
* </pre>
*
* <code>optional bool is_unlock_enhance_buff = 12;</code>
* @return whether the isUnlockEnhanceBuff field is set
*/ */
public boolean hasOFBCBEIEAEC() { public boolean hasIsUnlockEnhanceBuff() {
return (bitField0_ & 0x00000002) != 0; return (bitField0_ & 0x00000002) != 0;
} }
/** /**
* <code>optional uint32 OFBCBEIEAEC = 10;</code> * <pre>
* uint32 aeon_id = 7;
* </pre>
*
* <code>optional bool is_unlock_enhance_buff = 12;</code>
* @return this * @return this
*/ */
public RogueAeon clearOFBCBEIEAEC() { public RogueAeon clearIsUnlockEnhanceBuff() {
bitField0_ &= ~0x00000002; bitField0_ &= ~0x00000002;
oFBCBEIEAEC = 0; isUnlockEnhanceBuff = false;
return this; return this;
} }
/** /**
* <code>optional uint32 OFBCBEIEAEC = 10;</code> * <pre>
* @return the oFBCBEIEAEC * uint32 aeon_id = 7;
* </pre>
*
* <code>optional bool is_unlock_enhance_buff = 12;</code>
* @return the isUnlockEnhanceBuff
*/ */
public int getOFBCBEIEAEC() { public boolean getIsUnlockEnhanceBuff() {
return oFBCBEIEAEC; return isUnlockEnhanceBuff;
} }
/** /**
* <code>optional uint32 OFBCBEIEAEC = 10;</code> * <pre>
* @param value the oFBCBEIEAEC to set * uint32 aeon_id = 7;
* </pre>
*
* <code>optional bool is_unlock_enhance_buff = 12;</code>
* @param value the isUnlockEnhanceBuff to set
* @return this * @return this
*/ */
public RogueAeon setOFBCBEIEAEC(final int value) { public RogueAeon setIsUnlockEnhanceBuff(final boolean value) {
bitField0_ |= 0x00000002; bitField0_ |= 0x00000002;
oFBCBEIEAEC = value; isUnlockEnhanceBuff = value;
return this;
}
/**
* <code>optional bool CGAFFPHCNEA = 12;</code>
* @return whether the cGAFFPHCNEA field is set
*/
public boolean hasCGAFFPHCNEA() {
return (bitField0_ & 0x00000004) != 0;
}
/**
* <code>optional bool CGAFFPHCNEA = 12;</code>
* @return this
*/
public RogueAeon clearCGAFFPHCNEA() {
bitField0_ &= ~0x00000004;
cGAFFPHCNEA = false;
return this;
}
/**
* <code>optional bool CGAFFPHCNEA = 12;</code>
* @return the cGAFFPHCNEA
*/
public boolean getCGAFFPHCNEA() {
return cGAFFPHCNEA;
}
/**
* <code>optional bool CGAFFPHCNEA = 12;</code>
* @param value the cGAFFPHCNEA to set
* @return this
*/
public RogueAeon setCGAFFPHCNEA(final boolean value) {
bitField0_ |= 0x00000004;
cGAFFPHCNEA = value;
return this; return this;
} }
@@ -160,8 +138,7 @@ public final class RogueAeonOuterClass {
if ((bitField0_ | other.bitField0_) != 0) { if ((bitField0_ | other.bitField0_) != 0) {
bitField0_ = other.bitField0_; bitField0_ = other.bitField0_;
aeonId = other.aeonId; aeonId = other.aeonId;
oFBCBEIEAEC = other.oFBCBEIEAEC; isUnlockEnhanceBuff = other.isUnlockEnhanceBuff;
cGAFFPHCNEA = other.cGAFFPHCNEA;
} }
return this; return this;
} }
@@ -175,11 +152,8 @@ public final class RogueAeonOuterClass {
if (other.hasAeonId()) { if (other.hasAeonId()) {
setAeonId(other.aeonId); setAeonId(other.aeonId);
} }
if (other.hasOFBCBEIEAEC()) { if (other.hasIsUnlockEnhanceBuff()) {
setOFBCBEIEAEC(other.oFBCBEIEAEC); setIsUnlockEnhanceBuff(other.isUnlockEnhanceBuff);
}
if (other.hasCGAFFPHCNEA()) {
setCGAFFPHCNEA(other.cGAFFPHCNEA);
} }
return this; return this;
} }
@@ -192,8 +166,7 @@ public final class RogueAeonOuterClass {
cachedSize = -1; cachedSize = -1;
bitField0_ = 0; bitField0_ = 0;
aeonId = 0; aeonId = 0;
oFBCBEIEAEC = 0; isUnlockEnhanceBuff = false;
cGAFFPHCNEA = false;
return this; return this;
} }
@@ -218,23 +191,18 @@ public final class RogueAeonOuterClass {
RogueAeon other = (RogueAeon) o; RogueAeon other = (RogueAeon) o;
return bitField0_ == other.bitField0_ return bitField0_ == other.bitField0_
&& (!hasAeonId() || aeonId == other.aeonId) && (!hasAeonId() || aeonId == other.aeonId)
&& (!hasOFBCBEIEAEC() || oFBCBEIEAEC == other.oFBCBEIEAEC) && (!hasIsUnlockEnhanceBuff() || isUnlockEnhanceBuff == other.isUnlockEnhanceBuff);
&& (!hasCGAFFPHCNEA() || cGAFFPHCNEA == other.cGAFFPHCNEA);
} }
@Override @Override
public void writeTo(final ProtoSink output) throws IOException { public void writeTo(final ProtoSink output) throws IOException {
if ((bitField0_ & 0x00000001) != 0) { if ((bitField0_ & 0x00000001) != 0) {
output.writeRawByte((byte) 56); output.writeRawByte((byte) 80);
output.writeUInt32NoTag(aeonId); output.writeUInt32NoTag(aeonId);
} }
if ((bitField0_ & 0x00000002) != 0) { if ((bitField0_ & 0x00000002) != 0) {
output.writeRawByte((byte) 80);
output.writeUInt32NoTag(oFBCBEIEAEC);
}
if ((bitField0_ & 0x00000004) != 0) {
output.writeRawByte((byte) 96); output.writeRawByte((byte) 96);
output.writeBoolNoTag(cGAFFPHCNEA); output.writeBoolNoTag(isUnlockEnhanceBuff);
} }
} }
@@ -245,9 +213,6 @@ public final class RogueAeonOuterClass {
size += 1 + ProtoSink.computeUInt32SizeNoTag(aeonId); size += 1 + ProtoSink.computeUInt32SizeNoTag(aeonId);
} }
if ((bitField0_ & 0x00000002) != 0) { if ((bitField0_ & 0x00000002) != 0) {
size += 1 + ProtoSink.computeUInt32SizeNoTag(oFBCBEIEAEC);
}
if ((bitField0_ & 0x00000004) != 0) {
size += 2; size += 2;
} }
return size; return size;
@@ -260,28 +225,19 @@ public final class RogueAeonOuterClass {
int tag = input.readTag(); int tag = input.readTag();
while (true) { while (true) {
switch (tag) { switch (tag) {
case 56: { case 80: {
// aeonId // aeonId
aeonId = input.readUInt32(); aeonId = input.readUInt32();
bitField0_ |= 0x00000001; bitField0_ |= 0x00000001;
tag = input.readTag(); tag = input.readTag();
if (tag != 80) {
break;
}
}
case 80: {
// oFBCBEIEAEC
oFBCBEIEAEC = input.readUInt32();
bitField0_ |= 0x00000002;
tag = input.readTag();
if (tag != 96) { if (tag != 96) {
break; break;
} }
} }
case 96: { case 96: {
// cGAFFPHCNEA // isUnlockEnhanceBuff
cGAFFPHCNEA = input.readBool(); isUnlockEnhanceBuff = input.readBool();
bitField0_ |= 0x00000004; bitField0_ |= 0x00000002;
tag = input.readTag(); tag = input.readTag();
if (tag != 0) { if (tag != 0) {
break; break;
@@ -308,10 +264,7 @@ public final class RogueAeonOuterClass {
output.writeUInt32(FieldNames.aeonId, aeonId); output.writeUInt32(FieldNames.aeonId, aeonId);
} }
if ((bitField0_ & 0x00000002) != 0) { if ((bitField0_ & 0x00000002) != 0) {
output.writeUInt32(FieldNames.oFBCBEIEAEC, oFBCBEIEAEC); output.writeBool(FieldNames.isUnlockEnhanceBuff, isUnlockEnhanceBuff);
}
if ((bitField0_ & 0x00000004) != 0) {
output.writeBool(FieldNames.cGAFFPHCNEA, cGAFFPHCNEA);
} }
output.endObject(); output.endObject();
} }
@@ -335,10 +288,11 @@ public final class RogueAeonOuterClass {
} }
break; break;
} }
case 1165634632: { case -1006386637:
if (input.isAtField(FieldNames.oFBCBEIEAEC)) { case -118645302: {
if (input.isAtField(FieldNames.isUnlockEnhanceBuff)) {
if (!input.trySkipNullValue()) { if (!input.trySkipNullValue()) {
oFBCBEIEAEC = input.readUInt32(); isUnlockEnhanceBuff = input.readBool();
bitField0_ |= 0x00000002; bitField0_ |= 0x00000002;
} }
} else { } else {
@@ -346,17 +300,6 @@ public final class RogueAeonOuterClass {
} }
break; break;
} }
case -927350692: {
if (input.isAtField(FieldNames.cGAFFPHCNEA)) {
if (!input.trySkipNullValue()) {
cGAFFPHCNEA = input.readBool();
bitField0_ |= 0x00000004;
}
} else {
input.skipUnknownField();
}
break;
}
default: { default: {
input.skipUnknownField(); input.skipUnknownField();
break; break;
@@ -411,9 +354,7 @@ public final class RogueAeonOuterClass {
static class FieldNames { static class FieldNames {
static final FieldName aeonId = FieldName.forField("aeonId", "aeon_id"); static final FieldName aeonId = FieldName.forField("aeonId", "aeon_id");
static final FieldName oFBCBEIEAEC = FieldName.forField("OFBCBEIEAEC"); static final FieldName isUnlockEnhanceBuff = FieldName.forField("isUnlockEnhanceBuff", "is_unlock_enhance_buff");
static final FieldName cGAFFPHCNEA = FieldName.forField("CGAFFPHCNEA");
} }
} }
} }

View File

@@ -0,0 +1,260 @@
// Code generated by protocol buffer compiler. Do not edit!
package emu.lunarcore.proto;
import java.io.IOException;
import us.hebi.quickbuf.FieldName;
import us.hebi.quickbuf.InvalidProtocolBufferException;
import us.hebi.quickbuf.JsonSink;
import us.hebi.quickbuf.JsonSource;
import us.hebi.quickbuf.MessageFactory;
import us.hebi.quickbuf.ProtoMessage;
import us.hebi.quickbuf.ProtoSink;
import us.hebi.quickbuf.ProtoSource;
public final class RogueNpcDisappearCsReqOuterClass {
/**
* Protobuf type {@code RogueNpcDisappearCsReq}
*/
public static final class RogueNpcDisappearCsReq extends ProtoMessage<RogueNpcDisappearCsReq> implements Cloneable {
private static final long serialVersionUID = 0L;
/**
* <code>optional uint32 entity_id = 8;</code>
*/
private int entityId;
private RogueNpcDisappearCsReq() {
}
/**
* @return a new empty instance of {@code RogueNpcDisappearCsReq}
*/
public static RogueNpcDisappearCsReq newInstance() {
return new RogueNpcDisappearCsReq();
}
/**
* <code>optional uint32 entity_id = 8;</code>
* @return whether the entityId field is set
*/
public boolean hasEntityId() {
return (bitField0_ & 0x00000001) != 0;
}
/**
* <code>optional uint32 entity_id = 8;</code>
* @return this
*/
public RogueNpcDisappearCsReq clearEntityId() {
bitField0_ &= ~0x00000001;
entityId = 0;
return this;
}
/**
* <code>optional uint32 entity_id = 8;</code>
* @return the entityId
*/
public int getEntityId() {
return entityId;
}
/**
* <code>optional uint32 entity_id = 8;</code>
* @param value the entityId to set
* @return this
*/
public RogueNpcDisappearCsReq setEntityId(final int value) {
bitField0_ |= 0x00000001;
entityId = value;
return this;
}
@Override
public RogueNpcDisappearCsReq copyFrom(final RogueNpcDisappearCsReq other) {
cachedSize = other.cachedSize;
if ((bitField0_ | other.bitField0_) != 0) {
bitField0_ = other.bitField0_;
entityId = other.entityId;
}
return this;
}
@Override
public RogueNpcDisappearCsReq mergeFrom(final RogueNpcDisappearCsReq other) {
if (other.isEmpty()) {
return this;
}
cachedSize = -1;
if (other.hasEntityId()) {
setEntityId(other.entityId);
}
return this;
}
@Override
public RogueNpcDisappearCsReq clear() {
if (isEmpty()) {
return this;
}
cachedSize = -1;
bitField0_ = 0;
entityId = 0;
return this;
}
@Override
public RogueNpcDisappearCsReq clearQuick() {
if (isEmpty()) {
return this;
}
cachedSize = -1;
bitField0_ = 0;
return this;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (!(o instanceof RogueNpcDisappearCsReq)) {
return false;
}
RogueNpcDisappearCsReq other = (RogueNpcDisappearCsReq) o;
return bitField0_ == other.bitField0_
&& (!hasEntityId() || entityId == other.entityId);
}
@Override
public void writeTo(final ProtoSink output) throws IOException {
if ((bitField0_ & 0x00000001) != 0) {
output.writeRawByte((byte) 64);
output.writeUInt32NoTag(entityId);
}
}
@Override
protected int computeSerializedSize() {
int size = 0;
if ((bitField0_ & 0x00000001) != 0) {
size += 1 + ProtoSink.computeUInt32SizeNoTag(entityId);
}
return size;
}
@Override
@SuppressWarnings("fallthrough")
public RogueNpcDisappearCsReq mergeFrom(final ProtoSource input) throws IOException {
// Enabled Fall-Through Optimization (QuickBuffers)
int tag = input.readTag();
while (true) {
switch (tag) {
case 64: {
// entityId
entityId = input.readUInt32();
bitField0_ |= 0x00000001;
tag = input.readTag();
if (tag != 0) {
break;
}
}
case 0: {
return this;
}
default: {
if (!input.skipField(tag)) {
return this;
}
tag = input.readTag();
break;
}
}
}
}
@Override
public void writeTo(final JsonSink output) throws IOException {
output.beginObject();
if ((bitField0_ & 0x00000001) != 0) {
output.writeUInt32(FieldNames.entityId, entityId);
}
output.endObject();
}
@Override
public RogueNpcDisappearCsReq mergeFrom(final JsonSource input) throws IOException {
if (!input.beginObject()) {
return this;
}
while (!input.isAtEnd()) {
switch (input.readFieldHash()) {
case -2102099874:
case -740565257: {
if (input.isAtField(FieldNames.entityId)) {
if (!input.trySkipNullValue()) {
entityId = input.readUInt32();
bitField0_ |= 0x00000001;
}
} else {
input.skipUnknownField();
}
break;
}
default: {
input.skipUnknownField();
break;
}
}
}
input.endObject();
return this;
}
@Override
public RogueNpcDisappearCsReq clone() {
return new RogueNpcDisappearCsReq().copyFrom(this);
}
@Override
public boolean isEmpty() {
return ((bitField0_) == 0);
}
public static RogueNpcDisappearCsReq parseFrom(final byte[] data) throws
InvalidProtocolBufferException {
return ProtoMessage.mergeFrom(new RogueNpcDisappearCsReq(), data).checkInitialized();
}
public static RogueNpcDisappearCsReq parseFrom(final ProtoSource input) throws IOException {
return ProtoMessage.mergeFrom(new RogueNpcDisappearCsReq(), input).checkInitialized();
}
public static RogueNpcDisappearCsReq parseFrom(final JsonSource input) throws IOException {
return ProtoMessage.mergeFrom(new RogueNpcDisappearCsReq(), input).checkInitialized();
}
/**
* @return factory for creating RogueNpcDisappearCsReq messages
*/
public static MessageFactory<RogueNpcDisappearCsReq> getFactory() {
return RogueNpcDisappearCsReqFactory.INSTANCE;
}
private enum RogueNpcDisappearCsReqFactory implements MessageFactory<RogueNpcDisappearCsReq> {
INSTANCE;
@Override
public RogueNpcDisappearCsReq create() {
return RogueNpcDisappearCsReq.newInstance();
}
}
/**
* Contains name constants used for serializing JSON
*/
static class FieldNames {
static final FieldName entityId = FieldName.forField("entityId", "entity_id");
}
}
}

View File

@@ -166,7 +166,7 @@ public class BattleService extends BaseGameService {
player.sendPacket(new PacketSceneCastSkillScRsp(attackedGroupId)); player.sendPacket(new PacketSceneCastSkillScRsp(attackedGroupId));
} }
public void startBattle(Player player, int stageId) { public void startBattle(Player player, int stageId) { // TODO: should send SceneEnterStageScRsp instead of SceneCastSkillScRsp
// Sanity check to make sure player isnt in a battle // Sanity check to make sure player isnt in a battle
if (player.isInBattle()) { if (player.isInBattle()) {
return; return;

View File

@@ -1,6 +1,5 @@
package emu.lunarcore.game.rogue; package emu.lunarcore.game.rogue;
import emu.lunarcore.LunarCore;
import emu.lunarcore.data.GameData; import emu.lunarcore.data.GameData;
import emu.lunarcore.data.GameDepot; import emu.lunarcore.data.GameDepot;
import emu.lunarcore.data.config.GroupInfo; import emu.lunarcore.data.config.GroupInfo;
@@ -23,7 +22,6 @@ import emu.lunarcore.server.packet.send.PacketSyncRogueDialogueEventDataScNotify
import emu.lunarcore.util.Utils; import emu.lunarcore.util.Utils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
public class RogueEntityLoader extends SceneEntityLoader { public class RogueEntityLoader extends SceneEntityLoader {

View File

@@ -555,7 +555,7 @@ public class RogueInstance {
public RogueAeon toAeonProto() { public RogueAeon toAeonProto() {
var proto = RogueAeon.newInstance() var proto = RogueAeon.newInstance()
.setOFBCBEIEAEC(this.getAeonId()); .setAeonId(this.getAeonId());
return proto; return proto;
} }

View File

@@ -23,6 +23,7 @@ public class EntityNpc implements GameEntity {
private final Position rot; private final Position rot;
@Setter private int rogueNpcId; @Setter private int rogueNpcId;
@Setter private boolean isDialogueFinished = false;
public EntityNpc(Scene scene, GroupInfo group, NpcInfo npcInfo) { public EntityNpc(Scene scene, GroupInfo group, NpcInfo npcInfo) {
this.scene = scene; this.scene = scene;
@@ -43,7 +44,7 @@ public class EntityNpc implements GameEntity {
if (this.rogueNpcId > 0) { if (this.rogueNpcId > 0) {
var rogue = NpcRogueInfo.newInstance() var rogue = NpcRogueInfo.newInstance()
.setRogueNpcId(this.rogueNpcId) .setRogueNpcId(this.rogueNpcId)
.setBHPGGEOBJHM(false); .setFinishDialogue(isDialogueFinished);
npc.getMutableExtraInfo().setRogueInfo(rogue); npc.getMutableExtraInfo().setRogueInfo(rogue);
} }

View File

@@ -0,0 +1,24 @@
package emu.lunarcore.server.packet.recv;
import emu.lunarcore.game.scene.entity.GameEntity;
import emu.lunarcore.proto.RogueNpcDisappearCsReqOuterClass.RogueNpcDisappearCsReq;
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.PacketSceneGroupRefreshScNotify;
@Opcodes(CmdId.RogueNpcDisappearCsReq)
public class HandleRogueNpcDisappearCsReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] data) throws Exception {
var req = RogueNpcDisappearCsReq.parseFrom(data);
GameEntity entity = session.getPlayer().getScene().getEntityById(req.getEntityId());
if (entity != null) {
session.send(CmdId.RogueNpcDisappearScRsp);
session.send(new PacketSceneGroupRefreshScNotify(null, entity));
}
}
}

View File

@@ -1,14 +1,24 @@
package emu.lunarcore.server.packet.recv; package emu.lunarcore.server.packet.recv;
import emu.lunarcore.game.scene.entity.EntityNpc;
import emu.lunarcore.proto.FinishRogueDialogueGroupCsReqOuterClass.FinishRogueDialogueGroupCsReq;
import emu.lunarcore.server.game.GameSession; import emu.lunarcore.server.game.GameSession;
import emu.lunarcore.server.packet.CmdId; import emu.lunarcore.server.packet.CmdId;
import emu.lunarcore.server.packet.Opcodes; import emu.lunarcore.server.packet.Opcodes;
import emu.lunarcore.server.packet.PacketHandler; import emu.lunarcore.server.packet.PacketHandler;
import emu.lunarcore.server.packet.send.PacketSceneGroupRefreshScNotify;
@Opcodes(CmdId.FinishRogueDialogueGroupCsReq) @Opcodes(CmdId.FinishRogueDialogueGroupCsReq)
public class HandlerFinishRogueDialogueGroupCsReq extends PacketHandler { public class HandlerFinishRogueDialogueGroupCsReq extends PacketHandler {
@Override @Override
public void handle(GameSession session, byte[] data) throws Exception { public void handle(GameSession session, byte[] data) throws Exception {
var req = FinishRogueDialogueGroupCsReq.parseFrom(data);
EntityNpc npc = (EntityNpc)session.getPlayer().getScene().getEntityById(req.getEntityId());
if (npc == null) return;
npc.setDialogueFinished(true);
session.send(new PacketSceneGroupRefreshScNotify(npc, null));
session.send(CmdId.FinishRogueDialogueGroupScRsp); session.send(CmdId.FinishRogueDialogueGroupScRsp);
} }
} }

View File

@@ -1,5 +1,7 @@
package emu.lunarcore.server.packet.recv; package emu.lunarcore.server.packet.recv;
import emu.lunarcore.game.scene.entity.EntityNpc;
import emu.lunarcore.proto.FinishRogueDialogueGroupCsReqOuterClass.FinishRogueDialogueGroupCsReq;
import emu.lunarcore.proto.SelectRogueDialogueEventCsReqOuterClass.SelectRogueDialogueEventCsReq; import emu.lunarcore.proto.SelectRogueDialogueEventCsReqOuterClass.SelectRogueDialogueEventCsReq;
import emu.lunarcore.server.game.GameSession; import emu.lunarcore.server.game.GameSession;
import emu.lunarcore.server.packet.CmdId; import emu.lunarcore.server.packet.CmdId;
@@ -18,8 +20,12 @@ public class HandlerSelectRogueDialogueEventCsReq extends PacketHandler {
session.getPlayer().getRogueInstance().onSelectDialogue(req.getDialogueEventId()); session.getPlayer().getRogueInstance().onSelectDialogue(req.getDialogueEventId());
} }
session.send(new PacketSelectRogueDialogueEventScRsp(req.getDialogueEventId(), req.getEntityId(), session.getPlayer())); EntityNpc npc = (EntityNpc)session.getPlayer().getScene().getEntityById(req.getEntityId());
session.send(CmdId.FinishRogueDialogueGroupScRsp);
session.send(new PacketSelectRogueDialogueEventScRsp(req.getDialogueEventId(), npc));
new HandlerFinishRogueDialogueGroupCsReq().handle(session, FinishRogueDialogueGroupCsReq.newInstance() // using it before the event is implemented
.setEntityId(req.getEntityId())
.toByteArray());
} }
} }

View File

@@ -16,7 +16,7 @@ import java.util.ArrayList;
public class PacketSelectRogueDialogueEventScRsp extends BasePacket { public class PacketSelectRogueDialogueEventScRsp extends BasePacket {
public PacketSelectRogueDialogueEventScRsp(int dialogueEventId, int entityId, Player player) { public PacketSelectRogueDialogueEventScRsp(int dialogueEventId, EntityNpc npc) {
super(CmdId.SelectRogueDialogueEventScRsp); super(CmdId.SelectRogueDialogueEventScRsp);
var data = SelectRogueDialogueEventScRsp.newInstance() var data = SelectRogueDialogueEventScRsp.newInstance()
@@ -25,6 +25,7 @@ public class PacketSelectRogueDialogueEventScRsp extends BasePacket {
RogueNPCExcel rogueNpcExcel = Utils.randomElement(GameDepot.getRogueRandomNpcList()); RogueNPCExcel rogueNpcExcel = Utils.randomElement(GameDepot.getRogueRandomNpcList());
var params = new ArrayList<RogueDialogueEventParam>(); var params = new ArrayList<RogueDialogueEventParam>();
var start = rogueNpcExcel.getId(); var start = rogueNpcExcel.getId();
while (true) { while (true) {
var event = GameData.getRogueDialogueEventList().get(start); var event = GameData.getRogueDialogueEventList().get(start);
if (event == null) break; if (event == null) break;
@@ -33,8 +34,9 @@ public class PacketSelectRogueDialogueEventScRsp extends BasePacket {
.setIsValid(true)); .setIsValid(true));
start++; start++;
} }
var event = RogueDialogueEvent.newInstance() var event = RogueDialogueEvent.newInstance()
.setNpcId(((EntityNpc)player.getScene().getEntityById(entityId)).getRogueNpcId()) .setNpcId(npc.getRogueNpcId())
.setGameModeType(5) .setGameModeType(5)
.addAllNNOHLEAOJPP(dialogueEventId) .addAllNNOHLEAOJPP(dialogueEventId)
.addAllRogueDialogueEventParam(params.toArray(RogueDialogueEventParam[]::new)); .addAllRogueDialogueEventParam(params.toArray(RogueDialogueEventParam[]::new));