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

View File

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

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));
}
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
if (player.isInBattle()) {
return;

View File

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

View File

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

View File

@@ -22,7 +22,8 @@ public class EntityNpc implements GameEntity {
private final Position pos;
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) {
this.scene = scene;
@@ -43,7 +44,7 @@ public class EntityNpc implements GameEntity {
if (this.rogueNpcId > 0) {
var rogue = NpcRogueInfo.newInstance()
.setRogueNpcId(this.rogueNpcId)
.setBHPGGEOBJHM(false);
.setFinishDialogue(isDialogueFinished);
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;
import emu.lunarcore.game.scene.entity.EntityNpc;
import emu.lunarcore.proto.FinishRogueDialogueGroupCsReqOuterClass.FinishRogueDialogueGroupCsReq;
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.FinishRogueDialogueGroupCsReq)
public class HandlerFinishRogueDialogueGroupCsReq extends PacketHandler {
@Override
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);
}
}

View File

@@ -1,5 +1,7 @@
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.server.game.GameSession;
import emu.lunarcore.server.packet.CmdId;
@@ -17,9 +19,13 @@ public class HandlerSelectRogueDialogueEventCsReq extends PacketHandler {
if (session.getPlayer().getRogueInstance() != null) {
session.getPlayer().getRogueInstance().onSelectDialogue(req.getDialogueEventId());
}
EntityNpc npc = (EntityNpc)session.getPlayer().getScene().getEntityById(req.getEntityId());
session.send(new PacketSelectRogueDialogueEventScRsp(req.getDialogueEventId(), req.getEntityId(), session.getPlayer()));
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 PacketSelectRogueDialogueEventScRsp(int dialogueEventId, int entityId, Player player) {
public PacketSelectRogueDialogueEventScRsp(int dialogueEventId, EntityNpc npc) {
super(CmdId.SelectRogueDialogueEventScRsp);
var data = SelectRogueDialogueEventScRsp.newInstance()
@@ -25,6 +25,7 @@ public class PacketSelectRogueDialogueEventScRsp extends BasePacket {
RogueNPCExcel rogueNpcExcel = Utils.randomElement(GameDepot.getRogueRandomNpcList());
var params = new ArrayList<RogueDialogueEventParam>();
var start = rogueNpcExcel.getId();
while (true) {
var event = GameData.getRogueDialogueEventList().get(start);
if (event == null) break;
@@ -33,8 +34,9 @@ public class PacketSelectRogueDialogueEventScRsp extends BasePacket {
.setIsValid(true));
start++;
}
var event = RogueDialogueEvent.newInstance()
.setNpcId(((EntityNpc)player.getScene().getEntityById(entityId)).getRogueNpcId())
.setNpcId(npc.getRogueNpcId())
.setGameModeType(5)
.addAllNNOHLEAOJPP(dialogueEventId)
.addAllRogueDialogueEventParam(params.toArray(RogueDialogueEventParam[]::new));