diff --git a/src/generated/main/emu/lunarcore/proto/FinishRogueDialogueGroupCsReqOuterClass.java b/src/generated/main/emu/lunarcore/proto/FinishRogueDialogueGroupCsReqOuterClass.java new file mode 100644 index 0000000..5f65713 --- /dev/null +++ b/src/generated/main/emu/lunarcore/proto/FinishRogueDialogueGroupCsReqOuterClass.java @@ -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 implements Cloneable { + private static final long serialVersionUID = 0L; + + /** + * optional uint32 entity_id = 5; + */ + private int entityId; + + private FinishRogueDialogueGroupCsReq() { + } + + /** + * @return a new empty instance of {@code FinishRogueDialogueGroupCsReq} + */ + public static FinishRogueDialogueGroupCsReq newInstance() { + return new FinishRogueDialogueGroupCsReq(); + } + + /** + * optional uint32 entity_id = 5; + * @return whether the entityId field is set + */ + public boolean hasEntityId() { + return (bitField0_ & 0x00000001) != 0; + } + + /** + * optional uint32 entity_id = 5; + * @return this + */ + public FinishRogueDialogueGroupCsReq clearEntityId() { + bitField0_ &= ~0x00000001; + entityId = 0; + return this; + } + + /** + * optional uint32 entity_id = 5; + * @return the entityId + */ + public int getEntityId() { + return entityId; + } + + /** + * optional uint32 entity_id = 5; + * @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 getFactory() { + return FinishRogueDialogueGroupCsReqFactory.INSTANCE; + } + + private enum FinishRogueDialogueGroupCsReqFactory implements MessageFactory { + 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"); + } + } +} diff --git a/src/generated/main/emu/lunarcore/proto/NpcRogueInfoOuterClass.java b/src/generated/main/emu/lunarcore/proto/NpcRogueInfoOuterClass.java index 1f2db7c..a22392b 100644 --- a/src/generated/main/emu/lunarcore/proto/NpcRogueInfoOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/NpcRogueInfoOuterClass.java @@ -44,9 +44,9 @@ public final class NpcRogueInfoOuterClass { private int gBMDBBBMBEJ; /** - * optional bool BHPGGEOBJHM = 5; + * optional bool finish_dialogue = 5; */ - private boolean bHPGGEOBJHM; + private boolean finishDialogue; /** * optional bool MNINDBMAJKL = 7; @@ -238,39 +238,39 @@ public final class NpcRogueInfoOuterClass { } /** - * optional bool BHPGGEOBJHM = 5; - * @return whether the bHPGGEOBJHM field is set + * optional bool finish_dialogue = 5; + * @return whether the finishDialogue field is set */ - public boolean hasBHPGGEOBJHM() { + public boolean hasFinishDialogue() { return (bitField0_ & 0x00000010) != 0; } /** - * optional bool BHPGGEOBJHM = 5; + * optional bool finish_dialogue = 5; * @return this */ - public NpcRogueInfo clearBHPGGEOBJHM() { + public NpcRogueInfo clearFinishDialogue() { bitField0_ &= ~0x00000010; - bHPGGEOBJHM = false; + finishDialogue = false; return this; } /** - * optional bool BHPGGEOBJHM = 5; - * @return the bHPGGEOBJHM + * optional bool finish_dialogue = 5; + * @return the finishDialogue */ - public boolean getBHPGGEOBJHM() { - return bHPGGEOBJHM; + public boolean getFinishDialogue() { + return finishDialogue; } /** - * optional bool BHPGGEOBJHM = 5; - * @param value the bHPGGEOBJHM to set + * optional bool finish_dialogue = 5; + * @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"); diff --git a/src/generated/main/emu/lunarcore/proto/RogueAeonOuterClass.java b/src/generated/main/emu/lunarcore/proto/RogueAeonOuterClass.java index 197f697..df162e3 100644 --- a/src/generated/main/emu/lunarcore/proto/RogueAeonOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/RogueAeonOuterClass.java @@ -19,19 +19,18 @@ public final class RogueAeonOuterClass { private static final long serialVersionUID = 0L; /** - * optional uint32 aeon_id = 7; + * optional uint32 aeon_id = 10; */ private int aeonId; /** - * optional uint32 OFBCBEIEAEC = 10; + *
+     * uint32 aeon_id = 7;  
+     * 
+ * + * optional bool is_unlock_enhance_buff = 12; */ - private int oFBCBEIEAEC; - - /** - * optional bool CGAFFPHCNEA = 12; - */ - private boolean cGAFFPHCNEA; + private boolean isUnlockEnhanceBuff; private RogueAeon() { } @@ -44,7 +43,7 @@ public final class RogueAeonOuterClass { } /** - * optional uint32 aeon_id = 7; + * optional uint32 aeon_id = 10; * @return whether the aeonId field is set */ public boolean hasAeonId() { @@ -52,7 +51,7 @@ public final class RogueAeonOuterClass { } /** - * optional uint32 aeon_id = 7; + * optional uint32 aeon_id = 10; * @return this */ public RogueAeon clearAeonId() { @@ -62,7 +61,7 @@ public final class RogueAeonOuterClass { } /** - * optional uint32 aeon_id = 7; + * optional uint32 aeon_id = 10; * @return the aeonId */ public int getAeonId() { @@ -70,7 +69,7 @@ public final class RogueAeonOuterClass { } /** - * optional uint32 aeon_id = 7; + * optional uint32 aeon_id = 10; * @param value the aeonId to set * @return this */ @@ -81,76 +80,55 @@ public final class RogueAeonOuterClass { } /** - * optional uint32 OFBCBEIEAEC = 10; - * @return whether the oFBCBEIEAEC field is set + *
+     * uint32 aeon_id = 7;  
+     * 
+ * + * optional bool is_unlock_enhance_buff = 12; + * @return whether the isUnlockEnhanceBuff field is set */ - public boolean hasOFBCBEIEAEC() { + public boolean hasIsUnlockEnhanceBuff() { return (bitField0_ & 0x00000002) != 0; } /** - * optional uint32 OFBCBEIEAEC = 10; + *
+     * uint32 aeon_id = 7;  
+     * 
+ * + * optional bool is_unlock_enhance_buff = 12; * @return this */ - public RogueAeon clearOFBCBEIEAEC() { + public RogueAeon clearIsUnlockEnhanceBuff() { bitField0_ &= ~0x00000002; - oFBCBEIEAEC = 0; + isUnlockEnhanceBuff = false; return this; } /** - * optional uint32 OFBCBEIEAEC = 10; - * @return the oFBCBEIEAEC + *
+     * uint32 aeon_id = 7;  
+     * 
+ * + * optional bool is_unlock_enhance_buff = 12; + * @return the isUnlockEnhanceBuff */ - public int getOFBCBEIEAEC() { - return oFBCBEIEAEC; + public boolean getIsUnlockEnhanceBuff() { + return isUnlockEnhanceBuff; } /** - * optional uint32 OFBCBEIEAEC = 10; - * @param value the oFBCBEIEAEC to set + *
+     * uint32 aeon_id = 7;  
+     * 
+ * + * optional bool is_unlock_enhance_buff = 12; + * @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; - } - - /** - * optional bool CGAFFPHCNEA = 12; - * @return whether the cGAFFPHCNEA field is set - */ - public boolean hasCGAFFPHCNEA() { - return (bitField0_ & 0x00000004) != 0; - } - - /** - * optional bool CGAFFPHCNEA = 12; - * @return this - */ - public RogueAeon clearCGAFFPHCNEA() { - bitField0_ &= ~0x00000004; - cGAFFPHCNEA = false; - return this; - } - - /** - * optional bool CGAFFPHCNEA = 12; - * @return the cGAFFPHCNEA - */ - public boolean getCGAFFPHCNEA() { - return cGAFFPHCNEA; - } - - /** - * optional bool CGAFFPHCNEA = 12; - * @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"); } } } diff --git a/src/generated/main/emu/lunarcore/proto/RogueNpcDisappearCsReqOuterClass.java b/src/generated/main/emu/lunarcore/proto/RogueNpcDisappearCsReqOuterClass.java new file mode 100644 index 0000000..5e9c85e --- /dev/null +++ b/src/generated/main/emu/lunarcore/proto/RogueNpcDisappearCsReqOuterClass.java @@ -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 implements Cloneable { + private static final long serialVersionUID = 0L; + + /** + * optional uint32 entity_id = 8; + */ + private int entityId; + + private RogueNpcDisappearCsReq() { + } + + /** + * @return a new empty instance of {@code RogueNpcDisappearCsReq} + */ + public static RogueNpcDisappearCsReq newInstance() { + return new RogueNpcDisappearCsReq(); + } + + /** + * optional uint32 entity_id = 8; + * @return whether the entityId field is set + */ + public boolean hasEntityId() { + return (bitField0_ & 0x00000001) != 0; + } + + /** + * optional uint32 entity_id = 8; + * @return this + */ + public RogueNpcDisappearCsReq clearEntityId() { + bitField0_ &= ~0x00000001; + entityId = 0; + return this; + } + + /** + * optional uint32 entity_id = 8; + * @return the entityId + */ + public int getEntityId() { + return entityId; + } + + /** + * optional uint32 entity_id = 8; + * @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 getFactory() { + return RogueNpcDisappearCsReqFactory.INSTANCE; + } + + private enum RogueNpcDisappearCsReqFactory implements MessageFactory { + 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"); + } + } +} diff --git a/src/main/java/emu/lunarcore/game/battle/BattleService.java b/src/main/java/emu/lunarcore/game/battle/BattleService.java index c13f9a4..abd2c58 100644 --- a/src/main/java/emu/lunarcore/game/battle/BattleService.java +++ b/src/main/java/emu/lunarcore/game/battle/BattleService.java @@ -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; diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java b/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java index 7639d1f..1460447 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java @@ -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 { diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java index 80bda9a..5db26ad 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java @@ -555,7 +555,7 @@ public class RogueInstance { public RogueAeon toAeonProto() { var proto = RogueAeon.newInstance() - .setOFBCBEIEAEC(this.getAeonId()); + .setAeonId(this.getAeonId()); return proto; } diff --git a/src/main/java/emu/lunarcore/game/scene/entity/EntityNpc.java b/src/main/java/emu/lunarcore/game/scene/entity/EntityNpc.java index 2cfae56..f877a1a 100644 --- a/src/main/java/emu/lunarcore/game/scene/entity/EntityNpc.java +++ b/src/main/java/emu/lunarcore/game/scene/entity/EntityNpc.java @@ -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); } diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandleRogueNpcDisappearCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandleRogueNpcDisappearCsReq.java new file mode 100644 index 0000000..ccc1a5f --- /dev/null +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandleRogueNpcDisappearCsReq.java @@ -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)); + } + } +} diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerFinishRogueDialogueGroupCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerFinishRogueDialogueGroupCsReq.java index 268d38f..071b61a 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerFinishRogueDialogueGroupCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerFinishRogueDialogueGroupCsReq.java @@ -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); } } diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerSelectRogueDialogueEventCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerSelectRogueDialogueEventCsReq.java index 2654cd8..1be4b14 100644 --- a/src/main/java/emu/lunarcore/server/packet/recv/HandlerSelectRogueDialogueEventCsReq.java +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerSelectRogueDialogueEventCsReq.java @@ -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()); } } diff --git a/src/main/java/emu/lunarcore/server/packet/send/PacketSelectRogueDialogueEventScRsp.java b/src/main/java/emu/lunarcore/server/packet/send/PacketSelectRogueDialogueEventScRsp.java index 50c4e95..d08e020 100644 --- a/src/main/java/emu/lunarcore/server/packet/send/PacketSelectRogueDialogueEventScRsp.java +++ b/src/main/java/emu/lunarcore/server/packet/send/PacketSelectRogueDialogueEventScRsp.java @@ -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(); 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));