From 34f8292817d7005b63249f646a44902223513e9a Mon Sep 17 00:00:00 2001
From: Melledy <121644117+Melledy@users.noreply.github.com>
Date: Mon, 29 Jun 2026 20:42:26 -0700
Subject: [PATCH] Update to support game version `1.12.0.*`
---
.../main/emu/nebula/proto/ActivityDetail.java | 149 ++++-
.../ActivityDoubleQuestRewardReceive.java | 465 +++++++++++++++
.../nebula/proto/CharGemInstanceSettle.java | 115 +++-
.../nebula/proto/CharGemInstanceSweep.java | 115 +++-
.../emu/nebula/proto/DailyInstanceRaid.java | 115 +++-
.../emu/nebula/proto/DailyInstanceSettle.java | 115 +++-
.../main/emu/nebula/proto/Notify.java | 450 ++++++++++++++
.../main/emu/nebula/proto/Public.java | 561 ++++++++++++++++++
.../nebula/proto/RegionBossLevelSettle.java | 115 +++-
.../nebula/proto/RegionBossLevelSweep.java | 115 +++-
.../emu/nebula/proto/SkillInstanceSettle.java | 115 +++-
.../emu/nebula/proto/SkillInstanceSweep.java | 115 +++-
src/main/java/emu/nebula/GameConstants.java | 4 +-
.../nebula/data/resources/MallPackageDef.java | 1 -
.../nebula/game/activity/ActivityModule.java | 19 +-
.../nebula/game/activity/ActivityType.java | 49 +-
.../emu/nebula/game/inventory/ItemType.java | 4 +-
src/main/java/emu/nebula/net/NetMsgId.java | 4 +
.../handlers/HandlerBattlePassOrderReq.java | 1 -
src/main/resources/versions.json | 10 +-
20 files changed, 2565 insertions(+), 72 deletions(-)
create mode 100644 src/generated/main/emu/nebula/proto/ActivityDoubleQuestRewardReceive.java
diff --git a/src/generated/main/emu/nebula/proto/ActivityDetail.java b/src/generated/main/emu/nebula/proto/ActivityDetail.java
index e7d15b4..ffd5723 100644
--- a/src/generated/main/emu/nebula/proto/ActivityDetail.java
+++ b/src/generated/main/emu/nebula/proto/ActivityDetail.java
@@ -121,7 +121,12 @@ public final class ActivityDetail {
private final Public.ActivityGDS gDS = Public.ActivityGDS.newInstance();
/**
- * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 21;
+ * optional .ActivityDouble Double = 21;
+ */
+ private final Public.ActivityDouble double_ = Public.ActivityDouble.newInstance();
+
+ /**
+ * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 22;
*/
private final Public.ActivityHistoryStoryChapter historyStoryChapter = Public.ActivityHistoryStoryChapter.newInstance();
@@ -1261,25 +1266,82 @@ public final class ActivityDetail {
}
/**
- * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 21;
- * @return whether the historyStoryChapter field is set
+ * optional .ActivityDouble Double = 21;
+ * @return whether the double_ field is set
*/
- public boolean hasHistoryStoryChapter() {
+ public boolean hasDouble() {
return (bitField0_ & 0x00100000) != 0;
}
/**
- * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 21;
+ * optional .ActivityDouble Double = 21;
+ * @return this
+ */
+ public ActivityMsg clearDouble() {
+ bitField0_ &= ~0x00100000;
+ double_.clear();
+ return this;
+ }
+
+ /**
+ * optional .ActivityDouble Double = 21;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDouble()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public Public.ActivityDouble getDouble() {
+ return double_;
+ }
+
+ /**
+ * optional .ActivityDouble Double = 21;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public Public.ActivityDouble getMutableDouble() {
+ bitField0_ |= 0x00100000;
+ return double_;
+ }
+
+ /**
+ * optional .ActivityDouble Double = 21;
+ * @param value the double_ to set
+ * @return this
+ */
+ public ActivityMsg setDouble(final Public.ActivityDouble value) {
+ bitField0_ |= 0x00100000;
+ double_.copyFrom(value);
+ return this;
+ }
+
+ /**
+ * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 22;
+ * @return whether the historyStoryChapter field is set
+ */
+ public boolean hasHistoryStoryChapter() {
+ return (bitField0_ & 0x00200000) != 0;
+ }
+
+ /**
+ * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 22;
* @return this
*/
public ActivityMsg clearHistoryStoryChapter() {
- bitField0_ &= ~0x00100000;
+ bitField0_ &= ~0x00200000;
historyStoryChapter.clear();
return this;
}
/**
- * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 21;
+ * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 22;
*
* This method returns the internal storage object without modifying any has state.
* The returned object should not be modified and be treated as read-only.
@@ -1293,7 +1355,7 @@ public final class ActivityDetail {
}
/**
- * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 21;
+ * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 22;
*
* This method returns the internal storage object and sets the corresponding
* has state. The returned object will become part of this message and its
@@ -1302,17 +1364,17 @@ public final class ActivityDetail {
* @return internal storage object for modifications
*/
public Public.ActivityHistoryStoryChapter getMutableHistoryStoryChapter() {
- bitField0_ |= 0x00100000;
+ bitField0_ |= 0x00200000;
return historyStoryChapter;
}
/**
- * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 21;
+ * optional .ActivityHistoryStoryChapter HistoryStoryChapter = 22;
* @param value the historyStoryChapter to set
* @return this
*/
public ActivityMsg setHistoryStoryChapter(final Public.ActivityHistoryStoryChapter value) {
- bitField0_ |= 0x00100000;
+ bitField0_ |= 0x00200000;
historyStoryChapter.copyFrom(value);
return this;
}
@@ -1322,7 +1384,7 @@ public final class ActivityDetail {
* @return whether the nextPackage field is set
*/
public boolean hasNextPackage() {
- return (bitField0_ & 0x00200000) != 0;
+ return (bitField0_ & 0x00400000) != 0;
}
/**
@@ -1330,7 +1392,7 @@ public final class ActivityDetail {
* @return this
*/
public ActivityMsg clearNextPackage() {
- bitField0_ &= ~0x00200000;
+ bitField0_ &= ~0x00400000;
nextPackage.clear();
return this;
}
@@ -1359,7 +1421,7 @@ public final class ActivityDetail {
* @return internal storage object for modifications
*/
public RepeatedByte getMutableNextPackage() {
- bitField0_ |= 0x00200000;
+ bitField0_ |= 0x00400000;
return nextPackage;
}
@@ -1369,7 +1431,7 @@ public final class ActivityDetail {
* @return this
*/
public ActivityMsg addNextPackage(final byte value) {
- bitField0_ |= 0x00200000;
+ bitField0_ |= 0x00400000;
nextPackage.add(value);
return this;
}
@@ -1380,7 +1442,7 @@ public final class ActivityDetail {
* @return this
*/
public ActivityMsg addAllNextPackage(final byte... values) {
- bitField0_ |= 0x00200000;
+ bitField0_ |= 0x00400000;
nextPackage.addAll(values);
return this;
}
@@ -1391,7 +1453,7 @@ public final class ActivityDetail {
* @return this
*/
public ActivityMsg setNextPackage(final byte... values) {
- bitField0_ |= 0x00200000;
+ bitField0_ |= 0x00400000;
nextPackage.copyFrom(values);
return this;
}
@@ -1421,6 +1483,7 @@ public final class ActivityDetail {
penguinCard.copyFrom(other.penguinCard);
throwGift.copyFrom(other.throwGift);
gDS.copyFrom(other.gDS);
+ double_.copyFrom(other.double_);
historyStoryChapter.copyFrom(other.historyStoryChapter);
nextPackage.copyFrom(other.nextPackage);
}
@@ -1493,6 +1556,9 @@ public final class ActivityDetail {
if (other.hasGDS()) {
getMutableGDS().mergeFrom(other.gDS);
}
+ if (other.hasDouble()) {
+ getMutableDouble().mergeFrom(other.double_);
+ }
if (other.hasHistoryStoryChapter()) {
getMutableHistoryStoryChapter().mergeFrom(other.historyStoryChapter);
}
@@ -1529,6 +1595,7 @@ public final class ActivityDetail {
penguinCard.clear();
throwGift.clear();
gDS.clear();
+ double_.clear();
historyStoryChapter.clear();
nextPackage.clear();
return this;
@@ -1560,6 +1627,7 @@ public final class ActivityDetail {
penguinCard.clearQuick();
throwGift.clearQuick();
gDS.clearQuick();
+ double_.clearQuick();
historyStoryChapter.clearQuick();
nextPackage.clear();
return this;
@@ -1595,6 +1663,7 @@ public final class ActivityDetail {
&& (!hasPenguinCard() || penguinCard.equals(other.penguinCard))
&& (!hasThrowGift() || throwGift.equals(other.throwGift))
&& (!hasGDS() || gDS.equals(other.gDS))
+ && (!hasDouble() || double_.equals(other.double_))
&& (!hasHistoryStoryChapter() || historyStoryChapter.equals(other.historyStoryChapter))
&& (!hasNextPackage() || nextPackage.equals(other.nextPackage));
}
@@ -1683,9 +1752,13 @@ public final class ActivityDetail {
}
if ((bitField0_ & 0x00100000) != 0) {
output.writeRawLittleEndian16((short) 426);
- output.writeMessageNoTag(historyStoryChapter);
+ output.writeMessageNoTag(double_);
}
if ((bitField0_ & 0x00200000) != 0) {
+ output.writeRawLittleEndian16((short) 434);
+ output.writeMessageNoTag(historyStoryChapter);
+ }
+ if ((bitField0_ & 0x00400000) != 0) {
output.writeRawLittleEndian16((short) 32762);
output.writeBytesNoTag(nextPackage);
}
@@ -1755,9 +1828,12 @@ public final class ActivityDetail {
size += 2 + ProtoSink.computeMessageSizeNoTag(gDS);
}
if ((bitField0_ & 0x00100000) != 0) {
- size += 2 + ProtoSink.computeMessageSizeNoTag(historyStoryChapter);
+ size += 2 + ProtoSink.computeMessageSizeNoTag(double_);
}
if ((bitField0_ & 0x00200000) != 0) {
+ size += 2 + ProtoSink.computeMessageSizeNoTag(historyStoryChapter);
+ }
+ if ((bitField0_ & 0x00400000) != 0) {
size += 2 + ProtoSink.computeBytesSizeNoTag(nextPackage);
}
return size;
@@ -1951,9 +2027,18 @@ public final class ActivityDetail {
}
}
case 170: {
+ // double_
+ input.readMessage(double_);
+ bitField0_ |= 0x00100000;
+ tag = input.readTag();
+ if (tag != 178) {
+ break;
+ }
+ }
+ case 178: {
// historyStoryChapter
input.readMessage(historyStoryChapter);
- bitField0_ |= 0x00100000;
+ bitField0_ |= 0x00200000;
tag = input.readTag();
if (tag != 16378) {
break;
@@ -1962,7 +2047,7 @@ public final class ActivityDetail {
case 16378: {
// nextPackage
input.readBytes(nextPackage);
- bitField0_ |= 0x00200000;
+ bitField0_ |= 0x00400000;
tag = input.readTag();
if (tag != 0) {
break;
@@ -2046,9 +2131,12 @@ public final class ActivityDetail {
output.writeMessage(FieldNames.gDS, gDS);
}
if ((bitField0_ & 0x00100000) != 0) {
- output.writeMessage(FieldNames.historyStoryChapter, historyStoryChapter);
+ output.writeMessage(FieldNames.double_, double_);
}
if ((bitField0_ & 0x00200000) != 0) {
+ output.writeMessage(FieldNames.historyStoryChapter, historyStoryChapter);
+ }
+ if ((bitField0_ & 0x00400000) != 0) {
output.writeBytes(FieldNames.nextPackage, nextPackage);
}
output.endObject();
@@ -2281,11 +2369,22 @@ public final class ActivityDetail {
}
break;
}
+ case 2052876273: {
+ if (input.isAtField(FieldNames.double_)) {
+ if (!input.trySkipNullValue()) {
+ input.readMessage(double_);
+ bitField0_ |= 0x00100000;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
case -1036267476: {
if (input.isAtField(FieldNames.historyStoryChapter)) {
if (!input.trySkipNullValue()) {
input.readMessage(historyStoryChapter);
- bitField0_ |= 0x00100000;
+ bitField0_ |= 0x00200000;
}
} else {
input.skipUnknownField();
@@ -2296,7 +2395,7 @@ public final class ActivityDetail {
if (input.isAtField(FieldNames.nextPackage)) {
if (!input.trySkipNullValue()) {
input.readBytes(nextPackage);
- bitField0_ |= 0x00200000;
+ bitField0_ |= 0x00400000;
}
} else {
input.skipUnknownField();
@@ -2395,6 +2494,8 @@ public final class ActivityDetail {
static final FieldName gDS = FieldName.forField("GDS");
+ static final FieldName double_ = FieldName.forField("Double");
+
static final FieldName historyStoryChapter = FieldName.forField("HistoryStoryChapter");
static final FieldName nextPackage = FieldName.forField("NextPackage");
diff --git a/src/generated/main/emu/nebula/proto/ActivityDoubleQuestRewardReceive.java b/src/generated/main/emu/nebula/proto/ActivityDoubleQuestRewardReceive.java
new file mode 100644
index 0000000..565143c
--- /dev/null
+++ b/src/generated/main/emu/nebula/proto/ActivityDoubleQuestRewardReceive.java
@@ -0,0 +1,465 @@
+// Code generated by protocol buffer compiler. Do not edit!
+package emu.nebula.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;
+import us.hebi.quickbuf.RepeatedByte;
+
+public final class ActivityDoubleQuestRewardReceive {
+ /**
+ * Protobuf type {@code ActivityDoubleQuestRewardReq}
+ */
+ public static final class ActivityDoubleQuestRewardReq extends ProtoMessage implements Cloneable {
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * optional uint32 ActivityId = 1;
+ */
+ private int activityId;
+
+ /**
+ * optional uint32 QuestId = 2;
+ */
+ private int questId;
+
+ /**
+ * optional bytes NextPackage = 2047;
+ */
+ private final RepeatedByte nextPackage = RepeatedByte.newEmptyInstance();
+
+ private ActivityDoubleQuestRewardReq() {
+ }
+
+ /**
+ * @return a new empty instance of {@code ActivityDoubleQuestRewardReq}
+ */
+ public static ActivityDoubleQuestRewardReq newInstance() {
+ return new ActivityDoubleQuestRewardReq();
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return whether the activityId field is set
+ */
+ public boolean hasActivityId() {
+ return (bitField0_ & 0x00000001) != 0;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq clearActivityId() {
+ bitField0_ &= ~0x00000001;
+ activityId = 0;
+ return this;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return the activityId
+ */
+ public int getActivityId() {
+ return activityId;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @param value the activityId to set
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq setActivityId(final int value) {
+ bitField0_ |= 0x00000001;
+ activityId = value;
+ return this;
+ }
+
+ /**
+ * optional uint32 QuestId = 2;
+ * @return whether the questId field is set
+ */
+ public boolean hasQuestId() {
+ return (bitField0_ & 0x00000002) != 0;
+ }
+
+ /**
+ * optional uint32 QuestId = 2;
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq clearQuestId() {
+ bitField0_ &= ~0x00000002;
+ questId = 0;
+ return this;
+ }
+
+ /**
+ * optional uint32 QuestId = 2;
+ * @return the questId
+ */
+ public int getQuestId() {
+ return questId;
+ }
+
+ /**
+ * optional uint32 QuestId = 2;
+ * @param value the questId to set
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq setQuestId(final int value) {
+ bitField0_ |= 0x00000002;
+ questId = value;
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @return whether the nextPackage field is set
+ */
+ public boolean hasNextPackage() {
+ return (bitField0_ & 0x00000004) != 0;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq clearNextPackage() {
+ bitField0_ &= ~0x00000004;
+ nextPackage.clear();
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableNextPackage()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedByte getNextPackage() {
+ return nextPackage;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedByte getMutableNextPackage() {
+ bitField0_ |= 0x00000004;
+ return nextPackage;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param value the nextPackage to add
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq addNextPackage(final byte value) {
+ bitField0_ |= 0x00000004;
+ nextPackage.add(value);
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param values the nextPackage to add
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq addAllNextPackage(final byte... values) {
+ bitField0_ |= 0x00000004;
+ nextPackage.addAll(values);
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param values the nextPackage to set
+ * @return this
+ */
+ public ActivityDoubleQuestRewardReq setNextPackage(final byte... values) {
+ bitField0_ |= 0x00000004;
+ nextPackage.copyFrom(values);
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleQuestRewardReq copyFrom(final ActivityDoubleQuestRewardReq other) {
+ cachedSize = other.cachedSize;
+ if ((bitField0_ | other.bitField0_) != 0) {
+ bitField0_ = other.bitField0_;
+ activityId = other.activityId;
+ questId = other.questId;
+ nextPackage.copyFrom(other.nextPackage);
+ }
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleQuestRewardReq mergeFrom(final ActivityDoubleQuestRewardReq other) {
+ if (other.isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ if (other.hasActivityId()) {
+ setActivityId(other.activityId);
+ }
+ if (other.hasQuestId()) {
+ setQuestId(other.questId);
+ }
+ if (other.hasNextPackage()) {
+ getMutableNextPackage().copyFrom(other.nextPackage);
+ }
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleQuestRewardReq clear() {
+ if (isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ bitField0_ = 0;
+ activityId = 0;
+ questId = 0;
+ nextPackage.clear();
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleQuestRewardReq clearQuick() {
+ if (isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ bitField0_ = 0;
+ nextPackage.clear();
+ return this;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+ if (!(o instanceof ActivityDoubleQuestRewardReq)) {
+ return false;
+ }
+ ActivityDoubleQuestRewardReq other = (ActivityDoubleQuestRewardReq) o;
+ return bitField0_ == other.bitField0_
+ && (!hasActivityId() || activityId == other.activityId)
+ && (!hasQuestId() || questId == other.questId)
+ && (!hasNextPackage() || nextPackage.equals(other.nextPackage));
+ }
+
+ @Override
+ public void writeTo(final ProtoSink output) throws IOException {
+ if ((bitField0_ & 0x00000001) != 0) {
+ output.writeRawByte((byte) 8);
+ output.writeUInt32NoTag(activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ output.writeRawByte((byte) 16);
+ output.writeUInt32NoTag(questId);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ output.writeRawLittleEndian16((short) 32762);
+ output.writeBytesNoTag(nextPackage);
+ }
+ }
+
+ @Override
+ protected int computeSerializedSize() {
+ int size = 0;
+ if ((bitField0_ & 0x00000001) != 0) {
+ size += 1 + ProtoSink.computeUInt32SizeNoTag(activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ size += 1 + ProtoSink.computeUInt32SizeNoTag(questId);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ size += 2 + ProtoSink.computeBytesSizeNoTag(nextPackage);
+ }
+ return size;
+ }
+
+ @Override
+ @SuppressWarnings("fallthrough")
+ public ActivityDoubleQuestRewardReq mergeFrom(final ProtoSource input) throws IOException {
+ // Enabled Fall-Through Optimization (QuickBuffers)
+ int tag = input.readTag();
+ while (true) {
+ switch (tag) {
+ case 8: {
+ // activityId
+ activityId = input.readUInt32();
+ bitField0_ |= 0x00000001;
+ tag = input.readTag();
+ if (tag != 16) {
+ break;
+ }
+ }
+ case 16: {
+ // questId
+ questId = input.readUInt32();
+ bitField0_ |= 0x00000002;
+ tag = input.readTag();
+ if (tag != 16378) {
+ break;
+ }
+ }
+ case 16378: {
+ // nextPackage
+ input.readBytes(nextPackage);
+ bitField0_ |= 0x00000004;
+ 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.activityId, activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ output.writeUInt32(FieldNames.questId, questId);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ output.writeBytes(FieldNames.nextPackage, nextPackage);
+ }
+ output.endObject();
+ }
+
+ @Override
+ public ActivityDoubleQuestRewardReq mergeFrom(final JsonSource input) throws IOException {
+ if (!input.beginObject()) {
+ return this;
+ }
+ while (!input.isAtEnd()) {
+ switch (input.readFieldHash()) {
+ case -252882774: {
+ if (input.isAtField(FieldNames.activityId)) {
+ if (!input.trySkipNullValue()) {
+ activityId = input.readUInt32();
+ bitField0_ |= 0x00000001;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case -1975187075: {
+ if (input.isAtField(FieldNames.questId)) {
+ if (!input.trySkipNullValue()) {
+ questId = input.readUInt32();
+ bitField0_ |= 0x00000002;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case -2082324045: {
+ if (input.isAtField(FieldNames.nextPackage)) {
+ if (!input.trySkipNullValue()) {
+ input.readBytes(nextPackage);
+ bitField0_ |= 0x00000004;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ default: {
+ input.skipUnknownField();
+ break;
+ }
+ }
+ }
+ input.endObject();
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleQuestRewardReq clone() {
+ return new ActivityDoubleQuestRewardReq().copyFrom(this);
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return ((bitField0_) == 0);
+ }
+
+ public static ActivityDoubleQuestRewardReq parseFrom(final byte[] data) throws
+ InvalidProtocolBufferException {
+ return ProtoMessage.mergeFrom(new ActivityDoubleQuestRewardReq(), data).checkInitialized();
+ }
+
+ public static ActivityDoubleQuestRewardReq parseFrom(final ProtoSource input) throws
+ IOException {
+ return ProtoMessage.mergeFrom(new ActivityDoubleQuestRewardReq(), input).checkInitialized();
+ }
+
+ public static ActivityDoubleQuestRewardReq parseFrom(final JsonSource input) throws
+ IOException {
+ return ProtoMessage.mergeFrom(new ActivityDoubleQuestRewardReq(), input).checkInitialized();
+ }
+
+ /**
+ * @return factory for creating ActivityDoubleQuestRewardReq messages
+ */
+ public static MessageFactory getFactory() {
+ return ActivityDoubleQuestRewardReqFactory.INSTANCE;
+ }
+
+ private enum ActivityDoubleQuestRewardReqFactory implements MessageFactory {
+ INSTANCE;
+
+ @Override
+ public ActivityDoubleQuestRewardReq create() {
+ return ActivityDoubleQuestRewardReq.newInstance();
+ }
+ }
+
+ /**
+ * Contains name constants used for serializing JSON
+ */
+ static class FieldNames {
+ static final FieldName activityId = FieldName.forField("ActivityId");
+
+ static final FieldName questId = FieldName.forField("QuestId");
+
+ static final FieldName nextPackage = FieldName.forField("NextPackage");
+ }
+ }
+}
diff --git a/src/generated/main/emu/nebula/proto/CharGemInstanceSettle.java b/src/generated/main/emu/nebula/proto/CharGemInstanceSettle.java
index ecdbd42..7137fcb 100644
--- a/src/generated/main/emu/nebula/proto/CharGemInstanceSettle.java
+++ b/src/generated/main/emu/nebula/proto/CharGemInstanceSettle.java
@@ -534,6 +534,11 @@ public final class CharGemInstanceSettle {
*/
private final RepeatedMessage surpriseItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+
private CharGemInstanceSettleResp() {
}
@@ -1063,6 +1068,74 @@ public final class CharGemInstanceSettle {
return this;
}
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000200) != 0;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @return this
+ */
+ public CharGemInstanceSettleResp clearDoubleItems() {
+ bitField0_ &= ~0x00000200;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000200;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public CharGemInstanceSettleResp addDoubleItems(final Public.ItemTpl value) {
+ bitField0_ |= 0x00000200;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public CharGemInstanceSettleResp addAllDoubleItems(final Public.ItemTpl... values) {
+ bitField0_ |= 0x00000200;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public CharGemInstanceSettleResp copyFrom(final CharGemInstanceSettleResp other) {
cachedSize = other.cachedSize;
@@ -1077,6 +1150,7 @@ public final class CharGemInstanceSettle {
firstItems.copyFrom(other.firstItems);
threeStarItems.copyFrom(other.threeStarItems);
surpriseItems.copyFrom(other.surpriseItems);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -1114,6 +1188,9 @@ public final class CharGemInstanceSettle {
if (other.hasSurpriseItems()) {
getMutableSurpriseItems().addAll(other.surpriseItems);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -1133,6 +1210,7 @@ public final class CharGemInstanceSettle {
firstItems.clear();
threeStarItems.clear();
surpriseItems.clear();
+ doubleItems.clear();
return this;
}
@@ -1149,6 +1227,7 @@ public final class CharGemInstanceSettle {
firstItems.clearQuick();
threeStarItems.clearQuick();
surpriseItems.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -1170,7 +1249,8 @@ public final class CharGemInstanceSettle {
&& (!hasAwardItems() || awardItems.equals(other.awardItems))
&& (!hasFirstItems() || firstItems.equals(other.firstItems))
&& (!hasThreeStarItems() || threeStarItems.equals(other.threeStarItems))
- && (!hasSurpriseItems() || surpriseItems.equals(other.surpriseItems));
+ && (!hasSurpriseItems() || surpriseItems.equals(other.surpriseItems))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -1219,6 +1299,12 @@ public final class CharGemInstanceSettle {
output.writeMessageNoTag(surpriseItems.get(i));
}
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 74);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -1251,6 +1337,9 @@ public final class CharGemInstanceSettle {
if ((bitField0_ & 0x00000100) != 0) {
size += (1 * surpriseItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(surpriseItems);
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -1334,6 +1423,14 @@ public final class CharGemInstanceSettle {
// surpriseItems
tag = input.readRepeatedMessage(surpriseItems, tag);
bitField0_ |= 0x00000100;
+ if (tag != 74) {
+ break;
+ }
+ }
+ case 74: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000200;
if (tag != 0) {
break;
}
@@ -1382,6 +1479,9 @@ public final class CharGemInstanceSettle {
if ((bitField0_ & 0x00000100) != 0) {
output.writeRepeatedMessage(FieldNames.surpriseItems, surpriseItems);
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -1491,6 +1591,17 @@ public final class CharGemInstanceSettle {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000200;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1561,6 +1672,8 @@ public final class CharGemInstanceSettle {
static final FieldName threeStarItems = FieldName.forField("ThreeStarItems");
static final FieldName surpriseItems = FieldName.forField("SurpriseItems");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
}
diff --git a/src/generated/main/emu/nebula/proto/CharGemInstanceSweep.java b/src/generated/main/emu/nebula/proto/CharGemInstanceSweep.java
index a691651..9731342 100644
--- a/src/generated/main/emu/nebula/proto/CharGemInstanceSweep.java
+++ b/src/generated/main/emu/nebula/proto/CharGemInstanceSweep.java
@@ -584,6 +584,11 @@ public final class CharGemInstanceSweep {
*/
private final RepeatedMessage awardItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+
private CharGemInstanceSweepReward() {
}
@@ -778,6 +783,74 @@ public final class CharGemInstanceSweep {
return this;
}
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000008) != 0;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @return this
+ */
+ public CharGemInstanceSweepReward clearDoubleItems() {
+ bitField0_ &= ~0x00000008;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000008;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public CharGemInstanceSweepReward addDoubleItems(final Public.ItemTpl value) {
+ bitField0_ |= 0x00000008;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public CharGemInstanceSweepReward addAllDoubleItems(final Public.ItemTpl... values) {
+ bitField0_ |= 0x00000008;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public CharGemInstanceSweepReward copyFrom(final CharGemInstanceSweepReward other) {
cachedSize = other.cachedSize;
@@ -786,6 +859,7 @@ public final class CharGemInstanceSweep {
exp = other.exp;
nextPackage.copyFrom(other.nextPackage);
awardItems.copyFrom(other.awardItems);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -805,6 +879,9 @@ public final class CharGemInstanceSweep {
if (other.hasAwardItems()) {
getMutableAwardItems().addAll(other.awardItems);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -818,6 +895,7 @@ public final class CharGemInstanceSweep {
exp = 0;
nextPackage.clear();
awardItems.clear();
+ doubleItems.clear();
return this;
}
@@ -830,6 +908,7 @@ public final class CharGemInstanceSweep {
bitField0_ = 0;
nextPackage.clear();
awardItems.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -845,7 +924,8 @@ public final class CharGemInstanceSweep {
return bitField0_ == other.bitField0_
&& (!hasExp() || exp == other.exp)
&& (!hasNextPackage() || nextPackage.equals(other.nextPackage))
- && (!hasAwardItems() || awardItems.equals(other.awardItems));
+ && (!hasAwardItems() || awardItems.equals(other.awardItems))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -864,6 +944,12 @@ public final class CharGemInstanceSweep {
output.writeMessageNoTag(awardItems.get(i));
}
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 26);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -878,6 +964,9 @@ public final class CharGemInstanceSweep {
if ((bitField0_ & 0x00000004) != 0) {
size += (1 * awardItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(awardItems);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -910,6 +999,14 @@ public final class CharGemInstanceSweep {
// awardItems
tag = input.readRepeatedMessage(awardItems, tag);
bitField0_ |= 0x00000004;
+ if (tag != 26) {
+ break;
+ }
+ }
+ case 26: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000008;
if (tag != 0) {
break;
}
@@ -940,6 +1037,9 @@ public final class CharGemInstanceSweep {
if ((bitField0_ & 0x00000004) != 0) {
output.writeRepeatedMessage(FieldNames.awardItems, awardItems);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -983,6 +1083,17 @@ public final class CharGemInstanceSweep {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000008;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1041,6 +1152,8 @@ public final class CharGemInstanceSweep {
static final FieldName nextPackage = FieldName.forField("NextPackage");
static final FieldName awardItems = FieldName.forField("AwardItems");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
diff --git a/src/generated/main/emu/nebula/proto/DailyInstanceRaid.java b/src/generated/main/emu/nebula/proto/DailyInstanceRaid.java
index e0280c2..122ebb3 100644
--- a/src/generated/main/emu/nebula/proto/DailyInstanceRaid.java
+++ b/src/generated/main/emu/nebula/proto/DailyInstanceRaid.java
@@ -664,6 +664,11 @@ public final class DailyInstanceRaid {
*/
private final RepeatedMessage select = RepeatedMessage.newEmptyInstance(Public.Item.getFactory());
+ /**
+ * repeated .Item DoubleItems = 2;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.Item.getFactory());
+
private DailyInstanceReward() {
}
@@ -858,6 +863,74 @@ public final class DailyInstanceRaid {
return this;
}
+ /**
+ * repeated .Item DoubleItems = 2;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000008) != 0;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 2;
+ * @return this
+ */
+ public DailyInstanceReward clearDoubleItems() {
+ bitField0_ &= ~0x00000008;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 2;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 2;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000008;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 2;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public DailyInstanceReward addDoubleItems(final Public.Item value) {
+ bitField0_ |= 0x00000008;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 2;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public DailyInstanceReward addAllDoubleItems(final Public.Item... values) {
+ bitField0_ |= 0x00000008;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public DailyInstanceReward copyFrom(final DailyInstanceReward other) {
cachedSize = other.cachedSize;
@@ -866,6 +939,7 @@ public final class DailyInstanceRaid {
exp = other.exp;
nextPackage.copyFrom(other.nextPackage);
select.copyFrom(other.select);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -885,6 +959,9 @@ public final class DailyInstanceRaid {
if (other.hasSelect()) {
getMutableSelect().addAll(other.select);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -898,6 +975,7 @@ public final class DailyInstanceRaid {
exp = 0;
nextPackage.clear();
select.clear();
+ doubleItems.clear();
return this;
}
@@ -910,6 +988,7 @@ public final class DailyInstanceRaid {
bitField0_ = 0;
nextPackage.clear();
select.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -925,7 +1004,8 @@ public final class DailyInstanceRaid {
return bitField0_ == other.bitField0_
&& (!hasExp() || exp == other.exp)
&& (!hasNextPackage() || nextPackage.equals(other.nextPackage))
- && (!hasSelect() || select.equals(other.select));
+ && (!hasSelect() || select.equals(other.select))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -944,6 +1024,12 @@ public final class DailyInstanceRaid {
output.writeMessageNoTag(select.get(i));
}
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 18);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -958,6 +1044,9 @@ public final class DailyInstanceRaid {
if ((bitField0_ & 0x00000004) != 0) {
size += (1 * select.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(select);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -990,6 +1079,14 @@ public final class DailyInstanceRaid {
// select
tag = input.readRepeatedMessage(select, tag);
bitField0_ |= 0x00000004;
+ if (tag != 18) {
+ break;
+ }
+ }
+ case 18: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000008;
if (tag != 0) {
break;
}
@@ -1020,6 +1117,9 @@ public final class DailyInstanceRaid {
if ((bitField0_ & 0x00000004) != 0) {
output.writeRepeatedMessage(FieldNames.select, select);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -1063,6 +1163,17 @@ public final class DailyInstanceRaid {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000008;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1121,6 +1232,8 @@ public final class DailyInstanceRaid {
static final FieldName nextPackage = FieldName.forField("NextPackage");
static final FieldName select = FieldName.forField("Select");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
diff --git a/src/generated/main/emu/nebula/proto/DailyInstanceSettle.java b/src/generated/main/emu/nebula/proto/DailyInstanceSettle.java
index e5886b5..ebdd7f6 100644
--- a/src/generated/main/emu/nebula/proto/DailyInstanceSettle.java
+++ b/src/generated/main/emu/nebula/proto/DailyInstanceSettle.java
@@ -514,6 +514,11 @@ public final class DailyInstanceSettle {
*/
private final RepeatedMessage first = RepeatedMessage.newEmptyInstance(Public.Item.getFactory());
+ /**
+ * repeated .Item DoubleItems = 4;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.Item.getFactory());
+
private DailyInstanceSettleResp() {
}
@@ -833,6 +838,74 @@ public final class DailyInstanceSettle {
return this;
}
+ /**
+ * repeated .Item DoubleItems = 4;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000020) != 0;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 4;
+ * @return this
+ */
+ public DailyInstanceSettleResp clearDoubleItems() {
+ bitField0_ &= ~0x00000020;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 4;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 4;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000020;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 4;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public DailyInstanceSettleResp addDoubleItems(final Public.Item value) {
+ bitField0_ |= 0x00000020;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .Item DoubleItems = 4;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public DailyInstanceSettleResp addAllDoubleItems(final Public.Item... values) {
+ bitField0_ |= 0x00000020;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public DailyInstanceSettleResp copyFrom(final DailyInstanceSettleResp other) {
cachedSize = other.cachedSize;
@@ -843,6 +916,7 @@ public final class DailyInstanceSettle {
nextPackage.copyFrom(other.nextPackage);
select.copyFrom(other.select);
first.copyFrom(other.first);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -868,6 +942,9 @@ public final class DailyInstanceSettle {
if (other.hasFirst()) {
getMutableFirst().addAll(other.first);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -883,6 +960,7 @@ public final class DailyInstanceSettle {
nextPackage.clear();
select.clear();
first.clear();
+ doubleItems.clear();
return this;
}
@@ -897,6 +975,7 @@ public final class DailyInstanceSettle {
nextPackage.clear();
select.clearQuick();
first.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -914,7 +993,8 @@ public final class DailyInstanceSettle {
&& (!hasChange() || change.equals(other.change))
&& (!hasNextPackage() || nextPackage.equals(other.nextPackage))
&& (!hasSelect() || select.equals(other.select))
- && (!hasFirst() || first.equals(other.first));
+ && (!hasFirst() || first.equals(other.first))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -943,6 +1023,12 @@ public final class DailyInstanceSettle {
output.writeMessageNoTag(first.get(i));
}
}
+ if ((bitField0_ & 0x00000020) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 34);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -963,6 +1049,9 @@ public final class DailyInstanceSettle {
if ((bitField0_ & 0x00000010) != 0) {
size += (1 * first.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(first);
}
+ if ((bitField0_ & 0x00000020) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -1012,6 +1101,14 @@ public final class DailyInstanceSettle {
// first
tag = input.readRepeatedMessage(first, tag);
bitField0_ |= 0x00000010;
+ if (tag != 34) {
+ break;
+ }
+ }
+ case 34: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000020;
if (tag != 0) {
break;
}
@@ -1048,6 +1145,9 @@ public final class DailyInstanceSettle {
if ((bitField0_ & 0x00000010) != 0) {
output.writeRepeatedMessage(FieldNames.first, first);
}
+ if ((bitField0_ & 0x00000020) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -1113,6 +1213,17 @@ public final class DailyInstanceSettle {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000020;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1175,6 +1286,8 @@ public final class DailyInstanceSettle {
static final FieldName select = FieldName.forField("Select");
static final FieldName first = FieldName.forField("First");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
}
diff --git a/src/generated/main/emu/nebula/proto/Notify.java b/src/generated/main/emu/nebula/proto/Notify.java
index c44e68f..95a9dd0 100644
--- a/src/generated/main/emu/nebula/proto/Notify.java
+++ b/src/generated/main/emu/nebula/proto/Notify.java
@@ -8510,4 +8510,454 @@ public final class Notify {
static final FieldName nextPackage = FieldName.forField("NextPackage");
}
}
+
+ /**
+ * Protobuf type {@code ActivityDoubleRewardTimesNotify}
+ */
+ public static final class ActivityDoubleRewardTimesNotify extends ProtoMessage implements Cloneable {
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * optional uint32 ActivityId = 1;
+ */
+ private int activityId;
+
+ /**
+ * optional uint32 UseTimes = 2;
+ */
+ private int useTimes;
+
+ /**
+ * optional bytes NextPackage = 2047;
+ */
+ private final RepeatedByte nextPackage = RepeatedByte.newEmptyInstance();
+
+ private ActivityDoubleRewardTimesNotify() {
+ }
+
+ /**
+ * @return a new empty instance of {@code ActivityDoubleRewardTimesNotify}
+ */
+ public static ActivityDoubleRewardTimesNotify newInstance() {
+ return new ActivityDoubleRewardTimesNotify();
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return whether the activityId field is set
+ */
+ public boolean hasActivityId() {
+ return (bitField0_ & 0x00000001) != 0;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify clearActivityId() {
+ bitField0_ &= ~0x00000001;
+ activityId = 0;
+ return this;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return the activityId
+ */
+ public int getActivityId() {
+ return activityId;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @param value the activityId to set
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify setActivityId(final int value) {
+ bitField0_ |= 0x00000001;
+ activityId = value;
+ return this;
+ }
+
+ /**
+ * optional uint32 UseTimes = 2;
+ * @return whether the useTimes field is set
+ */
+ public boolean hasUseTimes() {
+ return (bitField0_ & 0x00000002) != 0;
+ }
+
+ /**
+ * optional uint32 UseTimes = 2;
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify clearUseTimes() {
+ bitField0_ &= ~0x00000002;
+ useTimes = 0;
+ return this;
+ }
+
+ /**
+ * optional uint32 UseTimes = 2;
+ * @return the useTimes
+ */
+ public int getUseTimes() {
+ return useTimes;
+ }
+
+ /**
+ * optional uint32 UseTimes = 2;
+ * @param value the useTimes to set
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify setUseTimes(final int value) {
+ bitField0_ |= 0x00000002;
+ useTimes = value;
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @return whether the nextPackage field is set
+ */
+ public boolean hasNextPackage() {
+ return (bitField0_ & 0x00000004) != 0;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify clearNextPackage() {
+ bitField0_ &= ~0x00000004;
+ nextPackage.clear();
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableNextPackage()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedByte getNextPackage() {
+ return nextPackage;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedByte getMutableNextPackage() {
+ bitField0_ |= 0x00000004;
+ return nextPackage;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param value the nextPackage to add
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify addNextPackage(final byte value) {
+ bitField0_ |= 0x00000004;
+ nextPackage.add(value);
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param values the nextPackage to add
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify addAllNextPackage(final byte... values) {
+ bitField0_ |= 0x00000004;
+ nextPackage.addAll(values);
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param values the nextPackage to set
+ * @return this
+ */
+ public ActivityDoubleRewardTimesNotify setNextPackage(final byte... values) {
+ bitField0_ |= 0x00000004;
+ nextPackage.copyFrom(values);
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleRewardTimesNotify copyFrom(final ActivityDoubleRewardTimesNotify other) {
+ cachedSize = other.cachedSize;
+ if ((bitField0_ | other.bitField0_) != 0) {
+ bitField0_ = other.bitField0_;
+ activityId = other.activityId;
+ useTimes = other.useTimes;
+ nextPackage.copyFrom(other.nextPackage);
+ }
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleRewardTimesNotify mergeFrom(final ActivityDoubleRewardTimesNotify other) {
+ if (other.isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ if (other.hasActivityId()) {
+ setActivityId(other.activityId);
+ }
+ if (other.hasUseTimes()) {
+ setUseTimes(other.useTimes);
+ }
+ if (other.hasNextPackage()) {
+ getMutableNextPackage().copyFrom(other.nextPackage);
+ }
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleRewardTimesNotify clear() {
+ if (isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ bitField0_ = 0;
+ activityId = 0;
+ useTimes = 0;
+ nextPackage.clear();
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleRewardTimesNotify clearQuick() {
+ if (isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ bitField0_ = 0;
+ nextPackage.clear();
+ return this;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+ if (!(o instanceof ActivityDoubleRewardTimesNotify)) {
+ return false;
+ }
+ ActivityDoubleRewardTimesNotify other = (ActivityDoubleRewardTimesNotify) o;
+ return bitField0_ == other.bitField0_
+ && (!hasActivityId() || activityId == other.activityId)
+ && (!hasUseTimes() || useTimes == other.useTimes)
+ && (!hasNextPackage() || nextPackage.equals(other.nextPackage));
+ }
+
+ @Override
+ public void writeTo(final ProtoSink output) throws IOException {
+ if ((bitField0_ & 0x00000001) != 0) {
+ output.writeRawByte((byte) 8);
+ output.writeUInt32NoTag(activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ output.writeRawByte((byte) 16);
+ output.writeUInt32NoTag(useTimes);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ output.writeRawLittleEndian16((short) 32762);
+ output.writeBytesNoTag(nextPackage);
+ }
+ }
+
+ @Override
+ protected int computeSerializedSize() {
+ int size = 0;
+ if ((bitField0_ & 0x00000001) != 0) {
+ size += 1 + ProtoSink.computeUInt32SizeNoTag(activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ size += 1 + ProtoSink.computeUInt32SizeNoTag(useTimes);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ size += 2 + ProtoSink.computeBytesSizeNoTag(nextPackage);
+ }
+ return size;
+ }
+
+ @Override
+ @SuppressWarnings("fallthrough")
+ public ActivityDoubleRewardTimesNotify mergeFrom(final ProtoSource input) throws IOException {
+ // Enabled Fall-Through Optimization (QuickBuffers)
+ int tag = input.readTag();
+ while (true) {
+ switch (tag) {
+ case 8: {
+ // activityId
+ activityId = input.readUInt32();
+ bitField0_ |= 0x00000001;
+ tag = input.readTag();
+ if (tag != 16) {
+ break;
+ }
+ }
+ case 16: {
+ // useTimes
+ useTimes = input.readUInt32();
+ bitField0_ |= 0x00000002;
+ tag = input.readTag();
+ if (tag != 16378) {
+ break;
+ }
+ }
+ case 16378: {
+ // nextPackage
+ input.readBytes(nextPackage);
+ bitField0_ |= 0x00000004;
+ 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.activityId, activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ output.writeUInt32(FieldNames.useTimes, useTimes);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ output.writeBytes(FieldNames.nextPackage, nextPackage);
+ }
+ output.endObject();
+ }
+
+ @Override
+ public ActivityDoubleRewardTimesNotify mergeFrom(final JsonSource input) throws IOException {
+ if (!input.beginObject()) {
+ return this;
+ }
+ while (!input.isAtEnd()) {
+ switch (input.readFieldHash()) {
+ case -252882774: {
+ if (input.isAtField(FieldNames.activityId)) {
+ if (!input.trySkipNullValue()) {
+ activityId = input.readUInt32();
+ bitField0_ |= 0x00000001;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case -228912609: {
+ if (input.isAtField(FieldNames.useTimes)) {
+ if (!input.trySkipNullValue()) {
+ useTimes = input.readUInt32();
+ bitField0_ |= 0x00000002;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case -2082324045: {
+ if (input.isAtField(FieldNames.nextPackage)) {
+ if (!input.trySkipNullValue()) {
+ input.readBytes(nextPackage);
+ bitField0_ |= 0x00000004;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ default: {
+ input.skipUnknownField();
+ break;
+ }
+ }
+ }
+ input.endObject();
+ return this;
+ }
+
+ @Override
+ public ActivityDoubleRewardTimesNotify clone() {
+ return new ActivityDoubleRewardTimesNotify().copyFrom(this);
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return ((bitField0_) == 0);
+ }
+
+ public static ActivityDoubleRewardTimesNotify parseFrom(final byte[] data) throws
+ InvalidProtocolBufferException {
+ return ProtoMessage.mergeFrom(new ActivityDoubleRewardTimesNotify(), data).checkInitialized();
+ }
+
+ public static ActivityDoubleRewardTimesNotify parseFrom(final ProtoSource input) throws
+ IOException {
+ return ProtoMessage.mergeFrom(new ActivityDoubleRewardTimesNotify(), input).checkInitialized();
+ }
+
+ public static ActivityDoubleRewardTimesNotify parseFrom(final JsonSource input) throws
+ IOException {
+ return ProtoMessage.mergeFrom(new ActivityDoubleRewardTimesNotify(), input).checkInitialized();
+ }
+
+ /**
+ * @return factory for creating ActivityDoubleRewardTimesNotify messages
+ */
+ public static MessageFactory getFactory() {
+ return ActivityDoubleRewardTimesNotifyFactory.INSTANCE;
+ }
+
+ private enum ActivityDoubleRewardTimesNotifyFactory implements MessageFactory {
+ INSTANCE;
+
+ @Override
+ public ActivityDoubleRewardTimesNotify create() {
+ return ActivityDoubleRewardTimesNotify.newInstance();
+ }
+ }
+
+ /**
+ * Contains name constants used for serializing JSON
+ */
+ static class FieldNames {
+ static final FieldName activityId = FieldName.forField("ActivityId");
+
+ static final FieldName useTimes = FieldName.forField("UseTimes");
+
+ static final FieldName nextPackage = FieldName.forField("NextPackage");
+ }
+ }
}
diff --git a/src/generated/main/emu/nebula/proto/Public.java b/src/generated/main/emu/nebula/proto/Public.java
index a201bdb..4279be3 100644
--- a/src/generated/main/emu/nebula/proto/Public.java
+++ b/src/generated/main/emu/nebula/proto/Public.java
@@ -54533,6 +54533,567 @@ public final class Public {
}
}
+ /**
+ * Protobuf type {@code ActivityDouble}
+ */
+ public static final class ActivityDouble extends ProtoMessage implements Cloneable {
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * optional uint32 ActivityId = 1;
+ */
+ private int activityId;
+
+ /**
+ * optional uint32 DailyUseTimes = 2;
+ */
+ private int dailyUseTimes;
+
+ /**
+ * optional bytes NextPackage = 2047;
+ */
+ private final RepeatedByte nextPackage = RepeatedByte.newEmptyInstance();
+
+ /**
+ * repeated .ActivityQuest Quests = 3;
+ */
+ private final RepeatedMessage quests = RepeatedMessage.newEmptyInstance(ActivityQuest.getFactory());
+
+ private ActivityDouble() {
+ }
+
+ /**
+ * @return a new empty instance of {@code ActivityDouble}
+ */
+ public static ActivityDouble newInstance() {
+ return new ActivityDouble();
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return whether the activityId field is set
+ */
+ public boolean hasActivityId() {
+ return (bitField0_ & 0x00000001) != 0;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return this
+ */
+ public ActivityDouble clearActivityId() {
+ bitField0_ &= ~0x00000001;
+ activityId = 0;
+ return this;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @return the activityId
+ */
+ public int getActivityId() {
+ return activityId;
+ }
+
+ /**
+ * optional uint32 ActivityId = 1;
+ * @param value the activityId to set
+ * @return this
+ */
+ public ActivityDouble setActivityId(final int value) {
+ bitField0_ |= 0x00000001;
+ activityId = value;
+ return this;
+ }
+
+ /**
+ * optional uint32 DailyUseTimes = 2;
+ * @return whether the dailyUseTimes field is set
+ */
+ public boolean hasDailyUseTimes() {
+ return (bitField0_ & 0x00000002) != 0;
+ }
+
+ /**
+ * optional uint32 DailyUseTimes = 2;
+ * @return this
+ */
+ public ActivityDouble clearDailyUseTimes() {
+ bitField0_ &= ~0x00000002;
+ dailyUseTimes = 0;
+ return this;
+ }
+
+ /**
+ * optional uint32 DailyUseTimes = 2;
+ * @return the dailyUseTimes
+ */
+ public int getDailyUseTimes() {
+ return dailyUseTimes;
+ }
+
+ /**
+ * optional uint32 DailyUseTimes = 2;
+ * @param value the dailyUseTimes to set
+ * @return this
+ */
+ public ActivityDouble setDailyUseTimes(final int value) {
+ bitField0_ |= 0x00000002;
+ dailyUseTimes = value;
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @return whether the nextPackage field is set
+ */
+ public boolean hasNextPackage() {
+ return (bitField0_ & 0x00000004) != 0;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @return this
+ */
+ public ActivityDouble clearNextPackage() {
+ bitField0_ &= ~0x00000004;
+ nextPackage.clear();
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableNextPackage()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedByte getNextPackage() {
+ return nextPackage;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedByte getMutableNextPackage() {
+ bitField0_ |= 0x00000004;
+ return nextPackage;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param value the nextPackage to add
+ * @return this
+ */
+ public ActivityDouble addNextPackage(final byte value) {
+ bitField0_ |= 0x00000004;
+ nextPackage.add(value);
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param values the nextPackage to add
+ * @return this
+ */
+ public ActivityDouble addAllNextPackage(final byte... values) {
+ bitField0_ |= 0x00000004;
+ nextPackage.addAll(values);
+ return this;
+ }
+
+ /**
+ * optional bytes NextPackage = 2047;
+ * @param values the nextPackage to set
+ * @return this
+ */
+ public ActivityDouble setNextPackage(final byte... values) {
+ bitField0_ |= 0x00000004;
+ nextPackage.copyFrom(values);
+ return this;
+ }
+
+ /**
+ * repeated .ActivityQuest Quests = 3;
+ * @return whether the quests field is set
+ */
+ public boolean hasQuests() {
+ return (bitField0_ & 0x00000008) != 0;
+ }
+
+ /**
+ * repeated .ActivityQuest Quests = 3;
+ * @return this
+ */
+ public ActivityDouble clearQuests() {
+ bitField0_ &= ~0x00000008;
+ quests.clear();
+ return this;
+ }
+
+ /**
+ * repeated .ActivityQuest Quests = 3;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableQuests()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getQuests() {
+ return quests;
+ }
+
+ /**
+ * repeated .ActivityQuest Quests = 3;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableQuests() {
+ bitField0_ |= 0x00000008;
+ return quests;
+ }
+
+ /**
+ * repeated .ActivityQuest Quests = 3;
+ * @param value the quests to add
+ * @return this
+ */
+ public ActivityDouble addQuests(final ActivityQuest value) {
+ bitField0_ |= 0x00000008;
+ quests.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .ActivityQuest Quests = 3;
+ * @param values the quests to add
+ * @return this
+ */
+ public ActivityDouble addAllQuests(final ActivityQuest... values) {
+ bitField0_ |= 0x00000008;
+ quests.addAll(values);
+ return this;
+ }
+
+ @Override
+ public ActivityDouble copyFrom(final ActivityDouble other) {
+ cachedSize = other.cachedSize;
+ if ((bitField0_ | other.bitField0_) != 0) {
+ bitField0_ = other.bitField0_;
+ activityId = other.activityId;
+ dailyUseTimes = other.dailyUseTimes;
+ nextPackage.copyFrom(other.nextPackage);
+ quests.copyFrom(other.quests);
+ }
+ return this;
+ }
+
+ @Override
+ public ActivityDouble mergeFrom(final ActivityDouble other) {
+ if (other.isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ if (other.hasActivityId()) {
+ setActivityId(other.activityId);
+ }
+ if (other.hasDailyUseTimes()) {
+ setDailyUseTimes(other.dailyUseTimes);
+ }
+ if (other.hasNextPackage()) {
+ getMutableNextPackage().copyFrom(other.nextPackage);
+ }
+ if (other.hasQuests()) {
+ getMutableQuests().addAll(other.quests);
+ }
+ return this;
+ }
+
+ @Override
+ public ActivityDouble clear() {
+ if (isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ bitField0_ = 0;
+ activityId = 0;
+ dailyUseTimes = 0;
+ nextPackage.clear();
+ quests.clear();
+ return this;
+ }
+
+ @Override
+ public ActivityDouble clearQuick() {
+ if (isEmpty()) {
+ return this;
+ }
+ cachedSize = -1;
+ bitField0_ = 0;
+ nextPackage.clear();
+ quests.clearQuick();
+ return this;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+ if (!(o instanceof ActivityDouble)) {
+ return false;
+ }
+ ActivityDouble other = (ActivityDouble) o;
+ return bitField0_ == other.bitField0_
+ && (!hasActivityId() || activityId == other.activityId)
+ && (!hasDailyUseTimes() || dailyUseTimes == other.dailyUseTimes)
+ && (!hasNextPackage() || nextPackage.equals(other.nextPackage))
+ && (!hasQuests() || quests.equals(other.quests));
+ }
+
+ @Override
+ public void writeTo(final ProtoSink output) throws IOException {
+ if ((bitField0_ & 0x00000001) != 0) {
+ output.writeRawByte((byte) 8);
+ output.writeUInt32NoTag(activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ output.writeRawByte((byte) 16);
+ output.writeUInt32NoTag(dailyUseTimes);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ output.writeRawLittleEndian16((short) 32762);
+ output.writeBytesNoTag(nextPackage);
+ }
+ if ((bitField0_ & 0x00000008) != 0) {
+ for (int i = 0; i < quests.length(); i++) {
+ output.writeRawByte((byte) 26);
+ output.writeMessageNoTag(quests.get(i));
+ }
+ }
+ }
+
+ @Override
+ protected int computeSerializedSize() {
+ int size = 0;
+ if ((bitField0_ & 0x00000001) != 0) {
+ size += 1 + ProtoSink.computeUInt32SizeNoTag(activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ size += 1 + ProtoSink.computeUInt32SizeNoTag(dailyUseTimes);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ size += 2 + ProtoSink.computeBytesSizeNoTag(nextPackage);
+ }
+ if ((bitField0_ & 0x00000008) != 0) {
+ size += (1 * quests.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(quests);
+ }
+ return size;
+ }
+
+ @Override
+ @SuppressWarnings("fallthrough")
+ public ActivityDouble mergeFrom(final ProtoSource input) throws IOException {
+ // Enabled Fall-Through Optimization (QuickBuffers)
+ int tag = input.readTag();
+ while (true) {
+ switch (tag) {
+ case 8: {
+ // activityId
+ activityId = input.readUInt32();
+ bitField0_ |= 0x00000001;
+ tag = input.readTag();
+ if (tag != 16) {
+ break;
+ }
+ }
+ case 16: {
+ // dailyUseTimes
+ dailyUseTimes = input.readUInt32();
+ bitField0_ |= 0x00000002;
+ tag = input.readTag();
+ if (tag != 16378) {
+ break;
+ }
+ }
+ case 16378: {
+ // nextPackage
+ input.readBytes(nextPackage);
+ bitField0_ |= 0x00000004;
+ tag = input.readTag();
+ if (tag != 26) {
+ break;
+ }
+ }
+ case 26: {
+ // quests
+ tag = input.readRepeatedMessage(quests, tag);
+ bitField0_ |= 0x00000008;
+ 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.activityId, activityId);
+ }
+ if ((bitField0_ & 0x00000002) != 0) {
+ output.writeUInt32(FieldNames.dailyUseTimes, dailyUseTimes);
+ }
+ if ((bitField0_ & 0x00000004) != 0) {
+ output.writeBytes(FieldNames.nextPackage, nextPackage);
+ }
+ if ((bitField0_ & 0x00000008) != 0) {
+ output.writeRepeatedMessage(FieldNames.quests, quests);
+ }
+ output.endObject();
+ }
+
+ @Override
+ public ActivityDouble mergeFrom(final JsonSource input) throws IOException {
+ if (!input.beginObject()) {
+ return this;
+ }
+ while (!input.isAtEnd()) {
+ switch (input.readFieldHash()) {
+ case -252882774: {
+ if (input.isAtField(FieldNames.activityId)) {
+ if (!input.trySkipNullValue()) {
+ activityId = input.readUInt32();
+ bitField0_ |= 0x00000001;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case 1822029592: {
+ if (input.isAtField(FieldNames.dailyUseTimes)) {
+ if (!input.trySkipNullValue()) {
+ dailyUseTimes = input.readUInt32();
+ bitField0_ |= 0x00000002;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case -2082324045: {
+ if (input.isAtField(FieldNames.nextPackage)) {
+ if (!input.trySkipNullValue()) {
+ input.readBytes(nextPackage);
+ bitField0_ |= 0x00000004;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case -1864830991: {
+ if (input.isAtField(FieldNames.quests)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(quests);
+ bitField0_ |= 0x00000008;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ default: {
+ input.skipUnknownField();
+ break;
+ }
+ }
+ }
+ input.endObject();
+ return this;
+ }
+
+ @Override
+ public ActivityDouble clone() {
+ return new ActivityDouble().copyFrom(this);
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return ((bitField0_) == 0);
+ }
+
+ public static ActivityDouble parseFrom(final byte[] data) throws
+ InvalidProtocolBufferException {
+ return ProtoMessage.mergeFrom(new ActivityDouble(), data).checkInitialized();
+ }
+
+ public static ActivityDouble parseFrom(final ProtoSource input) throws IOException {
+ return ProtoMessage.mergeFrom(new ActivityDouble(), input).checkInitialized();
+ }
+
+ public static ActivityDouble parseFrom(final JsonSource input) throws IOException {
+ return ProtoMessage.mergeFrom(new ActivityDouble(), input).checkInitialized();
+ }
+
+ /**
+ * @return factory for creating ActivityDouble messages
+ */
+ public static MessageFactory getFactory() {
+ return ActivityDoubleFactory.INSTANCE;
+ }
+
+ private enum ActivityDoubleFactory implements MessageFactory {
+ INSTANCE;
+
+ @Override
+ public ActivityDouble create() {
+ return ActivityDouble.newInstance();
+ }
+ }
+
+ /**
+ * Contains name constants used for serializing JSON
+ */
+ static class FieldNames {
+ static final FieldName activityId = FieldName.forField("ActivityId");
+
+ static final FieldName dailyUseTimes = FieldName.forField("DailyUseTimes");
+
+ static final FieldName nextPackage = FieldName.forField("NextPackage");
+
+ static final FieldName quests = FieldName.forField("Quests");
+ }
+ }
+
/**
* Protobuf type {@code AffinityInfo}
*/
diff --git a/src/generated/main/emu/nebula/proto/RegionBossLevelSettle.java b/src/generated/main/emu/nebula/proto/RegionBossLevelSettle.java
index 5edb37e..1d19f0b 100644
--- a/src/generated/main/emu/nebula/proto/RegionBossLevelSettle.java
+++ b/src/generated/main/emu/nebula/proto/RegionBossLevelSettle.java
@@ -534,6 +534,11 @@ public final class RegionBossLevelSettle {
*/
private final RepeatedMessage surpriseItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+
private RegionBossLevelSettleResp() {
}
@@ -1063,6 +1068,74 @@ public final class RegionBossLevelSettle {
return this;
}
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000200) != 0;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @return this
+ */
+ public RegionBossLevelSettleResp clearDoubleItems() {
+ bitField0_ &= ~0x00000200;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000200;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public RegionBossLevelSettleResp addDoubleItems(final Public.ItemTpl value) {
+ bitField0_ |= 0x00000200;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public RegionBossLevelSettleResp addAllDoubleItems(final Public.ItemTpl... values) {
+ bitField0_ |= 0x00000200;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public RegionBossLevelSettleResp copyFrom(final RegionBossLevelSettleResp other) {
cachedSize = other.cachedSize;
@@ -1077,6 +1150,7 @@ public final class RegionBossLevelSettle {
firstItems.copyFrom(other.firstItems);
threeStarItems.copyFrom(other.threeStarItems);
surpriseItems.copyFrom(other.surpriseItems);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -1114,6 +1188,9 @@ public final class RegionBossLevelSettle {
if (other.hasSurpriseItems()) {
getMutableSurpriseItems().addAll(other.surpriseItems);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -1133,6 +1210,7 @@ public final class RegionBossLevelSettle {
firstItems.clear();
threeStarItems.clear();
surpriseItems.clear();
+ doubleItems.clear();
return this;
}
@@ -1149,6 +1227,7 @@ public final class RegionBossLevelSettle {
firstItems.clearQuick();
threeStarItems.clearQuick();
surpriseItems.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -1170,7 +1249,8 @@ public final class RegionBossLevelSettle {
&& (!hasAwardItems() || awardItems.equals(other.awardItems))
&& (!hasFirstItems() || firstItems.equals(other.firstItems))
&& (!hasThreeStarItems() || threeStarItems.equals(other.threeStarItems))
- && (!hasSurpriseItems() || surpriseItems.equals(other.surpriseItems));
+ && (!hasSurpriseItems() || surpriseItems.equals(other.surpriseItems))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -1219,6 +1299,12 @@ public final class RegionBossLevelSettle {
output.writeMessageNoTag(surpriseItems.get(i));
}
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 74);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -1251,6 +1337,9 @@ public final class RegionBossLevelSettle {
if ((bitField0_ & 0x00000100) != 0) {
size += (1 * surpriseItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(surpriseItems);
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -1334,6 +1423,14 @@ public final class RegionBossLevelSettle {
// surpriseItems
tag = input.readRepeatedMessage(surpriseItems, tag);
bitField0_ |= 0x00000100;
+ if (tag != 74) {
+ break;
+ }
+ }
+ case 74: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000200;
if (tag != 0) {
break;
}
@@ -1382,6 +1479,9 @@ public final class RegionBossLevelSettle {
if ((bitField0_ & 0x00000100) != 0) {
output.writeRepeatedMessage(FieldNames.surpriseItems, surpriseItems);
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -1491,6 +1591,17 @@ public final class RegionBossLevelSettle {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000200;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1561,6 +1672,8 @@ public final class RegionBossLevelSettle {
static final FieldName threeStarItems = FieldName.forField("ThreeStarItems");
static final FieldName surpriseItems = FieldName.forField("SurpriseItems");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
}
diff --git a/src/generated/main/emu/nebula/proto/RegionBossLevelSweep.java b/src/generated/main/emu/nebula/proto/RegionBossLevelSweep.java
index 58bc4d9..f2b3f99 100644
--- a/src/generated/main/emu/nebula/proto/RegionBossLevelSweep.java
+++ b/src/generated/main/emu/nebula/proto/RegionBossLevelSweep.java
@@ -1086,6 +1086,11 @@ public final class RegionBossLevelSweep {
*/
private final RepeatedMessage awardItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+
private RegionBossLevelSweepRewards() {
}
@@ -1280,6 +1285,74 @@ public final class RegionBossLevelSweep {
return this;
}
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000008) != 0;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @return this
+ */
+ public RegionBossLevelSweepRewards clearDoubleItems() {
+ bitField0_ &= ~0x00000008;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000008;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public RegionBossLevelSweepRewards addDoubleItems(final Public.ItemTpl value) {
+ bitField0_ |= 0x00000008;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public RegionBossLevelSweepRewards addAllDoubleItems(final Public.ItemTpl... values) {
+ bitField0_ |= 0x00000008;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public RegionBossLevelSweepRewards copyFrom(final RegionBossLevelSweepRewards other) {
cachedSize = other.cachedSize;
@@ -1288,6 +1361,7 @@ public final class RegionBossLevelSweep {
exp = other.exp;
nextPackage.copyFrom(other.nextPackage);
awardItems.copyFrom(other.awardItems);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -1307,6 +1381,9 @@ public final class RegionBossLevelSweep {
if (other.hasAwardItems()) {
getMutableAwardItems().addAll(other.awardItems);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -1320,6 +1397,7 @@ public final class RegionBossLevelSweep {
exp = 0;
nextPackage.clear();
awardItems.clear();
+ doubleItems.clear();
return this;
}
@@ -1332,6 +1410,7 @@ public final class RegionBossLevelSweep {
bitField0_ = 0;
nextPackage.clear();
awardItems.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -1347,7 +1426,8 @@ public final class RegionBossLevelSweep {
return bitField0_ == other.bitField0_
&& (!hasExp() || exp == other.exp)
&& (!hasNextPackage() || nextPackage.equals(other.nextPackage))
- && (!hasAwardItems() || awardItems.equals(other.awardItems));
+ && (!hasAwardItems() || awardItems.equals(other.awardItems))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -1366,6 +1446,12 @@ public final class RegionBossLevelSweep {
output.writeMessageNoTag(awardItems.get(i));
}
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 26);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -1380,6 +1466,9 @@ public final class RegionBossLevelSweep {
if ((bitField0_ & 0x00000004) != 0) {
size += (1 * awardItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(awardItems);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -1412,6 +1501,14 @@ public final class RegionBossLevelSweep {
// awardItems
tag = input.readRepeatedMessage(awardItems, tag);
bitField0_ |= 0x00000004;
+ if (tag != 26) {
+ break;
+ }
+ }
+ case 26: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000008;
if (tag != 0) {
break;
}
@@ -1442,6 +1539,9 @@ public final class RegionBossLevelSweep {
if ((bitField0_ & 0x00000004) != 0) {
output.writeRepeatedMessage(FieldNames.awardItems, awardItems);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -1485,6 +1585,17 @@ public final class RegionBossLevelSweep {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000008;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1544,6 +1655,8 @@ public final class RegionBossLevelSweep {
static final FieldName nextPackage = FieldName.forField("NextPackage");
static final FieldName awardItems = FieldName.forField("AwardItems");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
}
diff --git a/src/generated/main/emu/nebula/proto/SkillInstanceSettle.java b/src/generated/main/emu/nebula/proto/SkillInstanceSettle.java
index 2c27bb8..e15aa3b 100644
--- a/src/generated/main/emu/nebula/proto/SkillInstanceSettle.java
+++ b/src/generated/main/emu/nebula/proto/SkillInstanceSettle.java
@@ -534,6 +534,11 @@ public final class SkillInstanceSettle {
*/
private final RepeatedMessage surpriseItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+
private SkillInstanceSettleResp() {
}
@@ -1063,6 +1068,74 @@ public final class SkillInstanceSettle {
return this;
}
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000200) != 0;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @return this
+ */
+ public SkillInstanceSettleResp clearDoubleItems() {
+ bitField0_ &= ~0x00000200;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000200;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public SkillInstanceSettleResp addDoubleItems(final Public.ItemTpl value) {
+ bitField0_ |= 0x00000200;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 9;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public SkillInstanceSettleResp addAllDoubleItems(final Public.ItemTpl... values) {
+ bitField0_ |= 0x00000200;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public SkillInstanceSettleResp copyFrom(final SkillInstanceSettleResp other) {
cachedSize = other.cachedSize;
@@ -1077,6 +1150,7 @@ public final class SkillInstanceSettle {
firstItems.copyFrom(other.firstItems);
threeStarItems.copyFrom(other.threeStarItems);
surpriseItems.copyFrom(other.surpriseItems);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -1114,6 +1188,9 @@ public final class SkillInstanceSettle {
if (other.hasSurpriseItems()) {
getMutableSurpriseItems().addAll(other.surpriseItems);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -1133,6 +1210,7 @@ public final class SkillInstanceSettle {
firstItems.clear();
threeStarItems.clear();
surpriseItems.clear();
+ doubleItems.clear();
return this;
}
@@ -1149,6 +1227,7 @@ public final class SkillInstanceSettle {
firstItems.clearQuick();
threeStarItems.clearQuick();
surpriseItems.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -1170,7 +1249,8 @@ public final class SkillInstanceSettle {
&& (!hasAwardItems() || awardItems.equals(other.awardItems))
&& (!hasFirstItems() || firstItems.equals(other.firstItems))
&& (!hasThreeStarItems() || threeStarItems.equals(other.threeStarItems))
- && (!hasSurpriseItems() || surpriseItems.equals(other.surpriseItems));
+ && (!hasSurpriseItems() || surpriseItems.equals(other.surpriseItems))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -1219,6 +1299,12 @@ public final class SkillInstanceSettle {
output.writeMessageNoTag(surpriseItems.get(i));
}
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 74);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -1251,6 +1337,9 @@ public final class SkillInstanceSettle {
if ((bitField0_ & 0x00000100) != 0) {
size += (1 * surpriseItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(surpriseItems);
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -1334,6 +1423,14 @@ public final class SkillInstanceSettle {
// surpriseItems
tag = input.readRepeatedMessage(surpriseItems, tag);
bitField0_ |= 0x00000100;
+ if (tag != 74) {
+ break;
+ }
+ }
+ case 74: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000200;
if (tag != 0) {
break;
}
@@ -1382,6 +1479,9 @@ public final class SkillInstanceSettle {
if ((bitField0_ & 0x00000100) != 0) {
output.writeRepeatedMessage(FieldNames.surpriseItems, surpriseItems);
}
+ if ((bitField0_ & 0x00000200) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -1491,6 +1591,17 @@ public final class SkillInstanceSettle {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000200;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1561,6 +1672,8 @@ public final class SkillInstanceSettle {
static final FieldName threeStarItems = FieldName.forField("ThreeStarItems");
static final FieldName surpriseItems = FieldName.forField("SurpriseItems");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
}
diff --git a/src/generated/main/emu/nebula/proto/SkillInstanceSweep.java b/src/generated/main/emu/nebula/proto/SkillInstanceSweep.java
index fc3be64..0fcde02 100644
--- a/src/generated/main/emu/nebula/proto/SkillInstanceSweep.java
+++ b/src/generated/main/emu/nebula/proto/SkillInstanceSweep.java
@@ -1086,6 +1086,11 @@ public final class SkillInstanceSweep {
*/
private final RepeatedMessage awardItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ */
+ private final RepeatedMessage doubleItems = RepeatedMessage.newEmptyInstance(Public.ItemTpl.getFactory());
+
private SkillInstanceSweepRewards() {
}
@@ -1280,6 +1285,74 @@ public final class SkillInstanceSweep {
return this;
}
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @return whether the doubleItems field is set
+ */
+ public boolean hasDoubleItems() {
+ return (bitField0_ & 0x00000008) != 0;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @return this
+ */
+ public SkillInstanceSweepRewards clearDoubleItems() {
+ bitField0_ &= ~0x00000008;
+ doubleItems.clear();
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ *
+ * This method returns the internal storage object without modifying any has state.
+ * The returned object should not be modified and be treated as read-only.
+ *
+ * Use {@link #getMutableDoubleItems()} if you want to modify it.
+ *
+ * @return internal storage object for reading
+ */
+ public RepeatedMessage getDoubleItems() {
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ *
+ * This method returns the internal storage object and sets the corresponding
+ * has state. The returned object will become part of this message and its
+ * contents may be modified as long as the has state is not cleared.
+ *
+ * @return internal storage object for modifications
+ */
+ public RepeatedMessage getMutableDoubleItems() {
+ bitField0_ |= 0x00000008;
+ return doubleItems;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @param value the doubleItems to add
+ * @return this
+ */
+ public SkillInstanceSweepRewards addDoubleItems(final Public.ItemTpl value) {
+ bitField0_ |= 0x00000008;
+ doubleItems.add(value);
+ return this;
+ }
+
+ /**
+ * repeated .ItemTpl DoubleItems = 3;
+ * @param values the doubleItems to add
+ * @return this
+ */
+ public SkillInstanceSweepRewards addAllDoubleItems(final Public.ItemTpl... values) {
+ bitField0_ |= 0x00000008;
+ doubleItems.addAll(values);
+ return this;
+ }
+
@Override
public SkillInstanceSweepRewards copyFrom(final SkillInstanceSweepRewards other) {
cachedSize = other.cachedSize;
@@ -1288,6 +1361,7 @@ public final class SkillInstanceSweep {
exp = other.exp;
nextPackage.copyFrom(other.nextPackage);
awardItems.copyFrom(other.awardItems);
+ doubleItems.copyFrom(other.doubleItems);
}
return this;
}
@@ -1307,6 +1381,9 @@ public final class SkillInstanceSweep {
if (other.hasAwardItems()) {
getMutableAwardItems().addAll(other.awardItems);
}
+ if (other.hasDoubleItems()) {
+ getMutableDoubleItems().addAll(other.doubleItems);
+ }
return this;
}
@@ -1320,6 +1397,7 @@ public final class SkillInstanceSweep {
exp = 0;
nextPackage.clear();
awardItems.clear();
+ doubleItems.clear();
return this;
}
@@ -1332,6 +1410,7 @@ public final class SkillInstanceSweep {
bitField0_ = 0;
nextPackage.clear();
awardItems.clearQuick();
+ doubleItems.clearQuick();
return this;
}
@@ -1347,7 +1426,8 @@ public final class SkillInstanceSweep {
return bitField0_ == other.bitField0_
&& (!hasExp() || exp == other.exp)
&& (!hasNextPackage() || nextPackage.equals(other.nextPackage))
- && (!hasAwardItems() || awardItems.equals(other.awardItems));
+ && (!hasAwardItems() || awardItems.equals(other.awardItems))
+ && (!hasDoubleItems() || doubleItems.equals(other.doubleItems));
}
@Override
@@ -1366,6 +1446,12 @@ public final class SkillInstanceSweep {
output.writeMessageNoTag(awardItems.get(i));
}
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ for (int i = 0; i < doubleItems.length(); i++) {
+ output.writeRawByte((byte) 26);
+ output.writeMessageNoTag(doubleItems.get(i));
+ }
+ }
}
@Override
@@ -1380,6 +1466,9 @@ public final class SkillInstanceSweep {
if ((bitField0_ & 0x00000004) != 0) {
size += (1 * awardItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(awardItems);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ size += (1 * doubleItems.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(doubleItems);
+ }
return size;
}
@@ -1412,6 +1501,14 @@ public final class SkillInstanceSweep {
// awardItems
tag = input.readRepeatedMessage(awardItems, tag);
bitField0_ |= 0x00000004;
+ if (tag != 26) {
+ break;
+ }
+ }
+ case 26: {
+ // doubleItems
+ tag = input.readRepeatedMessage(doubleItems, tag);
+ bitField0_ |= 0x00000008;
if (tag != 0) {
break;
}
@@ -1442,6 +1539,9 @@ public final class SkillInstanceSweep {
if ((bitField0_ & 0x00000004) != 0) {
output.writeRepeatedMessage(FieldNames.awardItems, awardItems);
}
+ if ((bitField0_ & 0x00000008) != 0) {
+ output.writeRepeatedMessage(FieldNames.doubleItems, doubleItems);
+ }
output.endObject();
}
@@ -1485,6 +1585,17 @@ public final class SkillInstanceSweep {
}
break;
}
+ case 29810255: {
+ if (input.isAtField(FieldNames.doubleItems)) {
+ if (!input.trySkipNullValue()) {
+ input.readRepeatedMessage(doubleItems);
+ bitField0_ |= 0x00000008;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
default: {
input.skipUnknownField();
break;
@@ -1543,6 +1654,8 @@ public final class SkillInstanceSweep {
static final FieldName nextPackage = FieldName.forField("NextPackage");
static final FieldName awardItems = FieldName.forField("AwardItems");
+
+ static final FieldName doubleItems = FieldName.forField("DoubleItems");
}
}
}
diff --git a/src/main/java/emu/nebula/GameConstants.java b/src/main/java/emu/nebula/GameConstants.java
index 2f17e0a..2cf56ea 100644
--- a/src/main/java/emu/nebula/GameConstants.java
+++ b/src/main/java/emu/nebula/GameConstants.java
@@ -7,7 +7,7 @@ import emu.nebula.game.inventory.ItemParamMap;
import emu.nebula.util.WeightedList;
public class GameConstants {
- public static final String VERSION = "1.11.0";
+ public static final String VERSION = "1.12.0";
public static int DATA_VERSION = 0;
public static final ZoneId UTC_ZONE = ZoneId.of("UTC");
@@ -45,7 +45,7 @@ public class GameConstants {
public static final int MAX_BUILDS = 100;
public static final int MAX_PRESETS = 50;
- public static final int BATTLE_PASS_ID = 7;
+ public static final int BATTLE_PASS_ID = 9;
public static final int MAX_FRIENDSHIPS = 50;
public static final int MAX_PENDING_FRIENDSHIPS = 30;
diff --git a/src/main/java/emu/nebula/data/resources/MallPackageDef.java b/src/main/java/emu/nebula/data/resources/MallPackageDef.java
index 32c9205..d885ea4 100644
--- a/src/main/java/emu/nebula/data/resources/MallPackageDef.java
+++ b/src/main/java/emu/nebula/data/resources/MallPackageDef.java
@@ -8,7 +8,6 @@ import emu.nebula.Nebula;
import emu.nebula.game.inventory.ItemParamMap;
import emu.nebula.game.player.Player;
import emu.nebula.util.JsonUtils;
-import emu.nebula.util.ResetCycle;
import emu.nebula.util.Utils;
import lombok.Getter;
diff --git a/src/main/java/emu/nebula/game/activity/ActivityModule.java b/src/main/java/emu/nebula/game/activity/ActivityModule.java
index 221c8be..9b0d8d4 100644
--- a/src/main/java/emu/nebula/game/activity/ActivityModule.java
+++ b/src/main/java/emu/nebula/game/activity/ActivityModule.java
@@ -60,9 +60,14 @@ public class ActivityModule extends GameContextModule {
//this.activities.add(1010704);
// Heartbeat! Neo-Inspired Rhapsody
- this.activities.add(1010801);
- this.activities.add(1010803);
- this.activities.add(1010804);
+ //this.activities.add(1010801);
+ //this.activities.add(1010803);
+ //this.activities.add(1010804);
+
+ // A Sandstorm of Gunfire
+ this.activities.add(1010901);
+ this.activities.add(1010903);
+ this.activities.add(1010904);
// ===== Joint Drills (Finale Echoing) =====
//this.activities.add(510003); // Causes soft lock in event screen
@@ -70,8 +75,8 @@ public class ActivityModule extends GameContextModule {
// ===== Etc Events =====
// Trial activities
- this.activities.add(700117);
- this.activities.add(700118);
+ this.activities.add(700123);
+ this.activities.add(700124);
// Tower defense activity
this.activities.add(102002); // Broken
@@ -79,8 +84,8 @@ public class ActivityModule extends GameContextModule {
// Login events
//this.activities.add(301011); // Christmas 2025
//this.activities.add(301012); // Christmas 2025
- this.activities.add(301031); // Stellar Prelude
- this.activities.add(301033); // Price of the Star
+ //this.activities.add(301031); // Stellar Prelude
+ //this.activities.add(301033); // Price of the Star
// Fatebound Stellar Deck
//this.activities.add(800001); // Causes soft lock in event screen
diff --git a/src/main/java/emu/nebula/game/activity/ActivityType.java b/src/main/java/emu/nebula/game/activity/ActivityType.java
index 3c8744d..0145b5b 100644
--- a/src/main/java/emu/nebula/game/activity/ActivityType.java
+++ b/src/main/java/emu/nebula/game/activity/ActivityType.java
@@ -5,29 +5,32 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import lombok.Getter;
public enum ActivityType {
- None (0),
- PeriodicQuest (1),
- LoginReward (2),
- Mining (3),
- Cookie (4),
- TowerDefense (5),
- Trial (6),
- JointDrill (7),
- CG (8),
- Levels (9),
- Avg (10),
- Task (11),
- Shop (12),
- Advertise (13),
- BDConvert (14),
- Breakout (15),
- TrekkerVersus (16),
- Story (17),
- PenguinCard (18),
- ThrowGift (19),
- GoldenSpy (20),
- Double (21),
- HistoryStory (22);
+ None (0),
+ PeriodicQuest (1),
+ LoginReward (2),
+ Mining (3),
+ Cookie (4),
+ TowerDefense (5),
+ Trial (6),
+ JointDrill (7),
+ CG (8),
+ Levels (9),
+ Avg (10),
+ Task (11),
+ Shop (12),
+ Advertise (13),
+ BDConvert (14),
+ Breakout (15),
+ TrekkerVersus (16),
+ Story (17),
+ PenguinCard (18),
+ ThrowGift (19),
+ GoldenSpy (20),
+ Double (21),
+ HistoryStory (22),
+ IceCream (23),
+ FollowSocialMedia (24),
+ Soldier (25);
@Getter
private final int value;
diff --git a/src/main/java/emu/nebula/game/inventory/ItemType.java b/src/main/java/emu/nebula/game/inventory/ItemType.java
index 365c89d..66b9426 100644
--- a/src/main/java/emu/nebula/game/inventory/ItemType.java
+++ b/src/main/java/emu/nebula/game/inventory/ItemType.java
@@ -18,7 +18,9 @@ public enum ItemType {
Title (12),
Honor (13),
HeadItem (14),
- LevelHonor (15);
+ LevelHonor (15),
+ TraceRequest (16),
+ HuntPermit (17);
@Getter
private final int value;
diff --git a/src/main/java/emu/nebula/net/NetMsgId.java b/src/main/java/emu/nebula/net/NetMsgId.java
index ea02184..623c67a 100644
--- a/src/main/java/emu/nebula/net/NetMsgId.java
+++ b/src/main/java/emu/nebula/net/NetMsgId.java
@@ -700,6 +700,9 @@ public class NetMsgId {
public static final int activity_penguin_card_quest_reward_receive_req = 8404;
public static final int activity_penguin_card_quest_reward_receive_succeed_ack = 8405;
public static final int activity_penguin_card_quest_reward_receive_failed_ack = 8406;
+ public static final int activity_double_quest_reward_receive_req = 8407;
+ public static final int activity_double_quest_reward_receive_succeed_ack = 8408;
+ public static final int activity_double_quest_reward_receive_failed_ack = 8409;
public static final int mail_list_req = 9001;
public static final int mail_list_succeed_ack = 9002;
public static final int mail_list_failed_ack = 9003;
@@ -882,6 +885,7 @@ public class NetMsgId {
public static final int activity_end_item_change_notify = 10053;
public static final int item_expired_change_notify = 10054;
public static final int milkout_character_unlock_notify = 10055;
+ public static final int activity_double_reward_times_notify = 10056;
public static final int activity_mining_apply_req = 11001;
public static final int activity_mining_apply_succeed_ack = 11002;
public static final int activity_mining_apply_failed_ack = 11003;
diff --git a/src/main/java/emu/nebula/server/handlers/HandlerBattlePassOrderReq.java b/src/main/java/emu/nebula/server/handlers/HandlerBattlePassOrderReq.java
index d6ef067..8faabf3 100644
--- a/src/main/java/emu/nebula/server/handlers/HandlerBattlePassOrderReq.java
+++ b/src/main/java/emu/nebula/server/handlers/HandlerBattlePassOrderReq.java
@@ -7,7 +7,6 @@ import emu.nebula.net.HandlerId;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.BattlePassOrder.BattlePassOrderReq;
-import emu.nebula.proto.MallGemOrder.OrderInfo;
@HandlerId(NetMsgId.battle_pass_order_req)
public class HandlerBattlePassOrderReq extends NetHandler {
diff --git a/src/main/resources/versions.json b/src/main/resources/versions.json
index 36bf6d0..337f03c 100644
--- a/src/main/resources/versions.json
+++ b/src/main/resources/versions.json
@@ -1,7 +1,7 @@
{
- "global": 117,
- "kr": 121,
- "jp": 121,
- "tw": 127,
- "cn": 117
+ "global": 120,
+ "kr": 124,
+ "jp": 124,
+ "tw": 130,
+ "cn": 120
}
\ No newline at end of file