diff --git a/.editorconfig b/.editorconfig index f0a1794..aa39c23 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,7 +7,7 @@ indent_style = space insert_final_newline = true max_line_length = 120 tab_width = 4 -trim_trailing_whitespace = true +trim_trailing_whitespace = false [{*.json,*.xml,*.yml,*.html}] indent_size = 2 diff --git a/src/generated/main/emu/lunarcore/proto/BattleAvatarOuterClass.java b/src/generated/main/emu/lunarcore/proto/BattleAvatarOuterClass.java index fc6c0e5..6afc064 100644 --- a/src/generated/main/emu/lunarcore/proto/BattleAvatarOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/BattleAvatarOuterClass.java @@ -65,6 +65,10 @@ public final class BattleAvatarOuterClass { private int avatarType; /** + *
+     * DGPADLEIDFM BLGGGJFHGCP = 15;
+     * 
+ * * optional .SpBarInfo sp_bar = 16; */ private final SpBarInfoOuterClass.SpBarInfo spBar = SpBarInfoOuterClass.SpBarInfo.newInstance(); @@ -453,6 +457,10 @@ public final class BattleAvatarOuterClass { } /** + *
+     * DGPADLEIDFM BLGGGJFHGCP = 15;
+     * 
+ * * optional .SpBarInfo sp_bar = 16; * @return whether the spBar field is set */ @@ -461,6 +469,10 @@ public final class BattleAvatarOuterClass { } /** + *
+     * DGPADLEIDFM BLGGGJFHGCP = 15;
+     * 
+ * * optional .SpBarInfo sp_bar = 16; * @return this */ @@ -471,6 +483,10 @@ public final class BattleAvatarOuterClass { } /** + *
+     * DGPADLEIDFM BLGGGJFHGCP = 15;
+     * 
+ * * optional .SpBarInfo sp_bar = 16; * * This method returns the internal storage object without modifying any has state. @@ -485,6 +501,10 @@ public final class BattleAvatarOuterClass { } /** + *
+     * DGPADLEIDFM BLGGGJFHGCP = 15;
+     * 
+ * * optional .SpBarInfo sp_bar = 16; * * This method returns the internal storage object and sets the corresponding @@ -499,6 +519,10 @@ public final class BattleAvatarOuterClass { } /** + *
+     * DGPADLEIDFM BLGGGJFHGCP = 15;
+     * 
+ * * optional .SpBarInfo sp_bar = 16; * @param value the spBar to set * @return this diff --git a/src/generated/main/emu/lunarcore/proto/BattleEventBattleInfoOuterClass.java b/src/generated/main/emu/lunarcore/proto/BattleEventBattleInfoOuterClass.java index 3688ee7..864afb7 100644 --- a/src/generated/main/emu/lunarcore/proto/BattleEventBattleInfoOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/BattleEventBattleInfoOuterClass.java @@ -10,6 +10,7 @@ import us.hebi.quickbuf.MessageFactory; import us.hebi.quickbuf.ProtoMessage; import us.hebi.quickbuf.ProtoSink; import us.hebi.quickbuf.ProtoSource; +import us.hebi.quickbuf.RepeatedMessage; public final class BattleEventBattleInfoOuterClass { /** @@ -28,6 +29,11 @@ public final class BattleEventBattleInfoOuterClass { */ private final BattleEventInitedDataOuterClass.BattleEventInitedData status = BattleEventInitedDataOuterClass.BattleEventInitedData.newInstance(); + /** + * repeated .BattleSkillInfo skill_list = 3; + */ + private final RepeatedMessage skillList = RepeatedMessage.newEmptyInstance(BattleSkillInfoOuterClass.BattleSkillInfo.getFactory()); + private BattleEventBattleInfo() { } @@ -133,6 +139,76 @@ public final class BattleEventBattleInfoOuterClass { return this; } + /** + * repeated .BattleSkillInfo skill_list = 3; + * @return whether the skillList field is set + */ + public boolean hasSkillList() { + return (bitField0_ & 0x00000004) != 0; + } + + /** + * repeated .BattleSkillInfo skill_list = 3; + * @return this + */ + public BattleEventBattleInfo clearSkillList() { + bitField0_ &= ~0x00000004; + skillList.clear(); + return this; + } + + /** + * repeated .BattleSkillInfo skill_list = 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 #getMutableSkillList()} if you want to modify it. + * + * @return internal storage object for reading + */ + public RepeatedMessage getSkillList() { + return skillList; + } + + /** + * repeated .BattleSkillInfo skill_list = 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 getMutableSkillList() { + bitField0_ |= 0x00000004; + return skillList; + } + + /** + * repeated .BattleSkillInfo skill_list = 3; + * @param value the skillList to add + * @return this + */ + public BattleEventBattleInfo addSkillList( + final BattleSkillInfoOuterClass.BattleSkillInfo value) { + bitField0_ |= 0x00000004; + skillList.add(value); + return this; + } + + /** + * repeated .BattleSkillInfo skill_list = 3; + * @param values the skillList to add + * @return this + */ + public BattleEventBattleInfo addAllSkillList( + final BattleSkillInfoOuterClass.BattleSkillInfo... values) { + bitField0_ |= 0x00000004; + skillList.addAll(values); + return this; + } + @Override public BattleEventBattleInfo copyFrom(final BattleEventBattleInfo other) { cachedSize = other.cachedSize; @@ -140,6 +216,7 @@ public final class BattleEventBattleInfoOuterClass { bitField0_ = other.bitField0_; battleEventId = other.battleEventId; status.copyFrom(other.status); + skillList.copyFrom(other.skillList); } return this; } @@ -156,6 +233,9 @@ public final class BattleEventBattleInfoOuterClass { if (other.hasStatus()) { getMutableStatus().mergeFrom(other.status); } + if (other.hasSkillList()) { + getMutableSkillList().addAll(other.skillList); + } return this; } @@ -168,6 +248,7 @@ public final class BattleEventBattleInfoOuterClass { bitField0_ = 0; battleEventId = 0; status.clear(); + skillList.clear(); return this; } @@ -179,6 +260,7 @@ public final class BattleEventBattleInfoOuterClass { cachedSize = -1; bitField0_ = 0; status.clearQuick(); + skillList.clearQuick(); return this; } @@ -193,7 +275,8 @@ public final class BattleEventBattleInfoOuterClass { BattleEventBattleInfo other = (BattleEventBattleInfo) o; return bitField0_ == other.bitField0_ && (!hasBattleEventId() || battleEventId == other.battleEventId) - && (!hasStatus() || status.equals(other.status)); + && (!hasStatus() || status.equals(other.status)) + && (!hasSkillList() || skillList.equals(other.skillList)); } @Override @@ -206,6 +289,12 @@ public final class BattleEventBattleInfoOuterClass { output.writeRawByte((byte) 18); output.writeMessageNoTag(status); } + if ((bitField0_ & 0x00000004) != 0) { + for (int i = 0; i < skillList.length(); i++) { + output.writeRawByte((byte) 26); + output.writeMessageNoTag(skillList.get(i)); + } + } } @Override @@ -217,6 +306,9 @@ public final class BattleEventBattleInfoOuterClass { if ((bitField0_ & 0x00000002) != 0) { size += 1 + ProtoSink.computeMessageSizeNoTag(status); } + if ((bitField0_ & 0x00000004) != 0) { + size += (1 * skillList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(skillList); + } return size; } @@ -241,6 +333,14 @@ public final class BattleEventBattleInfoOuterClass { input.readMessage(status); bitField0_ |= 0x00000002; tag = input.readTag(); + if (tag != 26) { + break; + } + } + case 26: { + // skillList + tag = input.readRepeatedMessage(skillList, tag); + bitField0_ |= 0x00000004; if (tag != 0) { break; } @@ -268,6 +368,9 @@ public final class BattleEventBattleInfoOuterClass { if ((bitField0_ & 0x00000002) != 0) { output.writeMessage(FieldNames.status, status); } + if ((bitField0_ & 0x00000004) != 0) { + output.writeRepeatedMessage(FieldNames.skillList, skillList); + } output.endObject(); } @@ -301,6 +404,18 @@ public final class BattleEventBattleInfoOuterClass { } break; } + case 1990942351: + case 1607297484: { + if (input.isAtField(FieldNames.skillList)) { + if (!input.trySkipNullValue()) { + input.readRepeatedMessage(skillList); + bitField0_ |= 0x00000004; + } + } else { + input.skipUnknownField(); + } + break; + } default: { input.skipUnknownField(); break; @@ -357,6 +472,8 @@ public final class BattleEventBattleInfoOuterClass { static final FieldName battleEventId = FieldName.forField("battleEventId", "battle_event_id"); static final FieldName status = FieldName.forField("status"); + + static final FieldName skillList = FieldName.forField("skillList", "skill_list"); } } } diff --git a/src/generated/main/emu/lunarcore/proto/BattleRelicOuterClass.java b/src/generated/main/emu/lunarcore/proto/BattleRelicOuterClass.java index 2269655..63937ed 100644 --- a/src/generated/main/emu/lunarcore/proto/BattleRelicOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/BattleRelicOuterClass.java @@ -39,6 +39,21 @@ public final class BattleRelicOuterClass { */ private int uniqueId; + /** + * optional uint32 relic_id = 6; + */ + private int relicId; + + /** + * optional uint32 slot = 7; + */ + private int slot; + + /** + * optional uint32 DCKIHBLMEGF = 8; + */ + private int dCKIHBLMEGF; + /** * repeated .RelicAffix sub_affix_list = 4; */ @@ -202,12 +217,123 @@ public final class BattleRelicOuterClass { return this; } + /** + * optional uint32 relic_id = 6; + * @return whether the relicId field is set + */ + public boolean hasRelicId() { + return (bitField0_ & 0x00000010) != 0; + } + + /** + * optional uint32 relic_id = 6; + * @return this + */ + public BattleRelic clearRelicId() { + bitField0_ &= ~0x00000010; + relicId = 0; + return this; + } + + /** + * optional uint32 relic_id = 6; + * @return the relicId + */ + public int getRelicId() { + return relicId; + } + + /** + * optional uint32 relic_id = 6; + * @param value the relicId to set + * @return this + */ + public BattleRelic setRelicId(final int value) { + bitField0_ |= 0x00000010; + relicId = value; + return this; + } + + /** + * optional uint32 slot = 7; + * @return whether the slot field is set + */ + public boolean hasSlot() { + return (bitField0_ & 0x00000020) != 0; + } + + /** + * optional uint32 slot = 7; + * @return this + */ + public BattleRelic clearSlot() { + bitField0_ &= ~0x00000020; + slot = 0; + return this; + } + + /** + * optional uint32 slot = 7; + * @return the slot + */ + public int getSlot() { + return slot; + } + + /** + * optional uint32 slot = 7; + * @param value the slot to set + * @return this + */ + public BattleRelic setSlot(final int value) { + bitField0_ |= 0x00000020; + slot = value; + return this; + } + + /** + * optional uint32 DCKIHBLMEGF = 8; + * @return whether the dCKIHBLMEGF field is set + */ + public boolean hasDCKIHBLMEGF() { + return (bitField0_ & 0x00000040) != 0; + } + + /** + * optional uint32 DCKIHBLMEGF = 8; + * @return this + */ + public BattleRelic clearDCKIHBLMEGF() { + bitField0_ &= ~0x00000040; + dCKIHBLMEGF = 0; + return this; + } + + /** + * optional uint32 DCKIHBLMEGF = 8; + * @return the dCKIHBLMEGF + */ + public int getDCKIHBLMEGF() { + return dCKIHBLMEGF; + } + + /** + * optional uint32 DCKIHBLMEGF = 8; + * @param value the dCKIHBLMEGF to set + * @return this + */ + public BattleRelic setDCKIHBLMEGF(final int value) { + bitField0_ |= 0x00000040; + dCKIHBLMEGF = value; + return this; + } + /** * repeated .RelicAffix sub_affix_list = 4; * @return whether the subAffixList field is set */ public boolean hasSubAffixList() { - return (bitField0_ & 0x00000010) != 0; + return (bitField0_ & 0x00000080) != 0; } /** @@ -215,7 +341,7 @@ public final class BattleRelicOuterClass { * @return this */ public BattleRelic clearSubAffixList() { - bitField0_ &= ~0x00000010; + bitField0_ &= ~0x00000080; subAffixList.clear(); return this; } @@ -244,7 +370,7 @@ public final class BattleRelicOuterClass { * @return internal storage object for modifications */ public RepeatedMessage getMutableSubAffixList() { - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000080; return subAffixList; } @@ -254,7 +380,7 @@ public final class BattleRelicOuterClass { * @return this */ public BattleRelic addSubAffixList(final RelicAffixOuterClass.RelicAffix value) { - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000080; subAffixList.add(value); return this; } @@ -265,7 +391,7 @@ public final class BattleRelicOuterClass { * @return this */ public BattleRelic addAllSubAffixList(final RelicAffixOuterClass.RelicAffix... values) { - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000080; subAffixList.addAll(values); return this; } @@ -279,6 +405,9 @@ public final class BattleRelicOuterClass { level = other.level; mainAffixId = other.mainAffixId; uniqueId = other.uniqueId; + relicId = other.relicId; + slot = other.slot; + dCKIHBLMEGF = other.dCKIHBLMEGF; subAffixList.copyFrom(other.subAffixList); } return this; @@ -302,6 +431,15 @@ public final class BattleRelicOuterClass { if (other.hasUniqueId()) { setUniqueId(other.uniqueId); } + if (other.hasRelicId()) { + setRelicId(other.relicId); + } + if (other.hasSlot()) { + setSlot(other.slot); + } + if (other.hasDCKIHBLMEGF()) { + setDCKIHBLMEGF(other.dCKIHBLMEGF); + } if (other.hasSubAffixList()) { getMutableSubAffixList().addAll(other.subAffixList); } @@ -319,6 +457,9 @@ public final class BattleRelicOuterClass { level = 0; mainAffixId = 0; uniqueId = 0; + relicId = 0; + slot = 0; + dCKIHBLMEGF = 0; subAffixList.clear(); return this; } @@ -348,6 +489,9 @@ public final class BattleRelicOuterClass { && (!hasLevel() || level == other.level) && (!hasMainAffixId() || mainAffixId == other.mainAffixId) && (!hasUniqueId() || uniqueId == other.uniqueId) + && (!hasRelicId() || relicId == other.relicId) + && (!hasSlot() || slot == other.slot) + && (!hasDCKIHBLMEGF() || dCKIHBLMEGF == other.dCKIHBLMEGF) && (!hasSubAffixList() || subAffixList.equals(other.subAffixList)); } @@ -370,6 +514,18 @@ public final class BattleRelicOuterClass { output.writeUInt32NoTag(uniqueId); } if ((bitField0_ & 0x00000010) != 0) { + output.writeRawByte((byte) 48); + output.writeUInt32NoTag(relicId); + } + if ((bitField0_ & 0x00000020) != 0) { + output.writeRawByte((byte) 56); + output.writeUInt32NoTag(slot); + } + if ((bitField0_ & 0x00000040) != 0) { + output.writeRawByte((byte) 64); + output.writeUInt32NoTag(dCKIHBLMEGF); + } + if ((bitField0_ & 0x00000080) != 0) { for (int i = 0; i < subAffixList.length(); i++) { output.writeRawByte((byte) 34); output.writeMessageNoTag(subAffixList.get(i)); @@ -393,6 +549,15 @@ public final class BattleRelicOuterClass { size += 1 + ProtoSink.computeUInt32SizeNoTag(uniqueId); } if ((bitField0_ & 0x00000010) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(relicId); + } + if ((bitField0_ & 0x00000020) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(slot); + } + if ((bitField0_ & 0x00000040) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(dCKIHBLMEGF); + } + if ((bitField0_ & 0x00000080) != 0) { size += (1 * subAffixList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(subAffixList); } return size; @@ -437,6 +602,33 @@ public final class BattleRelicOuterClass { uniqueId = input.readUInt32(); bitField0_ |= 0x00000008; tag = input.readTag(); + if (tag != 48) { + break; + } + } + case 48: { + // relicId + relicId = input.readUInt32(); + bitField0_ |= 0x00000010; + tag = input.readTag(); + if (tag != 56) { + break; + } + } + case 56: { + // slot + slot = input.readUInt32(); + bitField0_ |= 0x00000020; + tag = input.readTag(); + if (tag != 64) { + break; + } + } + case 64: { + // dCKIHBLMEGF + dCKIHBLMEGF = input.readUInt32(); + bitField0_ |= 0x00000040; + tag = input.readTag(); if (tag != 34) { break; } @@ -444,7 +636,7 @@ public final class BattleRelicOuterClass { case 34: { // subAffixList tag = input.readRepeatedMessage(subAffixList, tag); - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000080; if (tag != 0) { break; } @@ -479,6 +671,15 @@ public final class BattleRelicOuterClass { output.writeUInt32(FieldNames.uniqueId, uniqueId); } if ((bitField0_ & 0x00000010) != 0) { + output.writeUInt32(FieldNames.relicId, relicId); + } + if ((bitField0_ & 0x00000020) != 0) { + output.writeUInt32(FieldNames.slot, slot); + } + if ((bitField0_ & 0x00000040) != 0) { + output.writeUInt32(FieldNames.dCKIHBLMEGF, dCKIHBLMEGF); + } + if ((bitField0_ & 0x00000080) != 0) { output.writeRepeatedMessage(FieldNames.subAffixList, subAffixList); } output.endObject(); @@ -537,12 +738,46 @@ public final class BattleRelicOuterClass { } break; } + case 1090714606: + case -547564185: { + if (input.isAtField(FieldNames.relicId)) { + if (!input.trySkipNullValue()) { + relicId = input.readUInt32(); + bitField0_ |= 0x00000010; + } + } else { + input.skipUnknownField(); + } + break; + } + case 3533310: { + if (input.isAtField(FieldNames.slot)) { + if (!input.trySkipNullValue()) { + slot = input.readUInt32(); + bitField0_ |= 0x00000020; + } + } else { + input.skipUnknownField(); + } + break; + } + case -521277108: { + if (input.isAtField(FieldNames.dCKIHBLMEGF)) { + if (!input.trySkipNullValue()) { + dCKIHBLMEGF = input.readUInt32(); + bitField0_ |= 0x00000040; + } + } else { + input.skipUnknownField(); + } + break; + } case -600836050: case 919890188: { if (input.isAtField(FieldNames.subAffixList)) { if (!input.trySkipNullValue()) { input.readRepeatedMessage(subAffixList); - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000080; } } else { input.skipUnknownField(); @@ -609,6 +844,12 @@ public final class BattleRelicOuterClass { static final FieldName uniqueId = FieldName.forField("uniqueId", "unique_id"); + static final FieldName relicId = FieldName.forField("relicId", "relic_id"); + + static final FieldName slot = FieldName.forField("slot"); + + static final FieldName dCKIHBLMEGF = FieldName.forField("DCKIHBLMEGF"); + static final FieldName subAffixList = FieldName.forField("subAffixList", "sub_affix_list"); } } diff --git a/src/generated/main/emu/lunarcore/proto/SceneBattleInfoOuterClass.java b/src/generated/main/emu/lunarcore/proto/SceneBattleInfoOuterClass.java index 2eec0ab..96c2aa7 100644 --- a/src/generated/main/emu/lunarcore/proto/SceneBattleInfoOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/SceneBattleInfoOuterClass.java @@ -20,6 +20,10 @@ public final class SceneBattleInfoOuterClass { private static final long serialVersionUID = 0L; /** + *
+     * AHJODGJDJGA LMAPJDNAEKC = 450;
+     * 
+ * * optional uint32 battle_id = 1; */ private int battleId; @@ -29,6 +33,11 @@ public final class SceneBattleInfoOuterClass { */ private int stageId; + /** + * optional uint32 GCNHGANFJKF = 9; + */ + private int gCNHGANFJKF; + /** * optional uint32 rounds_limit = 11; */ @@ -44,6 +53,16 @@ public final class SceneBattleInfoOuterClass { */ private int worldLevel; + /** + * optional bool CHELNDDEKPB = 10; + */ + private boolean cHELNDDEKPB; + + /** + * optional .BattleMechanismBar mechanism_bar_info = 12; + */ + private final BattleMechanismBarOuterClass.BattleMechanismBar mechanismBarInfo = BattleMechanismBarOuterClass.BattleMechanismBar.newInstance(); + /** * repeated .SceneMonsterWave monster_wave_list = 2; */ @@ -80,6 +99,10 @@ public final class SceneBattleInfoOuterClass { } /** + *
+     * AHJODGJDJGA LMAPJDNAEKC = 450;
+     * 
+ * * optional uint32 battle_id = 1; * @return whether the battleId field is set */ @@ -88,6 +111,10 @@ public final class SceneBattleInfoOuterClass { } /** + *
+     * AHJODGJDJGA LMAPJDNAEKC = 450;
+     * 
+ * * optional uint32 battle_id = 1; * @return this */ @@ -98,6 +125,10 @@ public final class SceneBattleInfoOuterClass { } /** + *
+     * AHJODGJDJGA LMAPJDNAEKC = 450;
+     * 
+ * * optional uint32 battle_id = 1; * @return the battleId */ @@ -106,6 +137,10 @@ public final class SceneBattleInfoOuterClass { } /** + *
+     * AHJODGJDJGA LMAPJDNAEKC = 450;
+     * 
+ * * optional uint32 battle_id = 1; * @param value the battleId to set * @return this @@ -153,12 +188,49 @@ public final class SceneBattleInfoOuterClass { return this; } + /** + * optional uint32 GCNHGANFJKF = 9; + * @return whether the gCNHGANFJKF field is set + */ + public boolean hasGCNHGANFJKF() { + return (bitField0_ & 0x00000004) != 0; + } + + /** + * optional uint32 GCNHGANFJKF = 9; + * @return this + */ + public SceneBattleInfo clearGCNHGANFJKF() { + bitField0_ &= ~0x00000004; + gCNHGANFJKF = 0; + return this; + } + + /** + * optional uint32 GCNHGANFJKF = 9; + * @return the gCNHGANFJKF + */ + public int getGCNHGANFJKF() { + return gCNHGANFJKF; + } + + /** + * optional uint32 GCNHGANFJKF = 9; + * @param value the gCNHGANFJKF to set + * @return this + */ + public SceneBattleInfo setGCNHGANFJKF(final int value) { + bitField0_ |= 0x00000004; + gCNHGANFJKF = value; + return this; + } + /** * optional uint32 rounds_limit = 11; * @return whether the roundsLimit field is set */ public boolean hasRoundsLimit() { - return (bitField0_ & 0x00000004) != 0; + return (bitField0_ & 0x00000008) != 0; } /** @@ -166,7 +238,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearRoundsLimit() { - bitField0_ &= ~0x00000004; + bitField0_ &= ~0x00000008; roundsLimit = 0; return this; } @@ -185,7 +257,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo setRoundsLimit(final int value) { - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000008; roundsLimit = value; return this; } @@ -195,7 +267,7 @@ public final class SceneBattleInfoOuterClass { * @return whether the logicRandomSeed field is set */ public boolean hasLogicRandomSeed() { - return (bitField0_ & 0x00000008) != 0; + return (bitField0_ & 0x00000010) != 0; } /** @@ -203,7 +275,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearLogicRandomSeed() { - bitField0_ &= ~0x00000008; + bitField0_ &= ~0x00000010; logicRandomSeed = 0; return this; } @@ -222,7 +294,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo setLogicRandomSeed(final int value) { - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000010; logicRandomSeed = value; return this; } @@ -232,7 +304,7 @@ public final class SceneBattleInfoOuterClass { * @return whether the worldLevel field is set */ public boolean hasWorldLevel() { - return (bitField0_ & 0x00000010) != 0; + return (bitField0_ & 0x00000020) != 0; } /** @@ -240,7 +312,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearWorldLevel() { - bitField0_ &= ~0x00000010; + bitField0_ &= ~0x00000020; worldLevel = 0; return this; } @@ -259,17 +331,112 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo setWorldLevel(final int value) { - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000020; worldLevel = value; return this; } + /** + * optional bool CHELNDDEKPB = 10; + * @return whether the cHELNDDEKPB field is set + */ + public boolean hasCHELNDDEKPB() { + return (bitField0_ & 0x00000040) != 0; + } + + /** + * optional bool CHELNDDEKPB = 10; + * @return this + */ + public SceneBattleInfo clearCHELNDDEKPB() { + bitField0_ &= ~0x00000040; + cHELNDDEKPB = false; + return this; + } + + /** + * optional bool CHELNDDEKPB = 10; + * @return the cHELNDDEKPB + */ + public boolean getCHELNDDEKPB() { + return cHELNDDEKPB; + } + + /** + * optional bool CHELNDDEKPB = 10; + * @param value the cHELNDDEKPB to set + * @return this + */ + public SceneBattleInfo setCHELNDDEKPB(final boolean value) { + bitField0_ |= 0x00000040; + cHELNDDEKPB = value; + return this; + } + + /** + * optional .BattleMechanismBar mechanism_bar_info = 12; + * @return whether the mechanismBarInfo field is set + */ + public boolean hasMechanismBarInfo() { + return (bitField0_ & 0x00000080) != 0; + } + + /** + * optional .BattleMechanismBar mechanism_bar_info = 12; + * @return this + */ + public SceneBattleInfo clearMechanismBarInfo() { + bitField0_ &= ~0x00000080; + mechanismBarInfo.clear(); + return this; + } + + /** + * optional .BattleMechanismBar mechanism_bar_info = 12; + * + * 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 #getMutableMechanismBarInfo()} if you want to modify it. + * + * @return internal storage object for reading + */ + public BattleMechanismBarOuterClass.BattleMechanismBar getMechanismBarInfo() { + return mechanismBarInfo; + } + + /** + * optional .BattleMechanismBar mechanism_bar_info = 12; + * + * 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 BattleMechanismBarOuterClass.BattleMechanismBar getMutableMechanismBarInfo() { + bitField0_ |= 0x00000080; + return mechanismBarInfo; + } + + /** + * optional .BattleMechanismBar mechanism_bar_info = 12; + * @param value the mechanismBarInfo to set + * @return this + */ + public SceneBattleInfo setMechanismBarInfo( + final BattleMechanismBarOuterClass.BattleMechanismBar value) { + bitField0_ |= 0x00000080; + mechanismBarInfo.copyFrom(value); + return this; + } + /** * repeated .SceneMonsterWave monster_wave_list = 2; * @return whether the monsterWaveList field is set */ public boolean hasMonsterWaveList() { - return (bitField0_ & 0x00000020) != 0; + return (bitField0_ & 0x00000100) != 0; } /** @@ -277,7 +444,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearMonsterWaveList() { - bitField0_ &= ~0x00000020; + bitField0_ &= ~0x00000100; monsterWaveList.clear(); return this; } @@ -307,7 +474,7 @@ public final class SceneBattleInfoOuterClass { */ public RepeatedMessage getMutableMonsterWaveList( ) { - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000100; return monsterWaveList; } @@ -318,7 +485,7 @@ public final class SceneBattleInfoOuterClass { */ public SceneBattleInfo addMonsterWaveList( final SceneMonsterWaveOuterClass.SceneMonsterWave value) { - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000100; monsterWaveList.add(value); return this; } @@ -330,7 +497,7 @@ public final class SceneBattleInfoOuterClass { */ public SceneBattleInfo addAllMonsterWaveList( final SceneMonsterWaveOuterClass.SceneMonsterWave... values) { - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000100; monsterWaveList.addAll(values); return this; } @@ -340,7 +507,7 @@ public final class SceneBattleInfoOuterClass { * @return whether the buffList field is set */ public boolean hasBuffList() { - return (bitField0_ & 0x00000040) != 0; + return (bitField0_ & 0x00000200) != 0; } /** @@ -348,7 +515,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearBuffList() { - bitField0_ &= ~0x00000040; + bitField0_ &= ~0x00000200; buffList.clear(); return this; } @@ -377,7 +544,7 @@ public final class SceneBattleInfoOuterClass { * @return internal storage object for modifications */ public RepeatedMessage getMutableBuffList() { - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000200; return buffList; } @@ -387,7 +554,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo addBuffList(final BattleBuffOuterClass.BattleBuff value) { - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000200; buffList.add(value); return this; } @@ -398,7 +565,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo addAllBuffList(final BattleBuffOuterClass.BattleBuff... values) { - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000200; buffList.addAll(values); return this; } @@ -408,7 +575,7 @@ public final class SceneBattleInfoOuterClass { * @return whether the battleAvatarList field is set */ public boolean hasBattleAvatarList() { - return (bitField0_ & 0x00000080) != 0; + return (bitField0_ & 0x00000400) != 0; } /** @@ -416,7 +583,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearBattleAvatarList() { - bitField0_ &= ~0x00000080; + bitField0_ &= ~0x00000400; battleAvatarList.clear(); return this; } @@ -445,7 +612,7 @@ public final class SceneBattleInfoOuterClass { * @return internal storage object for modifications */ public RepeatedMessage getMutableBattleAvatarList() { - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000400; return battleAvatarList; } @@ -455,7 +622,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo addBattleAvatarList(final BattleAvatarOuterClass.BattleAvatar value) { - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000400; battleAvatarList.add(value); return this; } @@ -467,7 +634,7 @@ public final class SceneBattleInfoOuterClass { */ public SceneBattleInfo addAllBattleAvatarList( final BattleAvatarOuterClass.BattleAvatar... values) { - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000400; battleAvatarList.addAll(values); return this; } @@ -477,7 +644,7 @@ public final class SceneBattleInfoOuterClass { * @return whether the eventBattleInfoList field is set */ public boolean hasEventBattleInfoList() { - return (bitField0_ & 0x00000100) != 0; + return (bitField0_ & 0x00000800) != 0; } /** @@ -485,7 +652,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearEventBattleInfoList() { - bitField0_ &= ~0x00000100; + bitField0_ &= ~0x00000800; eventBattleInfoList.clear(); return this; } @@ -516,7 +683,7 @@ public final class SceneBattleInfoOuterClass { */ public RepeatedMessage getMutableEventBattleInfoList( ) { - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000800; return eventBattleInfoList; } @@ -527,7 +694,7 @@ public final class SceneBattleInfoOuterClass { */ public SceneBattleInfo addEventBattleInfoList( final BattleEventBattleInfoOuterClass.BattleEventBattleInfo value) { - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000800; eventBattleInfoList.add(value); return this; } @@ -539,7 +706,7 @@ public final class SceneBattleInfoOuterClass { */ public SceneBattleInfo addAllEventBattleInfoList( final BattleEventBattleInfoOuterClass.BattleEventBattleInfo... values) { - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000800; eventBattleInfoList.addAll(values); return this; } @@ -549,7 +716,7 @@ public final class SceneBattleInfoOuterClass { * @return whether the battleTargetInfo field is set */ public boolean hasBattleTargetInfo() { - return (bitField0_ & 0x00000200) != 0; + return (bitField0_ & 0x00001000) != 0; } /** @@ -557,7 +724,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo clearBattleTargetInfo() { - bitField0_ &= ~0x00000200; + bitField0_ &= ~0x00001000; battleTargetInfo.clear(); return this; } @@ -586,7 +753,7 @@ public final class SceneBattleInfoOuterClass { * @return internal storage object for modifications */ public RepeatedMessage getMutableBattleTargetInfo() { - bitField0_ |= 0x00000200; + bitField0_ |= 0x00001000; return battleTargetInfo; } @@ -596,7 +763,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo addBattleTargetInfo(final BattleTargetInfoEntry value) { - bitField0_ |= 0x00000200; + bitField0_ |= 0x00001000; battleTargetInfo.add(value); return this; } @@ -607,7 +774,7 @@ public final class SceneBattleInfoOuterClass { * @return this */ public SceneBattleInfo addAllBattleTargetInfo(final BattleTargetInfoEntry... values) { - bitField0_ |= 0x00000200; + bitField0_ |= 0x00001000; battleTargetInfo.addAll(values); return this; } @@ -619,9 +786,12 @@ public final class SceneBattleInfoOuterClass { bitField0_ = other.bitField0_; battleId = other.battleId; stageId = other.stageId; + gCNHGANFJKF = other.gCNHGANFJKF; roundsLimit = other.roundsLimit; logicRandomSeed = other.logicRandomSeed; worldLevel = other.worldLevel; + cHELNDDEKPB = other.cHELNDDEKPB; + mechanismBarInfo.copyFrom(other.mechanismBarInfo); monsterWaveList.copyFrom(other.monsterWaveList); buffList.copyFrom(other.buffList); battleAvatarList.copyFrom(other.battleAvatarList); @@ -643,6 +813,9 @@ public final class SceneBattleInfoOuterClass { if (other.hasStageId()) { setStageId(other.stageId); } + if (other.hasGCNHGANFJKF()) { + setGCNHGANFJKF(other.gCNHGANFJKF); + } if (other.hasRoundsLimit()) { setRoundsLimit(other.roundsLimit); } @@ -652,6 +825,12 @@ public final class SceneBattleInfoOuterClass { if (other.hasWorldLevel()) { setWorldLevel(other.worldLevel); } + if (other.hasCHELNDDEKPB()) { + setCHELNDDEKPB(other.cHELNDDEKPB); + } + if (other.hasMechanismBarInfo()) { + getMutableMechanismBarInfo().mergeFrom(other.mechanismBarInfo); + } if (other.hasMonsterWaveList()) { getMutableMonsterWaveList().addAll(other.monsterWaveList); } @@ -679,9 +858,12 @@ public final class SceneBattleInfoOuterClass { bitField0_ = 0; battleId = 0; stageId = 0; + gCNHGANFJKF = 0; roundsLimit = 0; logicRandomSeed = 0; worldLevel = 0; + cHELNDDEKPB = false; + mechanismBarInfo.clear(); monsterWaveList.clear(); buffList.clear(); battleAvatarList.clear(); @@ -697,6 +879,7 @@ public final class SceneBattleInfoOuterClass { } cachedSize = -1; bitField0_ = 0; + mechanismBarInfo.clearQuick(); monsterWaveList.clearQuick(); buffList.clearQuick(); battleAvatarList.clearQuick(); @@ -717,9 +900,12 @@ public final class SceneBattleInfoOuterClass { return bitField0_ == other.bitField0_ && (!hasBattleId() || battleId == other.battleId) && (!hasStageId() || stageId == other.stageId) + && (!hasGCNHGANFJKF() || gCNHGANFJKF == other.gCNHGANFJKF) && (!hasRoundsLimit() || roundsLimit == other.roundsLimit) && (!hasLogicRandomSeed() || logicRandomSeed == other.logicRandomSeed) && (!hasWorldLevel() || worldLevel == other.worldLevel) + && (!hasCHELNDDEKPB() || cHELNDDEKPB == other.cHELNDDEKPB) + && (!hasMechanismBarInfo() || mechanismBarInfo.equals(other.mechanismBarInfo)) && (!hasMonsterWaveList() || monsterWaveList.equals(other.monsterWaveList)) && (!hasBuffList() || buffList.equals(other.buffList)) && (!hasBattleAvatarList() || battleAvatarList.equals(other.battleAvatarList)) @@ -738,42 +924,54 @@ public final class SceneBattleInfoOuterClass { output.writeUInt32NoTag(stageId); } if ((bitField0_ & 0x00000004) != 0) { + output.writeRawByte((byte) 72); + output.writeUInt32NoTag(gCNHGANFJKF); + } + if ((bitField0_ & 0x00000008) != 0) { output.writeRawByte((byte) 88); output.writeUInt32NoTag(roundsLimit); } - if ((bitField0_ & 0x00000008) != 0) { + if ((bitField0_ & 0x00000010) != 0) { output.writeRawByte((byte) 104); output.writeUInt32NoTag(logicRandomSeed); } - if ((bitField0_ & 0x00000010) != 0) { + if ((bitField0_ & 0x00000020) != 0) { output.writeRawByte((byte) 120); output.writeUInt32NoTag(worldLevel); } - if ((bitField0_ & 0x00000020) != 0) { + if ((bitField0_ & 0x00000040) != 0) { + output.writeRawByte((byte) 80); + output.writeBoolNoTag(cHELNDDEKPB); + } + if ((bitField0_ & 0x00000080) != 0) { + output.writeRawByte((byte) 98); + output.writeMessageNoTag(mechanismBarInfo); + } + if ((bitField0_ & 0x00000100) != 0) { for (int i = 0; i < monsterWaveList.length(); i++) { output.writeRawByte((byte) 18); output.writeMessageNoTag(monsterWaveList.get(i)); } } - if ((bitField0_ & 0x00000040) != 0) { + if ((bitField0_ & 0x00000200) != 0) { for (int i = 0; i < buffList.length(); i++) { output.writeRawByte((byte) 26); output.writeMessageNoTag(buffList.get(i)); } } - if ((bitField0_ & 0x00000080) != 0) { + if ((bitField0_ & 0x00000400) != 0) { for (int i = 0; i < battleAvatarList.length(); i++) { output.writeRawByte((byte) 66); output.writeMessageNoTag(battleAvatarList.get(i)); } } - if ((bitField0_ & 0x00000100) != 0) { + if ((bitField0_ & 0x00000800) != 0) { for (int i = 0; i < eventBattleInfoList.length(); i++) { output.writeRawLittleEndian16((short) 1258); output.writeMessageNoTag(eventBattleInfoList.get(i)); } } - if ((bitField0_ & 0x00000200) != 0) { + if ((bitField0_ & 0x00001000) != 0) { for (int i = 0; i < battleTargetInfo.length(); i++) { output.writeRawLittleEndian16((short) 29834); output.writeMessageNoTag(battleTargetInfo.get(i)); @@ -791,27 +989,36 @@ public final class SceneBattleInfoOuterClass { size += 1 + ProtoSink.computeUInt32SizeNoTag(stageId); } if ((bitField0_ & 0x00000004) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(roundsLimit); + size += 1 + ProtoSink.computeUInt32SizeNoTag(gCNHGANFJKF); } if ((bitField0_ & 0x00000008) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(logicRandomSeed); + size += 1 + ProtoSink.computeUInt32SizeNoTag(roundsLimit); } if ((bitField0_ & 0x00000010) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(worldLevel); + size += 1 + ProtoSink.computeUInt32SizeNoTag(logicRandomSeed); } if ((bitField0_ & 0x00000020) != 0) { - size += (1 * monsterWaveList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(monsterWaveList); + size += 1 + ProtoSink.computeUInt32SizeNoTag(worldLevel); } if ((bitField0_ & 0x00000040) != 0) { - size += (1 * buffList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(buffList); + size += 2; } if ((bitField0_ & 0x00000080) != 0) { - size += (1 * battleAvatarList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(battleAvatarList); + size += 1 + ProtoSink.computeMessageSizeNoTag(mechanismBarInfo); } if ((bitField0_ & 0x00000100) != 0) { - size += (2 * eventBattleInfoList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(eventBattleInfoList); + size += (1 * monsterWaveList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(monsterWaveList); } if ((bitField0_ & 0x00000200) != 0) { + size += (1 * buffList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(buffList); + } + if ((bitField0_ & 0x00000400) != 0) { + size += (1 * battleAvatarList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(battleAvatarList); + } + if ((bitField0_ & 0x00000800) != 0) { + size += (2 * eventBattleInfoList.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(eventBattleInfoList); + } + if ((bitField0_ & 0x00001000) != 0) { size += (2 * battleTargetInfo.length()) + ProtoSink.computeRepeatedMessageSizeNoTag(battleTargetInfo); } return size; @@ -838,6 +1045,15 @@ public final class SceneBattleInfoOuterClass { stageId = input.readUInt32(); bitField0_ |= 0x00000002; tag = input.readTag(); + if (tag != 72) { + break; + } + } + case 72: { + // gCNHGANFJKF + gCNHGANFJKF = input.readUInt32(); + bitField0_ |= 0x00000004; + tag = input.readTag(); if (tag != 88) { break; } @@ -845,7 +1061,7 @@ public final class SceneBattleInfoOuterClass { case 88: { // roundsLimit roundsLimit = input.readUInt32(); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000008; tag = input.readTag(); if (tag != 104) { break; @@ -854,7 +1070,7 @@ public final class SceneBattleInfoOuterClass { case 104: { // logicRandomSeed logicRandomSeed = input.readUInt32(); - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000010; tag = input.readTag(); if (tag != 120) { break; @@ -863,7 +1079,25 @@ public final class SceneBattleInfoOuterClass { case 120: { // worldLevel worldLevel = input.readUInt32(); - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000020; + tag = input.readTag(); + if (tag != 80) { + break; + } + } + case 80: { + // cHELNDDEKPB + cHELNDDEKPB = input.readBool(); + bitField0_ |= 0x00000040; + tag = input.readTag(); + if (tag != 98) { + break; + } + } + case 98: { + // mechanismBarInfo + input.readMessage(mechanismBarInfo); + bitField0_ |= 0x00000080; tag = input.readTag(); if (tag != 18) { break; @@ -872,7 +1106,7 @@ public final class SceneBattleInfoOuterClass { case 18: { // monsterWaveList tag = input.readRepeatedMessage(monsterWaveList, tag); - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000100; if (tag != 26) { break; } @@ -880,7 +1114,7 @@ public final class SceneBattleInfoOuterClass { case 26: { // buffList tag = input.readRepeatedMessage(buffList, tag); - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000200; if (tag != 66) { break; } @@ -888,7 +1122,7 @@ public final class SceneBattleInfoOuterClass { case 66: { // battleAvatarList tag = input.readRepeatedMessage(battleAvatarList, tag); - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000400; if (tag != 618) { break; } @@ -896,7 +1130,7 @@ public final class SceneBattleInfoOuterClass { case 618: { // eventBattleInfoList tag = input.readRepeatedMessage(eventBattleInfoList, tag); - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000800; if (tag != 14858) { break; } @@ -904,7 +1138,7 @@ public final class SceneBattleInfoOuterClass { case 14858: { // battleTargetInfo tag = input.readRepeatedMessage(battleTargetInfo, tag); - bitField0_ |= 0x00000200; + bitField0_ |= 0x00001000; if (tag != 0) { break; } @@ -933,27 +1167,36 @@ public final class SceneBattleInfoOuterClass { output.writeUInt32(FieldNames.stageId, stageId); } if ((bitField0_ & 0x00000004) != 0) { - output.writeUInt32(FieldNames.roundsLimit, roundsLimit); + output.writeUInt32(FieldNames.gCNHGANFJKF, gCNHGANFJKF); } if ((bitField0_ & 0x00000008) != 0) { - output.writeUInt32(FieldNames.logicRandomSeed, logicRandomSeed); + output.writeUInt32(FieldNames.roundsLimit, roundsLimit); } if ((bitField0_ & 0x00000010) != 0) { - output.writeUInt32(FieldNames.worldLevel, worldLevel); + output.writeUInt32(FieldNames.logicRandomSeed, logicRandomSeed); } if ((bitField0_ & 0x00000020) != 0) { - output.writeRepeatedMessage(FieldNames.monsterWaveList, monsterWaveList); + output.writeUInt32(FieldNames.worldLevel, worldLevel); } if ((bitField0_ & 0x00000040) != 0) { - output.writeRepeatedMessage(FieldNames.buffList, buffList); + output.writeBool(FieldNames.cHELNDDEKPB, cHELNDDEKPB); } if ((bitField0_ & 0x00000080) != 0) { - output.writeRepeatedMessage(FieldNames.battleAvatarList, battleAvatarList); + output.writeMessage(FieldNames.mechanismBarInfo, mechanismBarInfo); } if ((bitField0_ & 0x00000100) != 0) { - output.writeRepeatedMessage(FieldNames.eventBattleInfoList, eventBattleInfoList); + output.writeRepeatedMessage(FieldNames.monsterWaveList, monsterWaveList); } if ((bitField0_ & 0x00000200) != 0) { + output.writeRepeatedMessage(FieldNames.buffList, buffList); + } + if ((bitField0_ & 0x00000400) != 0) { + output.writeRepeatedMessage(FieldNames.battleAvatarList, battleAvatarList); + } + if ((bitField0_ & 0x00000800) != 0) { + output.writeRepeatedMessage(FieldNames.eventBattleInfoList, eventBattleInfoList); + } + if ((bitField0_ & 0x00001000) != 0) { output.writeRepeatedMessage(FieldNames.battleTargetInfo, battleTargetInfo); } output.endObject(); @@ -990,12 +1233,23 @@ public final class SceneBattleInfoOuterClass { } break; } + case -1106892419: { + if (input.isAtField(FieldNames.gCNHGANFJKF)) { + if (!input.trySkipNullValue()) { + gCNHGANFJKF = input.readUInt32(); + bitField0_ |= 0x00000004; + } + } else { + input.skipUnknownField(); + } + break; + } case 306477590: case 1457479585: { if (input.isAtField(FieldNames.roundsLimit)) { if (!input.trySkipNullValue()) { roundsLimit = input.readUInt32(); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000008; } } else { input.skipUnknownField(); @@ -1007,7 +1261,7 @@ public final class SceneBattleInfoOuterClass { if (input.isAtField(FieldNames.logicRandomSeed)) { if (!input.trySkipNullValue()) { logicRandomSeed = input.readUInt32(); - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000010; } } else { input.skipUnknownField(); @@ -1019,7 +1273,30 @@ public final class SceneBattleInfoOuterClass { if (input.isAtField(FieldNames.worldLevel)) { if (!input.trySkipNullValue()) { worldLevel = input.readUInt32(); - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000020; + } + } else { + input.skipUnknownField(); + } + break; + } + case 266087962: { + if (input.isAtField(FieldNames.cHELNDDEKPB)) { + if (!input.trySkipNullValue()) { + cHELNDDEKPB = input.readBool(); + bitField0_ |= 0x00000040; + } + } else { + input.skipUnknownField(); + } + break; + } + case -129465912: + case -39078016: { + if (input.isAtField(FieldNames.mechanismBarInfo)) { + if (!input.trySkipNullValue()) { + input.readMessage(mechanismBarInfo); + bitField0_ |= 0x00000080; } } else { input.skipUnknownField(); @@ -1031,7 +1308,7 @@ public final class SceneBattleInfoOuterClass { if (input.isAtField(FieldNames.monsterWaveList)) { if (!input.trySkipNullValue()) { input.readRepeatedMessage(monsterWaveList); - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000100; } } else { input.skipUnknownField(); @@ -1043,7 +1320,7 @@ public final class SceneBattleInfoOuterClass { if (input.isAtField(FieldNames.buffList)) { if (!input.trySkipNullValue()) { input.readRepeatedMessage(buffList); - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000200; } } else { input.skipUnknownField(); @@ -1055,7 +1332,7 @@ public final class SceneBattleInfoOuterClass { if (input.isAtField(FieldNames.battleAvatarList)) { if (!input.trySkipNullValue()) { input.readRepeatedMessage(battleAvatarList); - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000400; } } else { input.skipUnknownField(); @@ -1067,7 +1344,7 @@ public final class SceneBattleInfoOuterClass { if (input.isAtField(FieldNames.eventBattleInfoList)) { if (!input.trySkipNullValue()) { input.readRepeatedMessage(eventBattleInfoList); - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000800; } } else { input.skipUnknownField(); @@ -1079,7 +1356,7 @@ public final class SceneBattleInfoOuterClass { if (input.isAtField(FieldNames.battleTargetInfo)) { if (!input.trySkipNullValue()) { input.readRepeatedMessage(battleTargetInfo); - bitField0_ |= 0x00000200; + bitField0_ |= 0x00001000; } } else { input.skipUnknownField(); @@ -1490,12 +1767,18 @@ public final class SceneBattleInfoOuterClass { static final FieldName stageId = FieldName.forField("stageId", "stage_id"); + static final FieldName gCNHGANFJKF = FieldName.forField("GCNHGANFJKF"); + static final FieldName roundsLimit = FieldName.forField("roundsLimit", "rounds_limit"); static final FieldName logicRandomSeed = FieldName.forField("logicRandomSeed", "logic_random_seed"); static final FieldName worldLevel = FieldName.forField("worldLevel", "world_level"); + static final FieldName cHELNDDEKPB = FieldName.forField("CHELNDDEKPB"); + + static final FieldName mechanismBarInfo = FieldName.forField("mechanismBarInfo", "mechanism_bar_info"); + static final FieldName monsterWaveList = FieldName.forField("monsterWaveList", "monster_wave_list"); static final FieldName buffList = FieldName.forField("buffList", "buff_list"); diff --git a/src/generated/main/emu/lunarcore/proto/SceneMonsterWaveParamOuterClass.java b/src/generated/main/emu/lunarcore/proto/SceneMonsterWaveParamOuterClass.java index d361377..d6a1697 100644 --- a/src/generated/main/emu/lunarcore/proto/SceneMonsterWaveParamOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/SceneMonsterWaveParamOuterClass.java @@ -18,11 +18,26 @@ public final class SceneMonsterWaveParamOuterClass { public static final class SceneMonsterWaveParam extends ProtoMessage implements Cloneable { private static final long serialVersionUID = 0L; + /** + * optional uint32 DNDLGLKFBHB = 5; + */ + private int dNDLGLKFBHB; + /** * optional uint32 level = 8; */ private int level; + /** + * optional uint32 AGFKKDONMOI = 14; + */ + private int aGFKKDONMOI; + + /** + * optional uint32 APKKFCLEGCI = 15; + */ + private int aPKKFCLEGCI; + private SceneMonsterWaveParam() { } @@ -33,12 +48,49 @@ public final class SceneMonsterWaveParamOuterClass { return new SceneMonsterWaveParam(); } + /** + * optional uint32 DNDLGLKFBHB = 5; + * @return whether the dNDLGLKFBHB field is set + */ + public boolean hasDNDLGLKFBHB() { + return (bitField0_ & 0x00000001) != 0; + } + + /** + * optional uint32 DNDLGLKFBHB = 5; + * @return this + */ + public SceneMonsterWaveParam clearDNDLGLKFBHB() { + bitField0_ &= ~0x00000001; + dNDLGLKFBHB = 0; + return this; + } + + /** + * optional uint32 DNDLGLKFBHB = 5; + * @return the dNDLGLKFBHB + */ + public int getDNDLGLKFBHB() { + return dNDLGLKFBHB; + } + + /** + * optional uint32 DNDLGLKFBHB = 5; + * @param value the dNDLGLKFBHB to set + * @return this + */ + public SceneMonsterWaveParam setDNDLGLKFBHB(final int value) { + bitField0_ |= 0x00000001; + dNDLGLKFBHB = value; + return this; + } + /** * optional uint32 level = 8; * @return whether the level field is set */ public boolean hasLevel() { - return (bitField0_ & 0x00000001) != 0; + return (bitField0_ & 0x00000002) != 0; } /** @@ -46,7 +98,7 @@ public final class SceneMonsterWaveParamOuterClass { * @return this */ public SceneMonsterWaveParam clearLevel() { - bitField0_ &= ~0x00000001; + bitField0_ &= ~0x00000002; level = 0; return this; } @@ -65,17 +117,94 @@ public final class SceneMonsterWaveParamOuterClass { * @return this */ public SceneMonsterWaveParam setLevel(final int value) { - bitField0_ |= 0x00000001; + bitField0_ |= 0x00000002; level = value; return this; } + /** + * optional uint32 AGFKKDONMOI = 14; + * @return whether the aGFKKDONMOI field is set + */ + public boolean hasAGFKKDONMOI() { + return (bitField0_ & 0x00000004) != 0; + } + + /** + * optional uint32 AGFKKDONMOI = 14; + * @return this + */ + public SceneMonsterWaveParam clearAGFKKDONMOI() { + bitField0_ &= ~0x00000004; + aGFKKDONMOI = 0; + return this; + } + + /** + * optional uint32 AGFKKDONMOI = 14; + * @return the aGFKKDONMOI + */ + public int getAGFKKDONMOI() { + return aGFKKDONMOI; + } + + /** + * optional uint32 AGFKKDONMOI = 14; + * @param value the aGFKKDONMOI to set + * @return this + */ + public SceneMonsterWaveParam setAGFKKDONMOI(final int value) { + bitField0_ |= 0x00000004; + aGFKKDONMOI = value; + return this; + } + + /** + * optional uint32 APKKFCLEGCI = 15; + * @return whether the aPKKFCLEGCI field is set + */ + public boolean hasAPKKFCLEGCI() { + return (bitField0_ & 0x00000008) != 0; + } + + /** + * optional uint32 APKKFCLEGCI = 15; + * @return this + */ + public SceneMonsterWaveParam clearAPKKFCLEGCI() { + bitField0_ &= ~0x00000008; + aPKKFCLEGCI = 0; + return this; + } + + /** + * optional uint32 APKKFCLEGCI = 15; + * @return the aPKKFCLEGCI + */ + public int getAPKKFCLEGCI() { + return aPKKFCLEGCI; + } + + /** + * optional uint32 APKKFCLEGCI = 15; + * @param value the aPKKFCLEGCI to set + * @return this + */ + public SceneMonsterWaveParam setAPKKFCLEGCI(final int value) { + bitField0_ |= 0x00000008; + aPKKFCLEGCI = value; + return this; + } + @Override public SceneMonsterWaveParam copyFrom(final SceneMonsterWaveParam other) { cachedSize = other.cachedSize; if ((bitField0_ | other.bitField0_) != 0) { bitField0_ = other.bitField0_; + dNDLGLKFBHB = other.dNDLGLKFBHB; level = other.level; + aGFKKDONMOI = other.aGFKKDONMOI; + aPKKFCLEGCI = other.aPKKFCLEGCI; } return this; } @@ -86,9 +215,18 @@ public final class SceneMonsterWaveParamOuterClass { return this; } cachedSize = -1; + if (other.hasDNDLGLKFBHB()) { + setDNDLGLKFBHB(other.dNDLGLKFBHB); + } if (other.hasLevel()) { setLevel(other.level); } + if (other.hasAGFKKDONMOI()) { + setAGFKKDONMOI(other.aGFKKDONMOI); + } + if (other.hasAPKKFCLEGCI()) { + setAPKKFCLEGCI(other.aPKKFCLEGCI); + } return this; } @@ -99,7 +237,10 @@ public final class SceneMonsterWaveParamOuterClass { } cachedSize = -1; bitField0_ = 0; + dNDLGLKFBHB = 0; level = 0; + aGFKKDONMOI = 0; + aPKKFCLEGCI = 0; return this; } @@ -123,23 +264,47 @@ public final class SceneMonsterWaveParamOuterClass { } SceneMonsterWaveParam other = (SceneMonsterWaveParam) o; return bitField0_ == other.bitField0_ - && (!hasLevel() || level == other.level); + && (!hasDNDLGLKFBHB() || dNDLGLKFBHB == other.dNDLGLKFBHB) + && (!hasLevel() || level == other.level) + && (!hasAGFKKDONMOI() || aGFKKDONMOI == other.aGFKKDONMOI) + && (!hasAPKKFCLEGCI() || aPKKFCLEGCI == other.aPKKFCLEGCI); } @Override public void writeTo(final ProtoSink output) throws IOException { if ((bitField0_ & 0x00000001) != 0) { + output.writeRawByte((byte) 40); + output.writeUInt32NoTag(dNDLGLKFBHB); + } + if ((bitField0_ & 0x00000002) != 0) { output.writeRawByte((byte) 64); output.writeUInt32NoTag(level); } + if ((bitField0_ & 0x00000004) != 0) { + output.writeRawByte((byte) 112); + output.writeUInt32NoTag(aGFKKDONMOI); + } + if ((bitField0_ & 0x00000008) != 0) { + output.writeRawByte((byte) 120); + output.writeUInt32NoTag(aPKKFCLEGCI); + } } @Override protected int computeSerializedSize() { int size = 0; if ((bitField0_ & 0x00000001) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(dNDLGLKFBHB); + } + if ((bitField0_ & 0x00000002) != 0) { size += 1 + ProtoSink.computeUInt32SizeNoTag(level); } + if ((bitField0_ & 0x00000004) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(aGFKKDONMOI); + } + if ((bitField0_ & 0x00000008) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(aPKKFCLEGCI); + } return size; } @@ -150,10 +315,37 @@ public final class SceneMonsterWaveParamOuterClass { int tag = input.readTag(); while (true) { switch (tag) { + case 40: { + // dNDLGLKFBHB + dNDLGLKFBHB = input.readUInt32(); + bitField0_ |= 0x00000001; + tag = input.readTag(); + if (tag != 64) { + break; + } + } case 64: { // level level = input.readUInt32(); - bitField0_ |= 0x00000001; + bitField0_ |= 0x00000002; + tag = input.readTag(); + if (tag != 112) { + break; + } + } + case 112: { + // aGFKKDONMOI + aGFKKDONMOI = input.readUInt32(); + bitField0_ |= 0x00000004; + tag = input.readTag(); + if (tag != 120) { + break; + } + } + case 120: { + // aPKKFCLEGCI + aPKKFCLEGCI = input.readUInt32(); + bitField0_ |= 0x00000008; tag = input.readTag(); if (tag != 0) { break; @@ -177,8 +369,17 @@ public final class SceneMonsterWaveParamOuterClass { public void writeTo(final JsonSink output) throws IOException { output.beginObject(); if ((bitField0_ & 0x00000001) != 0) { + output.writeUInt32(FieldNames.dNDLGLKFBHB, dNDLGLKFBHB); + } + if ((bitField0_ & 0x00000002) != 0) { output.writeUInt32(FieldNames.level, level); } + if ((bitField0_ & 0x00000004) != 0) { + output.writeUInt32(FieldNames.aGFKKDONMOI, aGFKKDONMOI); + } + if ((bitField0_ & 0x00000008) != 0) { + output.writeUInt32(FieldNames.aPKKFCLEGCI, aPKKFCLEGCI); + } output.endObject(); } @@ -189,11 +390,44 @@ public final class SceneMonsterWaveParamOuterClass { } while (!input.isAtEnd()) { switch (input.readFieldHash()) { + case 1710437610: { + if (input.isAtField(FieldNames.dNDLGLKFBHB)) { + if (!input.trySkipNullValue()) { + dNDLGLKFBHB = input.readUInt32(); + bitField0_ |= 0x00000001; + } + } else { + input.skipUnknownField(); + } + break; + } case 102865796: { if (input.isAtField(FieldNames.level)) { if (!input.trySkipNullValue()) { level = input.readUInt32(); - bitField0_ |= 0x00000001; + bitField0_ |= 0x00000002; + } + } else { + input.skipUnknownField(); + } + break; + } + case -2145842908: { + if (input.isAtField(FieldNames.aGFKKDONMOI)) { + if (!input.trySkipNullValue()) { + aGFKKDONMOI = input.readUInt32(); + bitField0_ |= 0x00000004; + } + } else { + input.skipUnknownField(); + } + break; + } + case -241059960: { + if (input.isAtField(FieldNames.aPKKFCLEGCI)) { + if (!input.trySkipNullValue()) { + aPKKFCLEGCI = input.readUInt32(); + bitField0_ |= 0x00000008; } } else { input.skipUnknownField(); @@ -253,7 +487,13 @@ public final class SceneMonsterWaveParamOuterClass { * Contains name constants used for serializing JSON */ static class FieldNames { + static final FieldName dNDLGLKFBHB = FieldName.forField("DNDLGLKFBHB"); + static final FieldName level = FieldName.forField("level"); + + static final FieldName aGFKKDONMOI = FieldName.forField("AGFKKDONMOI"); + + static final FieldName aPKKFCLEGCI = FieldName.forField("APKKFCLEGCI"); } } } diff --git a/src/main/java/emu/lunarcore/game/battle/BattleService.java b/src/main/java/emu/lunarcore/game/battle/BattleService.java index abd2c58..759d393 100644 --- a/src/main/java/emu/lunarcore/game/battle/BattleService.java +++ b/src/main/java/emu/lunarcore/game/battle/BattleService.java @@ -21,10 +21,7 @@ import emu.lunarcore.proto.BattleEndStatusOuterClass.BattleEndStatus; import emu.lunarcore.proto.BattleStatisticsOuterClass.BattleStatistics; import emu.lunarcore.server.game.BaseGameService; import emu.lunarcore.server.game.GameServer; -import emu.lunarcore.server.packet.send.PacketReEnterLastElementStageScRsp; -import emu.lunarcore.server.packet.send.PacketSceneCastSkillScRsp; -import emu.lunarcore.server.packet.send.PacketStartCocoonStageScRsp; -import emu.lunarcore.server.packet.send.PacketSyncLineupNotify; +import emu.lunarcore.server.packet.send.*; import it.unimi.dsi.fastutil.ints.IntSet; public class BattleService extends BaseGameService { @@ -166,7 +163,7 @@ public class BattleService extends BaseGameService { player.sendPacket(new PacketSceneCastSkillScRsp(attackedGroupId)); } - public void startBattle(Player player, int stageId) { // TODO: should send SceneEnterStageScRsp instead of SceneCastSkillScRsp + public void startBattle(Player player, int stageId) { // Sanity check to make sure player isnt in a battle if (player.isInBattle()) { return; @@ -181,10 +178,21 @@ public class BattleService extends BaseGameService { // Create new battle for player Battle battle = new Battle(player, player.getCurrentLineup(), stage); + + // Challenge + if (player.getChallengeInstance() != null) { + player.getChallengeInstance().onBattleStart(battle); + } + + // Rogue + if (player.getRogueInstance() != null) { + player.getRogueInstance().onBattleStart(battle); + } + player.setBattle(battle); // Send packet - player.sendPacket(new PacketSceneCastSkillScRsp(battle, 0)); // remain to be tested + player.sendPacket(new PacketSceneEnterStageScRsp(battle)); } public void startCocoon(Player player, int cocoonId, int worldLevel, int wave) { diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java b/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java index 1460447..d8922a0 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueEntityLoader.java @@ -78,7 +78,7 @@ public class RogueEntityLoader extends SceneEntityLoader { PropRogueData propExtra = null; // Rogue Door id is 1000 - if (propId == 1000 || propId == 1021) { + if (propId == 1000 || propId == 1021 || propId == 1022 || propId == 1023) { // Site index int index = 0; @@ -91,15 +91,20 @@ public class RogueEntityLoader extends SceneEntityLoader { RogueRoomData room = rogue.getCurrentRoom(); if (room.getNextSiteIds().length > 0) { int siteId = room.getNextSiteIds()[index]; - int roomId = rogue.getRooms().get(siteId).getRoomId(); + var nextRoom = rogue.getRooms().get(siteId); - propExtra = new PropRogueData(roomId, siteId); + propId = switch (nextRoom.getRoomExcel().getRogueRoomType()) { + case 3 -> 1022; + case 5 -> 1023; + default -> 1021; + }; + propExtra = new PropRogueData(nextRoom.getRoomId(), siteId); } else { // Exit portal? + propId = 1000; } - + // Force rogue door to be open - propId = 1021; state = PropState.Open; } diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueEventManager.java b/src/main/java/emu/lunarcore/game/rogue/RogueEventManager.java index 8ac08f5..80763cc 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueEventManager.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueEventManager.java @@ -20,7 +20,7 @@ public class RogueEventManager { var param = event.getRogueEffectParamList(); switch (event.getRogueEffectType()) { case GetItem -> rogueInstance.setMoney(rogueInstance.getMoney() + param.get(1)); - case TriggerBattle -> rogueInstance.createBuffSelect(3); //this.getPlayer().getServer().getBattleService().startBattle(player, param.get(0)); // NOT WORKING + case TriggerBattle -> this.getPlayer().getServer().getBattleService().startBattle(player, param.get(0)); // Client Send Packet SceneEnterStageCsReq so we dont have to handle it here case TriggerRogueMiracleSelect -> this.getRogueInstance().createMiracleSelect(1); case TriggerRogueBuffSelect -> this.getRogueInstance().createBuffSelect(1); } diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java index 5db26ad..b27aa75 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java @@ -469,6 +469,8 @@ public class RogueInstance { int amount = battle.getNpcMonsters().size(); this.createBuffSelect(amount); } + } else { + this.getPlayer().getRogueManager().quitRogue(); } } diff --git a/src/main/java/emu/lunarcore/server/packet/recv/HandlerSceneEnterStageCsReq.java b/src/main/java/emu/lunarcore/server/packet/recv/HandlerSceneEnterStageCsReq.java new file mode 100644 index 0000000..5349c7d --- /dev/null +++ b/src/main/java/emu/lunarcore/server/packet/recv/HandlerSceneEnterStageCsReq.java @@ -0,0 +1,17 @@ +package emu.lunarcore.server.packet.recv; + +import emu.lunarcore.proto.SceneEnterStageCsReqOuterClass.SceneEnterStageCsReq; +import emu.lunarcore.server.game.GameSession; +import emu.lunarcore.server.packet.CmdId; +import emu.lunarcore.server.packet.Opcodes; +import emu.lunarcore.server.packet.PacketHandler; + +@Opcodes(CmdId.SceneEnterStageCsReq) +public class HandlerSceneEnterStageCsReq extends PacketHandler { + @Override + public void handle(GameSession session, byte[] data) throws Exception { + var req = SceneEnterStageCsReq.parseFrom(data); + + session.getPlayer().getServer().getBattleService().startBattle(session.getPlayer(), req.getStageId()); + } +} diff --git a/src/main/java/emu/lunarcore/server/packet/send/PacketSceneEnterStageScRsp.java b/src/main/java/emu/lunarcore/server/packet/send/PacketSceneEnterStageScRsp.java new file mode 100644 index 0000000..b177a85 --- /dev/null +++ b/src/main/java/emu/lunarcore/server/packet/send/PacketSceneEnterStageScRsp.java @@ -0,0 +1,17 @@ +package emu.lunarcore.server.packet.send; + +import emu.lunarcore.game.battle.Battle; +import emu.lunarcore.proto.SceneEnterStageScRspOuterClass.SceneEnterStageScRsp; +import emu.lunarcore.server.packet.BasePacket; +import emu.lunarcore.server.packet.CmdId; + +public class PacketSceneEnterStageScRsp extends BasePacket { + public PacketSceneEnterStageScRsp(Battle battle) { + super(CmdId.SceneEnterStageScRsp); + + var proto = SceneEnterStageScRsp.newInstance() + .setBattleInfo(battle.toProto()); + + this.setData(proto); + } +}