diff --git a/src/generated/main/emu/nebula/proto/Public.java b/src/generated/main/emu/nebula/proto/Public.java
index 23ce4ff..20be4dd 100644
--- a/src/generated/main/emu/nebula/proto/Public.java
+++ b/src/generated/main/emu/nebula/proto/Public.java
@@ -53533,11 +53533,21 @@ public final class Public {
*/
private int score;
+ /**
+ * optional uint32 Difficulty = 4;
+ */
+ private int difficulty;
+
/**
* optional bytes NextPackage = 2047;
*/
private final RepeatedByte nextPackage = RepeatedByte.newEmptyInstance();
+ /**
+ * optional string Data = 5;
+ */
+ private final Utf8String data = Utf8String.newEmptyInstance();
+
private ActivityPenguinCardLevel() {
}
@@ -53659,12 +53669,49 @@ public final class Public {
return this;
}
+ /**
+ * optional uint32 Difficulty = 4;
+ * @return whether the difficulty field is set
+ */
+ public boolean hasDifficulty() {
+ return (bitField0_ & 0x00000008) != 0;
+ }
+
+ /**
+ * optional uint32 Difficulty = 4;
+ * @return this
+ */
+ public ActivityPenguinCardLevel clearDifficulty() {
+ bitField0_ &= ~0x00000008;
+ difficulty = 0;
+ return this;
+ }
+
+ /**
+ * optional uint32 Difficulty = 4;
+ * @return the difficulty
+ */
+ public int getDifficulty() {
+ return difficulty;
+ }
+
+ /**
+ * optional uint32 Difficulty = 4;
+ * @param value the difficulty to set
+ * @return this
+ */
+ public ActivityPenguinCardLevel setDifficulty(final int value) {
+ bitField0_ |= 0x00000008;
+ difficulty = value;
+ return this;
+ }
+
/**
* optional bytes NextPackage = 2047;
* @return whether the nextPackage field is set
*/
public boolean hasNextPackage() {
- return (bitField0_ & 0x00000008) != 0;
+ return (bitField0_ & 0x00000010) != 0;
}
/**
@@ -53672,7 +53719,7 @@ public final class Public {
* @return this
*/
public ActivityPenguinCardLevel clearNextPackage() {
- bitField0_ &= ~0x00000008;
+ bitField0_ &= ~0x00000010;
nextPackage.clear();
return this;
}
@@ -53701,7 +53748,7 @@ public final class Public {
* @return internal storage object for modifications
*/
public RepeatedByte getMutableNextPackage() {
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000010;
return nextPackage;
}
@@ -53711,7 +53758,7 @@ public final class Public {
* @return this
*/
public ActivityPenguinCardLevel addNextPackage(final byte value) {
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000010;
nextPackage.add(value);
return this;
}
@@ -53722,7 +53769,7 @@ public final class Public {
* @return this
*/
public ActivityPenguinCardLevel addAllNextPackage(final byte... values) {
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000010;
nextPackage.addAll(values);
return this;
}
@@ -53733,11 +53780,76 @@ public final class Public {
* @return this
*/
public ActivityPenguinCardLevel setNextPackage(final byte... values) {
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000010;
nextPackage.copyFrom(values);
return this;
}
+ /**
+ * optional string Data = 5;
+ * @return whether the data field is set
+ */
+ public boolean hasData() {
+ return (bitField0_ & 0x00000020) != 0;
+ }
+
+ /**
+ * optional string Data = 5;
+ * @return this
+ */
+ public ActivityPenguinCardLevel clearData() {
+ bitField0_ &= ~0x00000020;
+ data.clear();
+ return this;
+ }
+
+ /**
+ * optional string Data = 5;
+ * @return the data
+ */
+ public java.lang.String getData() {
+ return data.getString();
+ }
+
+ /**
+ * optional string Data = 5;
+ * @return internal {@code Utf8String} representation of data for reading
+ */
+ public Utf8String getDataBytes() {
+ return this.data;
+ }
+
+ /**
+ * optional string Data = 5;
+ * @return internal {@code Utf8String} representation of data for modifications
+ */
+ public Utf8String getMutableDataBytes() {
+ bitField0_ |= 0x00000020;
+ return this.data;
+ }
+
+ /**
+ * optional string Data = 5;
+ * @param value the data to set
+ * @return this
+ */
+ public ActivityPenguinCardLevel setData(final CharSequence value) {
+ bitField0_ |= 0x00000020;
+ data.copyFrom(value);
+ return this;
+ }
+
+ /**
+ * optional string Data = 5;
+ * @param value the data to set
+ * @return this
+ */
+ public ActivityPenguinCardLevel setData(final Utf8String value) {
+ bitField0_ |= 0x00000020;
+ data.copyFrom(value);
+ return this;
+ }
+
@Override
public ActivityPenguinCardLevel copyFrom(final ActivityPenguinCardLevel other) {
cachedSize = other.cachedSize;
@@ -53746,7 +53858,9 @@ public final class Public {
id = other.id;
star = other.star;
score = other.score;
+ difficulty = other.difficulty;
nextPackage.copyFrom(other.nextPackage);
+ data.copyFrom(other.data);
}
return this;
}
@@ -53766,9 +53880,15 @@ public final class Public {
if (other.hasScore()) {
setScore(other.score);
}
+ if (other.hasDifficulty()) {
+ setDifficulty(other.difficulty);
+ }
if (other.hasNextPackage()) {
getMutableNextPackage().copyFrom(other.nextPackage);
}
+ if (other.hasData()) {
+ getMutableDataBytes().copyFrom(other.data);
+ }
return this;
}
@@ -53782,7 +53902,9 @@ public final class Public {
id = 0;
star = 0;
score = 0;
+ difficulty = 0;
nextPackage.clear();
+ data.clear();
return this;
}
@@ -53794,6 +53916,7 @@ public final class Public {
cachedSize = -1;
bitField0_ = 0;
nextPackage.clear();
+ data.clear();
return this;
}
@@ -53810,7 +53933,9 @@ public final class Public {
&& (!hasId() || id == other.id)
&& (!hasStar() || star == other.star)
&& (!hasScore() || score == other.score)
- && (!hasNextPackage() || nextPackage.equals(other.nextPackage));
+ && (!hasDifficulty() || difficulty == other.difficulty)
+ && (!hasNextPackage() || nextPackage.equals(other.nextPackage))
+ && (!hasData() || data.equals(other.data));
}
@Override
@@ -53828,9 +53953,17 @@ public final class Public {
output.writeUInt32NoTag(score);
}
if ((bitField0_ & 0x00000008) != 0) {
+ output.writeRawByte((byte) 32);
+ output.writeUInt32NoTag(difficulty);
+ }
+ if ((bitField0_ & 0x00000010) != 0) {
output.writeRawLittleEndian16((short) 32762);
output.writeBytesNoTag(nextPackage);
}
+ if ((bitField0_ & 0x00000020) != 0) {
+ output.writeRawByte((byte) 42);
+ output.writeStringNoTag(data);
+ }
}
@Override
@@ -53846,8 +53979,14 @@ public final class Public {
size += 1 + ProtoSink.computeUInt32SizeNoTag(score);
}
if ((bitField0_ & 0x00000008) != 0) {
+ size += 1 + ProtoSink.computeUInt32SizeNoTag(difficulty);
+ }
+ if ((bitField0_ & 0x00000010) != 0) {
size += 2 + ProtoSink.computeBytesSizeNoTag(nextPackage);
}
+ if ((bitField0_ & 0x00000020) != 0) {
+ size += 1 + ProtoSink.computeStringSizeNoTag(data);
+ }
return size;
}
@@ -53881,6 +54020,15 @@ public final class Public {
score = input.readUInt32();
bitField0_ |= 0x00000004;
tag = input.readTag();
+ if (tag != 32) {
+ break;
+ }
+ }
+ case 32: {
+ // difficulty
+ difficulty = input.readUInt32();
+ bitField0_ |= 0x00000008;
+ tag = input.readTag();
if (tag != 16378) {
break;
}
@@ -53888,7 +54036,16 @@ public final class Public {
case 16378: {
// nextPackage
input.readBytes(nextPackage);
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000010;
+ tag = input.readTag();
+ if (tag != 42) {
+ break;
+ }
+ }
+ case 42: {
+ // data
+ input.readString(data);
+ bitField0_ |= 0x00000020;
tag = input.readTag();
if (tag != 0) {
break;
@@ -53921,8 +54078,14 @@ public final class Public {
output.writeUInt32(FieldNames.score, score);
}
if ((bitField0_ & 0x00000008) != 0) {
+ output.writeUInt32(FieldNames.difficulty, difficulty);
+ }
+ if ((bitField0_ & 0x00000010) != 0) {
output.writeBytes(FieldNames.nextPackage, nextPackage);
}
+ if ((bitField0_ & 0x00000020) != 0) {
+ output.writeString(FieldNames.data, data);
+ }
output.endObject();
}
@@ -53966,11 +54129,33 @@ public final class Public {
}
break;
}
+ case -472001573: {
+ if (input.isAtField(FieldNames.difficulty)) {
+ if (!input.trySkipNullValue()) {
+ difficulty = input.readUInt32();
+ bitField0_ |= 0x00000008;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
case -2082324045: {
if (input.isAtField(FieldNames.nextPackage)) {
if (!input.trySkipNullValue()) {
input.readBytes(nextPackage);
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000010;
+ }
+ } else {
+ input.skipUnknownField();
+ }
+ break;
+ }
+ case 2122698: {
+ if (input.isAtField(FieldNames.data)) {
+ if (!input.trySkipNullValue()) {
+ input.readString(data);
+ bitField0_ |= 0x00000020;
}
} else {
input.skipUnknownField();
@@ -54036,7 +54221,11 @@ public final class Public {
static final FieldName score = FieldName.forField("Score");
+ static final FieldName difficulty = FieldName.forField("Difficulty");
+
static final FieldName nextPackage = FieldName.forField("NextPackage");
+
+ static final FieldName data = FieldName.forField("Data");
}
}
diff --git a/src/main/java/emu/nebula/GameConstants.java b/src/main/java/emu/nebula/GameConstants.java
index 0312dc1..03740eb 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.13.0";
+ public static final String VERSION = "1.14.0";
public static int DATA_VERSION = 0;
public static final ZoneId UTC_ZONE = ZoneId.of("UTC");
diff --git a/src/main/java/emu/nebula/game/activity/ActivityModule.java b/src/main/java/emu/nebula/game/activity/ActivityModule.java
index 83bf409..ff5a05a 100644
--- a/src/main/java/emu/nebula/game/activity/ActivityModule.java
+++ b/src/main/java/emu/nebula/game/activity/ActivityModule.java
@@ -70,9 +70,14 @@ public class ActivityModule extends GameContextModule {
//this.activities.add(1010904);
// Checking In for A Cozy Summer
- this.activities.add(2010301);
- this.activities.add(2010303);
- this.activities.add(2010304);
+ //this.activities.add(2010301);
+ //this.activities.add(2010303);
+ //this.activities.add(2010304);
+
+ // Surfing Splash: A Sparkling Holiday Adventure!
+ this.activities.add(1011001);
+ this.activities.add(1011003);
+ this.activities.add(1011004);
// ===== Joint Drills (Finale Echoing) =====
//this.activities.add(510003); // Causes soft lock in event screen
@@ -80,8 +85,8 @@ public class ActivityModule extends GameContextModule {
// ===== Etc Events =====
// Trial activities
- this.activities.add(700123);
- this.activities.add(700124);
+ this.activities.add(700127);
+ this.activities.add(700128);
// Tower defense activity
this.activities.add(102002); // Broken
diff --git a/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java b/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java
index b8f35e0..b91e7cb 100644
--- a/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java
+++ b/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java
@@ -452,7 +452,7 @@ public class TraceHuntManager extends PlayerManager implements GameDatabaseObjec
}
// Add exp
- this.addExp(150);
+ this.addExp(100);
// Save
this.save();
diff --git a/src/main/java/emu/nebula/net/NetMsgId.java b/src/main/java/emu/nebula/net/NetMsgId.java
index a535031..712816a 100644
--- a/src/main/java/emu/nebula/net/NetMsgId.java
+++ b/src/main/java/emu/nebula/net/NetMsgId.java
@@ -940,6 +940,7 @@ public class NetMsgId {
public static final int trace_hunt_new_control_notify = 10057;
public static final int trace_hunt_state_notify = 10058;
public static final int trace_hunt_item_change_notify = 10060;
+ public static final int score_boss_reset_score_notify = 10061;
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/resources/versions.json b/src/main/resources/versions.json
index ab454fd..5062b72 100644
--- a/src/main/resources/versions.json
+++ b/src/main/resources/versions.json
@@ -1,7 +1,7 @@
{
- "global": 127,
- "kr": 133,
- "jp": 131,
- "tw": 137,
- "cn": 127
+ "global": 129,
+ "kr": 135,
+ "jp": 133,
+ "tw": 139,
+ "cn": 129
}
\ No newline at end of file