Fix event TriggerBattle, now will quit SU when not win battle, fix the room portal's color

This commit is contained in:
Somebody 2024-02-01 14:00:08 +08:00 committed by Melledy
parent 0975ddf234
commit 1a9df9dfb8
12 changed files with 1052 additions and 98 deletions

View File

@ -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

View File

@ -65,6 +65,10 @@ public final class BattleAvatarOuterClass {
private int avatarType;
/**
* <pre>
* DGPADLEIDFM BLGGGJFHGCP = 15;
* </pre>
*
* <code>optional .SpBarInfo sp_bar = 16;</code>
*/
private final SpBarInfoOuterClass.SpBarInfo spBar = SpBarInfoOuterClass.SpBarInfo.newInstance();
@ -453,6 +457,10 @@ public final class BattleAvatarOuterClass {
}
/**
* <pre>
* DGPADLEIDFM BLGGGJFHGCP = 15;
* </pre>
*
* <code>optional .SpBarInfo sp_bar = 16;</code>
* @return whether the spBar field is set
*/
@ -461,6 +469,10 @@ public final class BattleAvatarOuterClass {
}
/**
* <pre>
* DGPADLEIDFM BLGGGJFHGCP = 15;
* </pre>
*
* <code>optional .SpBarInfo sp_bar = 16;</code>
* @return this
*/
@ -471,6 +483,10 @@ public final class BattleAvatarOuterClass {
}
/**
* <pre>
* DGPADLEIDFM BLGGGJFHGCP = 15;
* </pre>
*
* <code>optional .SpBarInfo sp_bar = 16;</code>
*
* This method returns the internal storage object without modifying any has state.
@ -485,6 +501,10 @@ public final class BattleAvatarOuterClass {
}
/**
* <pre>
* DGPADLEIDFM BLGGGJFHGCP = 15;
* </pre>
*
* <code>optional .SpBarInfo sp_bar = 16;</code>
*
* This method returns the internal storage object and sets the corresponding
@ -499,6 +519,10 @@ public final class BattleAvatarOuterClass {
}
/**
* <pre>
* DGPADLEIDFM BLGGGJFHGCP = 15;
* </pre>
*
* <code>optional .SpBarInfo sp_bar = 16;</code>
* @param value the spBar to set
* @return this

View File

@ -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();
/**
* <code>repeated .BattleSkillInfo skill_list = 3;</code>
*/
private final RepeatedMessage<BattleSkillInfoOuterClass.BattleSkillInfo> skillList = RepeatedMessage.newEmptyInstance(BattleSkillInfoOuterClass.BattleSkillInfo.getFactory());
private BattleEventBattleInfo() {
}
@ -133,6 +139,76 @@ public final class BattleEventBattleInfoOuterClass {
return this;
}
/**
* <code>repeated .BattleSkillInfo skill_list = 3;</code>
* @return whether the skillList field is set
*/
public boolean hasSkillList() {
return (bitField0_ & 0x00000004) != 0;
}
/**
* <code>repeated .BattleSkillInfo skill_list = 3;</code>
* @return this
*/
public BattleEventBattleInfo clearSkillList() {
bitField0_ &= ~0x00000004;
skillList.clear();
return this;
}
/**
* <code>repeated .BattleSkillInfo skill_list = 3;</code>
*
* 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<BattleSkillInfoOuterClass.BattleSkillInfo> getSkillList() {
return skillList;
}
/**
* <code>repeated .BattleSkillInfo skill_list = 3;</code>
*
* 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<BattleSkillInfoOuterClass.BattleSkillInfo> getMutableSkillList() {
bitField0_ |= 0x00000004;
return skillList;
}
/**
* <code>repeated .BattleSkillInfo skill_list = 3;</code>
* @param value the skillList to add
* @return this
*/
public BattleEventBattleInfo addSkillList(
final BattleSkillInfoOuterClass.BattleSkillInfo value) {
bitField0_ |= 0x00000004;
skillList.add(value);
return this;
}
/**
* <code>repeated .BattleSkillInfo skill_list = 3;</code>
* @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");
}
}
}

View File

@ -39,6 +39,21 @@ public final class BattleRelicOuterClass {
*/
private int uniqueId;
/**
* <code>optional uint32 relic_id = 6;</code>
*/
private int relicId;
/**
* <code>optional uint32 slot = 7;</code>
*/
private int slot;
/**
* <code>optional uint32 DCKIHBLMEGF = 8;</code>
*/
private int dCKIHBLMEGF;
/**
* <code>repeated .RelicAffix sub_affix_list = 4;</code>
*/
@ -202,12 +217,123 @@ public final class BattleRelicOuterClass {
return this;
}
/**
* <code>optional uint32 relic_id = 6;</code>
* @return whether the relicId field is set
*/
public boolean hasRelicId() {
return (bitField0_ & 0x00000010) != 0;
}
/**
* <code>optional uint32 relic_id = 6;</code>
* @return this
*/
public BattleRelic clearRelicId() {
bitField0_ &= ~0x00000010;
relicId = 0;
return this;
}
/**
* <code>optional uint32 relic_id = 6;</code>
* @return the relicId
*/
public int getRelicId() {
return relicId;
}
/**
* <code>optional uint32 relic_id = 6;</code>
* @param value the relicId to set
* @return this
*/
public BattleRelic setRelicId(final int value) {
bitField0_ |= 0x00000010;
relicId = value;
return this;
}
/**
* <code>optional uint32 slot = 7;</code>
* @return whether the slot field is set
*/
public boolean hasSlot() {
return (bitField0_ & 0x00000020) != 0;
}
/**
* <code>optional uint32 slot = 7;</code>
* @return this
*/
public BattleRelic clearSlot() {
bitField0_ &= ~0x00000020;
slot = 0;
return this;
}
/**
* <code>optional uint32 slot = 7;</code>
* @return the slot
*/
public int getSlot() {
return slot;
}
/**
* <code>optional uint32 slot = 7;</code>
* @param value the slot to set
* @return this
*/
public BattleRelic setSlot(final int value) {
bitField0_ |= 0x00000020;
slot = value;
return this;
}
/**
* <code>optional uint32 DCKIHBLMEGF = 8;</code>
* @return whether the dCKIHBLMEGF field is set
*/
public boolean hasDCKIHBLMEGF() {
return (bitField0_ & 0x00000040) != 0;
}
/**
* <code>optional uint32 DCKIHBLMEGF = 8;</code>
* @return this
*/
public BattleRelic clearDCKIHBLMEGF() {
bitField0_ &= ~0x00000040;
dCKIHBLMEGF = 0;
return this;
}
/**
* <code>optional uint32 DCKIHBLMEGF = 8;</code>
* @return the dCKIHBLMEGF
*/
public int getDCKIHBLMEGF() {
return dCKIHBLMEGF;
}
/**
* <code>optional uint32 DCKIHBLMEGF = 8;</code>
* @param value the dCKIHBLMEGF to set
* @return this
*/
public BattleRelic setDCKIHBLMEGF(final int value) {
bitField0_ |= 0x00000040;
dCKIHBLMEGF = value;
return this;
}
/**
* <code>repeated .RelicAffix sub_affix_list = 4;</code>
* @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<RelicAffixOuterClass.RelicAffix> 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");
}
}

View File

@ -20,6 +20,10 @@ public final class SceneBattleInfoOuterClass {
private static final long serialVersionUID = 0L;
/**
* <pre>
* AHJODGJDJGA LMAPJDNAEKC = 450;
* </pre>
*
* <code>optional uint32 battle_id = 1;</code>
*/
private int battleId;
@ -29,6 +33,11 @@ public final class SceneBattleInfoOuterClass {
*/
private int stageId;
/**
* <code>optional uint32 GCNHGANFJKF = 9;</code>
*/
private int gCNHGANFJKF;
/**
* <code>optional uint32 rounds_limit = 11;</code>
*/
@ -44,6 +53,16 @@ public final class SceneBattleInfoOuterClass {
*/
private int worldLevel;
/**
* <code>optional bool CHELNDDEKPB = 10;</code>
*/
private boolean cHELNDDEKPB;
/**
* <code>optional .BattleMechanismBar mechanism_bar_info = 12;</code>
*/
private final BattleMechanismBarOuterClass.BattleMechanismBar mechanismBarInfo = BattleMechanismBarOuterClass.BattleMechanismBar.newInstance();
/**
* <code>repeated .SceneMonsterWave monster_wave_list = 2;</code>
*/
@ -80,6 +99,10 @@ public final class SceneBattleInfoOuterClass {
}
/**
* <pre>
* AHJODGJDJGA LMAPJDNAEKC = 450;
* </pre>
*
* <code>optional uint32 battle_id = 1;</code>
* @return whether the battleId field is set
*/
@ -88,6 +111,10 @@ public final class SceneBattleInfoOuterClass {
}
/**
* <pre>
* AHJODGJDJGA LMAPJDNAEKC = 450;
* </pre>
*
* <code>optional uint32 battle_id = 1;</code>
* @return this
*/
@ -98,6 +125,10 @@ public final class SceneBattleInfoOuterClass {
}
/**
* <pre>
* AHJODGJDJGA LMAPJDNAEKC = 450;
* </pre>
*
* <code>optional uint32 battle_id = 1;</code>
* @return the battleId
*/
@ -106,6 +137,10 @@ public final class SceneBattleInfoOuterClass {
}
/**
* <pre>
* AHJODGJDJGA LMAPJDNAEKC = 450;
* </pre>
*
* <code>optional uint32 battle_id = 1;</code>
* @param value the battleId to set
* @return this
@ -153,12 +188,49 @@ public final class SceneBattleInfoOuterClass {
return this;
}
/**
* <code>optional uint32 GCNHGANFJKF = 9;</code>
* @return whether the gCNHGANFJKF field is set
*/
public boolean hasGCNHGANFJKF() {
return (bitField0_ & 0x00000004) != 0;
}
/**
* <code>optional uint32 GCNHGANFJKF = 9;</code>
* @return this
*/
public SceneBattleInfo clearGCNHGANFJKF() {
bitField0_ &= ~0x00000004;
gCNHGANFJKF = 0;
return this;
}
/**
* <code>optional uint32 GCNHGANFJKF = 9;</code>
* @return the gCNHGANFJKF
*/
public int getGCNHGANFJKF() {
return gCNHGANFJKF;
}
/**
* <code>optional uint32 GCNHGANFJKF = 9;</code>
* @param value the gCNHGANFJKF to set
* @return this
*/
public SceneBattleInfo setGCNHGANFJKF(final int value) {
bitField0_ |= 0x00000004;
gCNHGANFJKF = value;
return this;
}
/**
* <code>optional uint32 rounds_limit = 11;</code>
* @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;
}
/**
* <code>optional bool CHELNDDEKPB = 10;</code>
* @return whether the cHELNDDEKPB field is set
*/
public boolean hasCHELNDDEKPB() {
return (bitField0_ & 0x00000040) != 0;
}
/**
* <code>optional bool CHELNDDEKPB = 10;</code>
* @return this
*/
public SceneBattleInfo clearCHELNDDEKPB() {
bitField0_ &= ~0x00000040;
cHELNDDEKPB = false;
return this;
}
/**
* <code>optional bool CHELNDDEKPB = 10;</code>
* @return the cHELNDDEKPB
*/
public boolean getCHELNDDEKPB() {
return cHELNDDEKPB;
}
/**
* <code>optional bool CHELNDDEKPB = 10;</code>
* @param value the cHELNDDEKPB to set
* @return this
*/
public SceneBattleInfo setCHELNDDEKPB(final boolean value) {
bitField0_ |= 0x00000040;
cHELNDDEKPB = value;
return this;
}
/**
* <code>optional .BattleMechanismBar mechanism_bar_info = 12;</code>
* @return whether the mechanismBarInfo field is set
*/
public boolean hasMechanismBarInfo() {
return (bitField0_ & 0x00000080) != 0;
}
/**
* <code>optional .BattleMechanismBar mechanism_bar_info = 12;</code>
* @return this
*/
public SceneBattleInfo clearMechanismBarInfo() {
bitField0_ &= ~0x00000080;
mechanismBarInfo.clear();
return this;
}
/**
* <code>optional .BattleMechanismBar mechanism_bar_info = 12;</code>
*
* 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;
}
/**
* <code>optional .BattleMechanismBar mechanism_bar_info = 12;</code>
*
* 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;
}
/**
* <code>optional .BattleMechanismBar mechanism_bar_info = 12;</code>
* @param value the mechanismBarInfo to set
* @return this
*/
public SceneBattleInfo setMechanismBarInfo(
final BattleMechanismBarOuterClass.BattleMechanismBar value) {
bitField0_ |= 0x00000080;
mechanismBarInfo.copyFrom(value);
return this;
}
/**
* <code>repeated .SceneMonsterWave monster_wave_list = 2;</code>
* @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<SceneMonsterWaveOuterClass.SceneMonsterWave> 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<BattleBuffOuterClass.BattleBuff> 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<BattleAvatarOuterClass.BattleAvatar> 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<BattleEventBattleInfoOuterClass.BattleEventBattleInfo> 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<BattleTargetInfoEntry> 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");

View File

@ -18,11 +18,26 @@ public final class SceneMonsterWaveParamOuterClass {
public static final class SceneMonsterWaveParam extends ProtoMessage<SceneMonsterWaveParam> implements Cloneable {
private static final long serialVersionUID = 0L;
/**
* <code>optional uint32 DNDLGLKFBHB = 5;</code>
*/
private int dNDLGLKFBHB;
/**
* <code>optional uint32 level = 8;</code>
*/
private int level;
/**
* <code>optional uint32 AGFKKDONMOI = 14;</code>
*/
private int aGFKKDONMOI;
/**
* <code>optional uint32 APKKFCLEGCI = 15;</code>
*/
private int aPKKFCLEGCI;
private SceneMonsterWaveParam() {
}
@ -33,12 +48,49 @@ public final class SceneMonsterWaveParamOuterClass {
return new SceneMonsterWaveParam();
}
/**
* <code>optional uint32 DNDLGLKFBHB = 5;</code>
* @return whether the dNDLGLKFBHB field is set
*/
public boolean hasDNDLGLKFBHB() {
return (bitField0_ & 0x00000001) != 0;
}
/**
* <code>optional uint32 DNDLGLKFBHB = 5;</code>
* @return this
*/
public SceneMonsterWaveParam clearDNDLGLKFBHB() {
bitField0_ &= ~0x00000001;
dNDLGLKFBHB = 0;
return this;
}
/**
* <code>optional uint32 DNDLGLKFBHB = 5;</code>
* @return the dNDLGLKFBHB
*/
public int getDNDLGLKFBHB() {
return dNDLGLKFBHB;
}
/**
* <code>optional uint32 DNDLGLKFBHB = 5;</code>
* @param value the dNDLGLKFBHB to set
* @return this
*/
public SceneMonsterWaveParam setDNDLGLKFBHB(final int value) {
bitField0_ |= 0x00000001;
dNDLGLKFBHB = value;
return this;
}
/**
* <code>optional uint32 level = 8;</code>
* @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;
}
/**
* <code>optional uint32 AGFKKDONMOI = 14;</code>
* @return whether the aGFKKDONMOI field is set
*/
public boolean hasAGFKKDONMOI() {
return (bitField0_ & 0x00000004) != 0;
}
/**
* <code>optional uint32 AGFKKDONMOI = 14;</code>
* @return this
*/
public SceneMonsterWaveParam clearAGFKKDONMOI() {
bitField0_ &= ~0x00000004;
aGFKKDONMOI = 0;
return this;
}
/**
* <code>optional uint32 AGFKKDONMOI = 14;</code>
* @return the aGFKKDONMOI
*/
public int getAGFKKDONMOI() {
return aGFKKDONMOI;
}
/**
* <code>optional uint32 AGFKKDONMOI = 14;</code>
* @param value the aGFKKDONMOI to set
* @return this
*/
public SceneMonsterWaveParam setAGFKKDONMOI(final int value) {
bitField0_ |= 0x00000004;
aGFKKDONMOI = value;
return this;
}
/**
* <code>optional uint32 APKKFCLEGCI = 15;</code>
* @return whether the aPKKFCLEGCI field is set
*/
public boolean hasAPKKFCLEGCI() {
return (bitField0_ & 0x00000008) != 0;
}
/**
* <code>optional uint32 APKKFCLEGCI = 15;</code>
* @return this
*/
public SceneMonsterWaveParam clearAPKKFCLEGCI() {
bitField0_ &= ~0x00000008;
aPKKFCLEGCI = 0;
return this;
}
/**
* <code>optional uint32 APKKFCLEGCI = 15;</code>
* @return the aPKKFCLEGCI
*/
public int getAPKKFCLEGCI() {
return aPKKFCLEGCI;
}
/**
* <code>optional uint32 APKKFCLEGCI = 15;</code>
* @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");
}
}
}

View File

@ -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) {

View File

@ -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;
}

View File

@ -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);
}

View File

@ -469,6 +469,8 @@ public class RogueInstance {
int amount = battle.getNpcMonsters().size();
this.createBuffSelect(amount);
}
} else {
this.getPlayer().getRogueManager().quitRogue();
}
}

View File

@ -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());
}
}

View File

@ -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);
}
}