mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-15 06:45:04 +01:00
Implement enabling rogue talents
This commit is contained in:
@@ -0,0 +1,260 @@
|
||||
// Code generated by protocol buffer compiler. Do not edit!
|
||||
package emu.lunarcore.proto;
|
||||
|
||||
import java.io.IOException;
|
||||
import us.hebi.quickbuf.FieldName;
|
||||
import us.hebi.quickbuf.InvalidProtocolBufferException;
|
||||
import us.hebi.quickbuf.JsonSink;
|
||||
import us.hebi.quickbuf.JsonSource;
|
||||
import us.hebi.quickbuf.MessageFactory;
|
||||
import us.hebi.quickbuf.ProtoMessage;
|
||||
import us.hebi.quickbuf.ProtoSink;
|
||||
import us.hebi.quickbuf.ProtoSource;
|
||||
|
||||
public final class EnableRogueTalentCsReqOuterClass {
|
||||
/**
|
||||
* Protobuf type {@code EnableRogueTalentCsReq}
|
||||
*/
|
||||
public static final class EnableRogueTalentCsReq extends ProtoMessage<EnableRogueTalentCsReq> implements Cloneable {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <code>optional uint32 talent_id = 8;</code>
|
||||
*/
|
||||
private int talentId;
|
||||
|
||||
private EnableRogueTalentCsReq() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a new empty instance of {@code EnableRogueTalentCsReq}
|
||||
*/
|
||||
public static EnableRogueTalentCsReq newInstance() {
|
||||
return new EnableRogueTalentCsReq();
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 talent_id = 8;</code>
|
||||
* @return whether the talentId field is set
|
||||
*/
|
||||
public boolean hasTalentId() {
|
||||
return (bitField0_ & 0x00000001) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 talent_id = 8;</code>
|
||||
* @return this
|
||||
*/
|
||||
public EnableRogueTalentCsReq clearTalentId() {
|
||||
bitField0_ &= ~0x00000001;
|
||||
talentId = 0;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 talent_id = 8;</code>
|
||||
* @return the talentId
|
||||
*/
|
||||
public int getTalentId() {
|
||||
return talentId;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 talent_id = 8;</code>
|
||||
* @param value the talentId to set
|
||||
* @return this
|
||||
*/
|
||||
public EnableRogueTalentCsReq setTalentId(final int value) {
|
||||
bitField0_ |= 0x00000001;
|
||||
talentId = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentCsReq copyFrom(final EnableRogueTalentCsReq other) {
|
||||
cachedSize = other.cachedSize;
|
||||
if ((bitField0_ | other.bitField0_) != 0) {
|
||||
bitField0_ = other.bitField0_;
|
||||
talentId = other.talentId;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentCsReq mergeFrom(final EnableRogueTalentCsReq other) {
|
||||
if (other.isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
if (other.hasTalentId()) {
|
||||
setTalentId(other.talentId);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentCsReq clear() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
talentId = 0;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentCsReq clearQuick() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof EnableRogueTalentCsReq)) {
|
||||
return false;
|
||||
}
|
||||
EnableRogueTalentCsReq other = (EnableRogueTalentCsReq) o;
|
||||
return bitField0_ == other.bitField0_
|
||||
&& (!hasTalentId() || talentId == other.talentId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeTo(final ProtoSink output) throws IOException {
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
output.writeRawByte((byte) 64);
|
||||
output.writeUInt32NoTag(talentId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int computeSerializedSize() {
|
||||
int size = 0;
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
size += 1 + ProtoSink.computeUInt32SizeNoTag(talentId);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("fallthrough")
|
||||
public EnableRogueTalentCsReq mergeFrom(final ProtoSource input) throws IOException {
|
||||
// Enabled Fall-Through Optimization (QuickBuffers)
|
||||
int tag = input.readTag();
|
||||
while (true) {
|
||||
switch (tag) {
|
||||
case 64: {
|
||||
// talentId
|
||||
talentId = input.readUInt32();
|
||||
bitField0_ |= 0x00000001;
|
||||
tag = input.readTag();
|
||||
if (tag != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 0: {
|
||||
return this;
|
||||
}
|
||||
default: {
|
||||
if (!input.skipField(tag)) {
|
||||
return this;
|
||||
}
|
||||
tag = input.readTag();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeTo(final JsonSink output) throws IOException {
|
||||
output.beginObject();
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
output.writeUInt32(FieldNames.talentId, talentId);
|
||||
}
|
||||
output.endObject();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentCsReq mergeFrom(final JsonSource input) throws IOException {
|
||||
if (!input.beginObject()) {
|
||||
return this;
|
||||
}
|
||||
while (!input.isAtEnd()) {
|
||||
switch (input.readFieldHash()) {
|
||||
case -615305433:
|
||||
case -1894577842: {
|
||||
if (input.isAtField(FieldNames.talentId)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
talentId = input.readUInt32();
|
||||
bitField0_ |= 0x00000001;
|
||||
}
|
||||
} else {
|
||||
input.skipUnknownField();
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
input.skipUnknownField();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
input.endObject();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentCsReq clone() {
|
||||
return new EnableRogueTalentCsReq().copyFrom(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return ((bitField0_) == 0);
|
||||
}
|
||||
|
||||
public static EnableRogueTalentCsReq parseFrom(final byte[] data) throws
|
||||
InvalidProtocolBufferException {
|
||||
return ProtoMessage.mergeFrom(new EnableRogueTalentCsReq(), data).checkInitialized();
|
||||
}
|
||||
|
||||
public static EnableRogueTalentCsReq parseFrom(final ProtoSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new EnableRogueTalentCsReq(), input).checkInitialized();
|
||||
}
|
||||
|
||||
public static EnableRogueTalentCsReq parseFrom(final JsonSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new EnableRogueTalentCsReq(), input).checkInitialized();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return factory for creating EnableRogueTalentCsReq messages
|
||||
*/
|
||||
public static MessageFactory<EnableRogueTalentCsReq> getFactory() {
|
||||
return EnableRogueTalentCsReqFactory.INSTANCE;
|
||||
}
|
||||
|
||||
private enum EnableRogueTalentCsReqFactory implements MessageFactory<EnableRogueTalentCsReq> {
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentCsReq create() {
|
||||
return EnableRogueTalentCsReq.newInstance();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Contains name constants used for serializing JSON
|
||||
*/
|
||||
static class FieldNames {
|
||||
static final FieldName talentId = FieldName.forField("talentId", "talent_id");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,362 @@
|
||||
// Code generated by protocol buffer compiler. Do not edit!
|
||||
package emu.lunarcore.proto;
|
||||
|
||||
import java.io.IOException;
|
||||
import us.hebi.quickbuf.FieldName;
|
||||
import us.hebi.quickbuf.InvalidProtocolBufferException;
|
||||
import us.hebi.quickbuf.JsonSink;
|
||||
import us.hebi.quickbuf.JsonSource;
|
||||
import us.hebi.quickbuf.MessageFactory;
|
||||
import us.hebi.quickbuf.ProtoMessage;
|
||||
import us.hebi.quickbuf.ProtoSink;
|
||||
import us.hebi.quickbuf.ProtoSource;
|
||||
|
||||
public final class EnableRogueTalentScRspOuterClass {
|
||||
/**
|
||||
* Protobuf type {@code EnableRogueTalentScRsp}
|
||||
*/
|
||||
public static final class EnableRogueTalentScRsp extends ProtoMessage<EnableRogueTalentScRsp> implements Cloneable {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <code>optional uint32 retcode = 11;</code>
|
||||
*/
|
||||
private int retcode;
|
||||
|
||||
/**
|
||||
* <code>optional .RogueTalentInfo talent_info = 15;</code>
|
||||
*/
|
||||
private final RogueTalentInfoOuterClass.RogueTalentInfo talentInfo = RogueTalentInfoOuterClass.RogueTalentInfo.newInstance();
|
||||
|
||||
private EnableRogueTalentScRsp() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a new empty instance of {@code EnableRogueTalentScRsp}
|
||||
*/
|
||||
public static EnableRogueTalentScRsp newInstance() {
|
||||
return new EnableRogueTalentScRsp();
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 retcode = 11;</code>
|
||||
* @return whether the retcode field is set
|
||||
*/
|
||||
public boolean hasRetcode() {
|
||||
return (bitField0_ & 0x00000001) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 retcode = 11;</code>
|
||||
* @return this
|
||||
*/
|
||||
public EnableRogueTalentScRsp clearRetcode() {
|
||||
bitField0_ &= ~0x00000001;
|
||||
retcode = 0;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 retcode = 11;</code>
|
||||
* @return the retcode
|
||||
*/
|
||||
public int getRetcode() {
|
||||
return retcode;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint32 retcode = 11;</code>
|
||||
* @param value the retcode to set
|
||||
* @return this
|
||||
*/
|
||||
public EnableRogueTalentScRsp setRetcode(final int value) {
|
||||
bitField0_ |= 0x00000001;
|
||||
retcode = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueTalentInfo talent_info = 15;</code>
|
||||
* @return whether the talentInfo field is set
|
||||
*/
|
||||
public boolean hasTalentInfo() {
|
||||
return (bitField0_ & 0x00000002) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueTalentInfo talent_info = 15;</code>
|
||||
* @return this
|
||||
*/
|
||||
public EnableRogueTalentScRsp clearTalentInfo() {
|
||||
bitField0_ &= ~0x00000002;
|
||||
talentInfo.clear();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueTalentInfo talent_info = 15;</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 #getMutableTalentInfo()} if you want to modify it.
|
||||
*
|
||||
* @return internal storage object for reading
|
||||
*/
|
||||
public RogueTalentInfoOuterClass.RogueTalentInfo getTalentInfo() {
|
||||
return talentInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueTalentInfo talent_info = 15;</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 RogueTalentInfoOuterClass.RogueTalentInfo getMutableTalentInfo() {
|
||||
bitField0_ |= 0x00000002;
|
||||
return talentInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueTalentInfo talent_info = 15;</code>
|
||||
* @param value the talentInfo to set
|
||||
* @return this
|
||||
*/
|
||||
public EnableRogueTalentScRsp setTalentInfo(
|
||||
final RogueTalentInfoOuterClass.RogueTalentInfo value) {
|
||||
bitField0_ |= 0x00000002;
|
||||
talentInfo.copyFrom(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentScRsp copyFrom(final EnableRogueTalentScRsp other) {
|
||||
cachedSize = other.cachedSize;
|
||||
if ((bitField0_ | other.bitField0_) != 0) {
|
||||
bitField0_ = other.bitField0_;
|
||||
retcode = other.retcode;
|
||||
talentInfo.copyFrom(other.talentInfo);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentScRsp mergeFrom(final EnableRogueTalentScRsp other) {
|
||||
if (other.isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
if (other.hasRetcode()) {
|
||||
setRetcode(other.retcode);
|
||||
}
|
||||
if (other.hasTalentInfo()) {
|
||||
getMutableTalentInfo().mergeFrom(other.talentInfo);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentScRsp clear() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
retcode = 0;
|
||||
talentInfo.clear();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentScRsp clearQuick() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
talentInfo.clearQuick();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof EnableRogueTalentScRsp)) {
|
||||
return false;
|
||||
}
|
||||
EnableRogueTalentScRsp other = (EnableRogueTalentScRsp) o;
|
||||
return bitField0_ == other.bitField0_
|
||||
&& (!hasRetcode() || retcode == other.retcode)
|
||||
&& (!hasTalentInfo() || talentInfo.equals(other.talentInfo));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeTo(final ProtoSink output) throws IOException {
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
output.writeRawByte((byte) 88);
|
||||
output.writeUInt32NoTag(retcode);
|
||||
}
|
||||
if ((bitField0_ & 0x00000002) != 0) {
|
||||
output.writeRawByte((byte) 122);
|
||||
output.writeMessageNoTag(talentInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int computeSerializedSize() {
|
||||
int size = 0;
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
size += 1 + ProtoSink.computeUInt32SizeNoTag(retcode);
|
||||
}
|
||||
if ((bitField0_ & 0x00000002) != 0) {
|
||||
size += 1 + ProtoSink.computeMessageSizeNoTag(talentInfo);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("fallthrough")
|
||||
public EnableRogueTalentScRsp mergeFrom(final ProtoSource input) throws IOException {
|
||||
// Enabled Fall-Through Optimization (QuickBuffers)
|
||||
int tag = input.readTag();
|
||||
while (true) {
|
||||
switch (tag) {
|
||||
case 88: {
|
||||
// retcode
|
||||
retcode = input.readUInt32();
|
||||
bitField0_ |= 0x00000001;
|
||||
tag = input.readTag();
|
||||
if (tag != 122) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 122: {
|
||||
// talentInfo
|
||||
input.readMessage(talentInfo);
|
||||
bitField0_ |= 0x00000002;
|
||||
tag = input.readTag();
|
||||
if (tag != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 0: {
|
||||
return this;
|
||||
}
|
||||
default: {
|
||||
if (!input.skipField(tag)) {
|
||||
return this;
|
||||
}
|
||||
tag = input.readTag();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeTo(final JsonSink output) throws IOException {
|
||||
output.beginObject();
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
output.writeUInt32(FieldNames.retcode, retcode);
|
||||
}
|
||||
if ((bitField0_ & 0x00000002) != 0) {
|
||||
output.writeMessage(FieldNames.talentInfo, talentInfo);
|
||||
}
|
||||
output.endObject();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentScRsp mergeFrom(final JsonSource input) throws IOException {
|
||||
if (!input.beginObject()) {
|
||||
return this;
|
||||
}
|
||||
while (!input.isAtEnd()) {
|
||||
switch (input.readFieldHash()) {
|
||||
case 1097936398: {
|
||||
if (input.isAtField(FieldNames.retcode)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
retcode = input.readUInt32();
|
||||
bitField0_ |= 0x00000001;
|
||||
}
|
||||
} else {
|
||||
input.skipUnknownField();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1396978618:
|
||||
case 376840225: {
|
||||
if (input.isAtField(FieldNames.talentInfo)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
input.readMessage(talentInfo);
|
||||
bitField0_ |= 0x00000002;
|
||||
}
|
||||
} else {
|
||||
input.skipUnknownField();
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
input.skipUnknownField();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
input.endObject();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentScRsp clone() {
|
||||
return new EnableRogueTalentScRsp().copyFrom(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return ((bitField0_) == 0);
|
||||
}
|
||||
|
||||
public static EnableRogueTalentScRsp parseFrom(final byte[] data) throws
|
||||
InvalidProtocolBufferException {
|
||||
return ProtoMessage.mergeFrom(new EnableRogueTalentScRsp(), data).checkInitialized();
|
||||
}
|
||||
|
||||
public static EnableRogueTalentScRsp parseFrom(final ProtoSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new EnableRogueTalentScRsp(), input).checkInitialized();
|
||||
}
|
||||
|
||||
public static EnableRogueTalentScRsp parseFrom(final JsonSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new EnableRogueTalentScRsp(), input).checkInitialized();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return factory for creating EnableRogueTalentScRsp messages
|
||||
*/
|
||||
public static MessageFactory<EnableRogueTalentScRsp> getFactory() {
|
||||
return EnableRogueTalentScRspFactory.INSTANCE;
|
||||
}
|
||||
|
||||
private enum EnableRogueTalentScRspFactory implements MessageFactory<EnableRogueTalentScRsp> {
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public EnableRogueTalentScRsp create() {
|
||||
return EnableRogueTalentScRsp.newInstance();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Contains name constants used for serializing JSON
|
||||
*/
|
||||
static class FieldNames {
|
||||
static final FieldName retcode = FieldName.forField("retcode");
|
||||
|
||||
static final FieldName talentInfo = FieldName.forField("talentInfo", "talent_info");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,9 +56,9 @@ public final class RogueInfoOuterClass {
|
||||
private int status;
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItems rogue_virtual_items = 5;</code>
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 5;</code>
|
||||
*/
|
||||
private final RogueVirtualItemsOuterClass.RogueVirtualItems rogueVirtualItems = RogueVirtualItemsOuterClass.RogueVirtualItems.newInstance();
|
||||
private final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo rogueVirtualItemInfo = RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo.newInstance();
|
||||
|
||||
/**
|
||||
* <code>optional .RogueCurrentInfo rogue_progress = 83;</code>
|
||||
@@ -390,39 +390,39 @@ public final class RogueInfoOuterClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItems rogue_virtual_items = 5;</code>
|
||||
* @return whether the rogueVirtualItems field is set
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 5;</code>
|
||||
* @return whether the rogueVirtualItemInfo field is set
|
||||
*/
|
||||
public boolean hasRogueVirtualItems() {
|
||||
public boolean hasRogueVirtualItemInfo() {
|
||||
return (bitField0_ & 0x00000080) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItems rogue_virtual_items = 5;</code>
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 5;</code>
|
||||
* @return this
|
||||
*/
|
||||
public RogueInfo clearRogueVirtualItems() {
|
||||
public RogueInfo clearRogueVirtualItemInfo() {
|
||||
bitField0_ &= ~0x00000080;
|
||||
rogueVirtualItems.clear();
|
||||
rogueVirtualItemInfo.clear();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItems rogue_virtual_items = 5;</code>
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 5;</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 #getMutableRogueVirtualItems()} if you want to modify it.
|
||||
* Use {@link #getMutableRogueVirtualItemInfo()} if you want to modify it.
|
||||
*
|
||||
* @return internal storage object for reading
|
||||
*/
|
||||
public RogueVirtualItemsOuterClass.RogueVirtualItems getRogueVirtualItems() {
|
||||
return rogueVirtualItems;
|
||||
public RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getRogueVirtualItemInfo() {
|
||||
return rogueVirtualItemInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItems rogue_virtual_items = 5;</code>
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 5;</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
|
||||
@@ -430,20 +430,20 @@ public final class RogueInfoOuterClass {
|
||||
*
|
||||
* @return internal storage object for modifications
|
||||
*/
|
||||
public RogueVirtualItemsOuterClass.RogueVirtualItems getMutableRogueVirtualItems() {
|
||||
public RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getMutableRogueVirtualItemInfo() {
|
||||
bitField0_ |= 0x00000080;
|
||||
return rogueVirtualItems;
|
||||
return rogueVirtualItemInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItems rogue_virtual_items = 5;</code>
|
||||
* @param value the rogueVirtualItems to set
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 5;</code>
|
||||
* @param value the rogueVirtualItemInfo to set
|
||||
* @return this
|
||||
*/
|
||||
public RogueInfo setRogueVirtualItems(
|
||||
final RogueVirtualItemsOuterClass.RogueVirtualItems value) {
|
||||
public RogueInfo setRogueVirtualItemInfo(
|
||||
final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo value) {
|
||||
bitField0_ |= 0x00000080;
|
||||
rogueVirtualItems.copyFrom(value);
|
||||
rogueVirtualItemInfo.copyFrom(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -881,7 +881,7 @@ public final class RogueInfoOuterClass {
|
||||
talentPoints = other.talentPoints;
|
||||
hDBPIDMBJOH = other.hDBPIDMBJOH;
|
||||
status = other.status;
|
||||
rogueVirtualItems.copyFrom(other.rogueVirtualItems);
|
||||
rogueVirtualItemInfo.copyFrom(other.rogueVirtualItemInfo);
|
||||
rogueProgress.copyFrom(other.rogueProgress);
|
||||
rogueData.copyFrom(other.rogueData);
|
||||
rogueAeonInfo.copyFrom(other.rogueAeonInfo);
|
||||
@@ -920,8 +920,8 @@ public final class RogueInfoOuterClass {
|
||||
if (other.hasStatus()) {
|
||||
setStatusValue(other.status);
|
||||
}
|
||||
if (other.hasRogueVirtualItems()) {
|
||||
getMutableRogueVirtualItems().mergeFrom(other.rogueVirtualItems);
|
||||
if (other.hasRogueVirtualItemInfo()) {
|
||||
getMutableRogueVirtualItemInfo().mergeFrom(other.rogueVirtualItemInfo);
|
||||
}
|
||||
if (other.hasRogueProgress()) {
|
||||
getMutableRogueProgress().mergeFrom(other.rogueProgress);
|
||||
@@ -961,7 +961,7 @@ public final class RogueInfoOuterClass {
|
||||
talentPoints = 0;
|
||||
hDBPIDMBJOH = 0;
|
||||
status = 0;
|
||||
rogueVirtualItems.clear();
|
||||
rogueVirtualItemInfo.clear();
|
||||
rogueProgress.clear();
|
||||
rogueData.clear();
|
||||
rogueAeonInfo.clear();
|
||||
@@ -979,7 +979,7 @@ public final class RogueInfoOuterClass {
|
||||
}
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
rogueVirtualItems.clearQuick();
|
||||
rogueVirtualItemInfo.clearQuick();
|
||||
rogueProgress.clearQuick();
|
||||
rogueData.clearQuick();
|
||||
rogueAeonInfo.clearQuick();
|
||||
@@ -1007,7 +1007,7 @@ public final class RogueInfoOuterClass {
|
||||
&& (!hasTalentPoints() || talentPoints == other.talentPoints)
|
||||
&& (!hasHDBPIDMBJOH() || hDBPIDMBJOH == other.hDBPIDMBJOH)
|
||||
&& (!hasStatus() || status == other.status)
|
||||
&& (!hasRogueVirtualItems() || rogueVirtualItems.equals(other.rogueVirtualItems))
|
||||
&& (!hasRogueVirtualItemInfo() || rogueVirtualItemInfo.equals(other.rogueVirtualItemInfo))
|
||||
&& (!hasRogueProgress() || rogueProgress.equals(other.rogueProgress))
|
||||
&& (!hasRogueData() || rogueData.equals(other.rogueData))
|
||||
&& (!hasRogueAeonInfo() || rogueAeonInfo.equals(other.rogueAeonInfo))
|
||||
@@ -1049,7 +1049,7 @@ public final class RogueInfoOuterClass {
|
||||
}
|
||||
if ((bitField0_ & 0x00000080) != 0) {
|
||||
output.writeRawByte((byte) 42);
|
||||
output.writeMessageNoTag(rogueVirtualItems);
|
||||
output.writeMessageNoTag(rogueVirtualItemInfo);
|
||||
}
|
||||
if ((bitField0_ & 0x00000100) != 0) {
|
||||
output.writeRawLittleEndian16((short) 1434);
|
||||
@@ -1110,7 +1110,7 @@ public final class RogueInfoOuterClass {
|
||||
size += 1 + ProtoSink.computeEnumSizeNoTag(status);
|
||||
}
|
||||
if ((bitField0_ & 0x00000080) != 0) {
|
||||
size += 1 + ProtoSink.computeMessageSizeNoTag(rogueVirtualItems);
|
||||
size += 1 + ProtoSink.computeMessageSizeNoTag(rogueVirtualItemInfo);
|
||||
}
|
||||
if ((bitField0_ & 0x00000100) != 0) {
|
||||
size += 2 + ProtoSink.computeMessageSizeNoTag(rogueProgress);
|
||||
@@ -1210,8 +1210,8 @@ public final class RogueInfoOuterClass {
|
||||
}
|
||||
}
|
||||
case 42: {
|
||||
// rogueVirtualItems
|
||||
input.readMessage(rogueVirtualItems);
|
||||
// rogueVirtualItemInfo
|
||||
input.readMessage(rogueVirtualItemInfo);
|
||||
bitField0_ |= 0x00000080;
|
||||
tag = input.readTag();
|
||||
if (tag != 666) {
|
||||
@@ -1325,7 +1325,7 @@ public final class RogueInfoOuterClass {
|
||||
output.writeEnum(FieldNames.status, status, RogueStatusOuterClass.RogueStatus.converter());
|
||||
}
|
||||
if ((bitField0_ & 0x00000080) != 0) {
|
||||
output.writeMessage(FieldNames.rogueVirtualItems, rogueVirtualItems);
|
||||
output.writeMessage(FieldNames.rogueVirtualItemInfo, rogueVirtualItemInfo);
|
||||
}
|
||||
if ((bitField0_ & 0x00000100) != 0) {
|
||||
output.writeMessage(FieldNames.rogueProgress, rogueProgress);
|
||||
@@ -1444,11 +1444,11 @@ public final class RogueInfoOuterClass {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 370696815:
|
||||
case -768163865: {
|
||||
if (input.isAtField(FieldNames.rogueVirtualItems)) {
|
||||
case 1066755410:
|
||||
case 1452147457: {
|
||||
if (input.isAtField(FieldNames.rogueVirtualItemInfo)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
input.readMessage(rogueVirtualItems);
|
||||
input.readMessage(rogueVirtualItemInfo);
|
||||
bitField0_ |= 0x00000080;
|
||||
}
|
||||
} else {
|
||||
@@ -1606,7 +1606,7 @@ public final class RogueInfoOuterClass {
|
||||
|
||||
static final FieldName status = FieldName.forField("status");
|
||||
|
||||
static final FieldName rogueVirtualItems = FieldName.forField("rogueVirtualItems", "rogue_virtual_items");
|
||||
static final FieldName rogueVirtualItemInfo = FieldName.forField("rogueVirtualItemInfo", "rogue_virtual_item_info");
|
||||
|
||||
static final FieldName rogueProgress = FieldName.forField("rogueProgress", "rogue_progress");
|
||||
|
||||
|
||||
@@ -11,11 +11,11 @@ import us.hebi.quickbuf.ProtoMessage;
|
||||
import us.hebi.quickbuf.ProtoSink;
|
||||
import us.hebi.quickbuf.ProtoSource;
|
||||
|
||||
public final class RogueVirtualItemsOuterClass {
|
||||
public final class RogueVirtualItemInfoOuterClass {
|
||||
/**
|
||||
* Protobuf type {@code RogueVirtualItems}
|
||||
* Protobuf type {@code RogueVirtualItemInfo}
|
||||
*/
|
||||
public static final class RogueVirtualItems extends ProtoMessage<RogueVirtualItems> implements Cloneable {
|
||||
public static final class RogueVirtualItemInfo extends ProtoMessage<RogueVirtualItemInfo> implements Cloneable {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
@@ -38,14 +38,14 @@ public final class RogueVirtualItemsOuterClass {
|
||||
*/
|
||||
private int rogueTalentPoints;
|
||||
|
||||
private RogueVirtualItems() {
|
||||
private RogueVirtualItemInfo() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a new empty instance of {@code RogueVirtualItems}
|
||||
* @return a new empty instance of {@code RogueVirtualItemInfo}
|
||||
*/
|
||||
public static RogueVirtualItems newInstance() {
|
||||
return new RogueVirtualItems();
|
||||
public static RogueVirtualItemInfo newInstance() {
|
||||
return new RogueVirtualItemInfo();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -60,7 +60,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* <code>optional uint32 ALLDDMKKICK = 1;</code>
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems clearALLDDMKKICK() {
|
||||
public RogueVirtualItemInfo clearALLDDMKKICK() {
|
||||
bitField0_ &= ~0x00000001;
|
||||
aLLDDMKKICK = 0;
|
||||
return this;
|
||||
@@ -79,7 +79,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* @param value the aLLDDMKKICK to set
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems setALLDDMKKICK(final int value) {
|
||||
public RogueVirtualItemInfo setALLDDMKKICK(final int value) {
|
||||
bitField0_ |= 0x00000001;
|
||||
aLLDDMKKICK = value;
|
||||
return this;
|
||||
@@ -97,7 +97,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* <code>optional uint32 DOMMGENHGKE = 4;</code>
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems clearDOMMGENHGKE() {
|
||||
public RogueVirtualItemInfo clearDOMMGENHGKE() {
|
||||
bitField0_ &= ~0x00000002;
|
||||
dOMMGENHGKE = 0;
|
||||
return this;
|
||||
@@ -116,7 +116,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* @param value the dOMMGENHGKE to set
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems setDOMMGENHGKE(final int value) {
|
||||
public RogueVirtualItemInfo setDOMMGENHGKE(final int value) {
|
||||
bitField0_ |= 0x00000002;
|
||||
dOMMGENHGKE = value;
|
||||
return this;
|
||||
@@ -134,7 +134,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* <code>optional uint32 KMAGFHIIALA = 10;</code>
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems clearKMAGFHIIALA() {
|
||||
public RogueVirtualItemInfo clearKMAGFHIIALA() {
|
||||
bitField0_ &= ~0x00000004;
|
||||
kMAGFHIIALA = 0;
|
||||
return this;
|
||||
@@ -153,7 +153,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* @param value the kMAGFHIIALA to set
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems setKMAGFHIIALA(final int value) {
|
||||
public RogueVirtualItemInfo setKMAGFHIIALA(final int value) {
|
||||
bitField0_ |= 0x00000004;
|
||||
kMAGFHIIALA = value;
|
||||
return this;
|
||||
@@ -171,7 +171,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* <code>optional uint32 rogue_talent_points = 14;</code>
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems clearRogueTalentPoints() {
|
||||
public RogueVirtualItemInfo clearRogueTalentPoints() {
|
||||
bitField0_ &= ~0x00000008;
|
||||
rogueTalentPoints = 0;
|
||||
return this;
|
||||
@@ -190,14 +190,14 @@ public final class RogueVirtualItemsOuterClass {
|
||||
* @param value the rogueTalentPoints to set
|
||||
* @return this
|
||||
*/
|
||||
public RogueVirtualItems setRogueTalentPoints(final int value) {
|
||||
public RogueVirtualItemInfo setRogueTalentPoints(final int value) {
|
||||
bitField0_ |= 0x00000008;
|
||||
rogueTalentPoints = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RogueVirtualItems copyFrom(final RogueVirtualItems other) {
|
||||
public RogueVirtualItemInfo copyFrom(final RogueVirtualItemInfo other) {
|
||||
cachedSize = other.cachedSize;
|
||||
if ((bitField0_ | other.bitField0_) != 0) {
|
||||
bitField0_ = other.bitField0_;
|
||||
@@ -210,7 +210,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
}
|
||||
|
||||
@Override
|
||||
public RogueVirtualItems mergeFrom(final RogueVirtualItems other) {
|
||||
public RogueVirtualItemInfo mergeFrom(final RogueVirtualItemInfo other) {
|
||||
if (other.isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
@@ -231,7 +231,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
}
|
||||
|
||||
@Override
|
||||
public RogueVirtualItems clear() {
|
||||
public RogueVirtualItemInfo clear() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
@@ -245,7 +245,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
}
|
||||
|
||||
@Override
|
||||
public RogueVirtualItems clearQuick() {
|
||||
public RogueVirtualItemInfo clearQuick() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
@@ -259,10 +259,10 @@ public final class RogueVirtualItemsOuterClass {
|
||||
if (o == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof RogueVirtualItems)) {
|
||||
if (!(o instanceof RogueVirtualItemInfo)) {
|
||||
return false;
|
||||
}
|
||||
RogueVirtualItems other = (RogueVirtualItems) o;
|
||||
RogueVirtualItemInfo other = (RogueVirtualItemInfo) o;
|
||||
return bitField0_ == other.bitField0_
|
||||
&& (!hasALLDDMKKICK() || aLLDDMKKICK == other.aLLDDMKKICK)
|
||||
&& (!hasDOMMGENHGKE() || dOMMGENHGKE == other.dOMMGENHGKE)
|
||||
@@ -310,7 +310,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("fallthrough")
|
||||
public RogueVirtualItems mergeFrom(final ProtoSource input) throws IOException {
|
||||
public RogueVirtualItemInfo mergeFrom(final ProtoSource input) throws IOException {
|
||||
// Enabled Fall-Through Optimization (QuickBuffers)
|
||||
int tag = input.readTag();
|
||||
while (true) {
|
||||
@@ -384,7 +384,7 @@ public final class RogueVirtualItemsOuterClass {
|
||||
}
|
||||
|
||||
@Override
|
||||
public RogueVirtualItems mergeFrom(final JsonSource input) throws IOException {
|
||||
public RogueVirtualItemInfo mergeFrom(final JsonSource input) throws IOException {
|
||||
if (!input.beginObject()) {
|
||||
return this;
|
||||
}
|
||||
@@ -446,8 +446,8 @@ public final class RogueVirtualItemsOuterClass {
|
||||
}
|
||||
|
||||
@Override
|
||||
public RogueVirtualItems clone() {
|
||||
return new RogueVirtualItems().copyFrom(this);
|
||||
public RogueVirtualItemInfo clone() {
|
||||
return new RogueVirtualItemInfo().copyFrom(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -455,32 +455,32 @@ public final class RogueVirtualItemsOuterClass {
|
||||
return ((bitField0_) == 0);
|
||||
}
|
||||
|
||||
public static RogueVirtualItems parseFrom(final byte[] data) throws
|
||||
public static RogueVirtualItemInfo parseFrom(final byte[] data) throws
|
||||
InvalidProtocolBufferException {
|
||||
return ProtoMessage.mergeFrom(new RogueVirtualItems(), data).checkInitialized();
|
||||
return ProtoMessage.mergeFrom(new RogueVirtualItemInfo(), data).checkInitialized();
|
||||
}
|
||||
|
||||
public static RogueVirtualItems parseFrom(final ProtoSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new RogueVirtualItems(), input).checkInitialized();
|
||||
public static RogueVirtualItemInfo parseFrom(final ProtoSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new RogueVirtualItemInfo(), input).checkInitialized();
|
||||
}
|
||||
|
||||
public static RogueVirtualItems parseFrom(final JsonSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new RogueVirtualItems(), input).checkInitialized();
|
||||
public static RogueVirtualItemInfo parseFrom(final JsonSource input) throws IOException {
|
||||
return ProtoMessage.mergeFrom(new RogueVirtualItemInfo(), input).checkInitialized();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return factory for creating RogueVirtualItems messages
|
||||
* @return factory for creating RogueVirtualItemInfo messages
|
||||
*/
|
||||
public static MessageFactory<RogueVirtualItems> getFactory() {
|
||||
return RogueVirtualItemsFactory.INSTANCE;
|
||||
public static MessageFactory<RogueVirtualItemInfo> getFactory() {
|
||||
return RogueVirtualItemInfoFactory.INSTANCE;
|
||||
}
|
||||
|
||||
private enum RogueVirtualItemsFactory implements MessageFactory<RogueVirtualItems> {
|
||||
private enum RogueVirtualItemInfoFactory implements MessageFactory<RogueVirtualItemInfo> {
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public RogueVirtualItems create() {
|
||||
return RogueVirtualItems.newInstance();
|
||||
public RogueVirtualItemInfo create() {
|
||||
return RogueVirtualItemInfo.newInstance();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,285 @@
|
||||
// Code generated by protocol buffer compiler. Do not edit!
|
||||
package emu.lunarcore.proto;
|
||||
|
||||
import java.io.IOException;
|
||||
import us.hebi.quickbuf.FieldName;
|
||||
import us.hebi.quickbuf.InvalidProtocolBufferException;
|
||||
import us.hebi.quickbuf.JsonSink;
|
||||
import us.hebi.quickbuf.JsonSource;
|
||||
import us.hebi.quickbuf.MessageFactory;
|
||||
import us.hebi.quickbuf.ProtoMessage;
|
||||
import us.hebi.quickbuf.ProtoSink;
|
||||
import us.hebi.quickbuf.ProtoSource;
|
||||
|
||||
public final class SyncRogueVirtualItemInfoScNotifyOuterClass {
|
||||
/**
|
||||
* Protobuf type {@code SyncRogueVirtualItemInfoScNotify}
|
||||
*/
|
||||
public static final class SyncRogueVirtualItemInfoScNotify extends ProtoMessage<SyncRogueVirtualItemInfoScNotify> implements Cloneable {
|
||||
private static final long serialVersionUID = 0L;
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 15;</code>
|
||||
*/
|
||||
private final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo rogueVirtualItemInfo = RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo.newInstance();
|
||||
|
||||
private SyncRogueVirtualItemInfoScNotify() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a new empty instance of {@code SyncRogueVirtualItemInfoScNotify}
|
||||
*/
|
||||
public static SyncRogueVirtualItemInfoScNotify newInstance() {
|
||||
return new SyncRogueVirtualItemInfoScNotify();
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 15;</code>
|
||||
* @return whether the rogueVirtualItemInfo field is set
|
||||
*/
|
||||
public boolean hasRogueVirtualItemInfo() {
|
||||
return (bitField0_ & 0x00000001) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 15;</code>
|
||||
* @return this
|
||||
*/
|
||||
public SyncRogueVirtualItemInfoScNotify clearRogueVirtualItemInfo() {
|
||||
bitField0_ &= ~0x00000001;
|
||||
rogueVirtualItemInfo.clear();
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 15;</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 #getMutableRogueVirtualItemInfo()} if you want to modify it.
|
||||
*
|
||||
* @return internal storage object for reading
|
||||
*/
|
||||
public RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getRogueVirtualItemInfo() {
|
||||
return rogueVirtualItemInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 15;</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 RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getMutableRogueVirtualItemInfo() {
|
||||
bitField0_ |= 0x00000001;
|
||||
return rogueVirtualItemInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .RogueVirtualItemInfo rogue_virtual_item_info = 15;</code>
|
||||
* @param value the rogueVirtualItemInfo to set
|
||||
* @return this
|
||||
*/
|
||||
public SyncRogueVirtualItemInfoScNotify setRogueVirtualItemInfo(
|
||||
final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo value) {
|
||||
bitField0_ |= 0x00000001;
|
||||
rogueVirtualItemInfo.copyFrom(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncRogueVirtualItemInfoScNotify copyFrom(final SyncRogueVirtualItemInfoScNotify other) {
|
||||
cachedSize = other.cachedSize;
|
||||
if ((bitField0_ | other.bitField0_) != 0) {
|
||||
bitField0_ = other.bitField0_;
|
||||
rogueVirtualItemInfo.copyFrom(other.rogueVirtualItemInfo);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncRogueVirtualItemInfoScNotify mergeFrom(
|
||||
final SyncRogueVirtualItemInfoScNotify other) {
|
||||
if (other.isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
if (other.hasRogueVirtualItemInfo()) {
|
||||
getMutableRogueVirtualItemInfo().mergeFrom(other.rogueVirtualItemInfo);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncRogueVirtualItemInfoScNotify clear() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
rogueVirtualItemInfo.clear();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncRogueVirtualItemInfoScNotify clearQuick() {
|
||||
if (isEmpty()) {
|
||||
return this;
|
||||
}
|
||||
cachedSize = -1;
|
||||
bitField0_ = 0;
|
||||
rogueVirtualItemInfo.clearQuick();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof SyncRogueVirtualItemInfoScNotify)) {
|
||||
return false;
|
||||
}
|
||||
SyncRogueVirtualItemInfoScNotify other = (SyncRogueVirtualItemInfoScNotify) o;
|
||||
return bitField0_ == other.bitField0_
|
||||
&& (!hasRogueVirtualItemInfo() || rogueVirtualItemInfo.equals(other.rogueVirtualItemInfo));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeTo(final ProtoSink output) throws IOException {
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
output.writeRawByte((byte) 122);
|
||||
output.writeMessageNoTag(rogueVirtualItemInfo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int computeSerializedSize() {
|
||||
int size = 0;
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
size += 1 + ProtoSink.computeMessageSizeNoTag(rogueVirtualItemInfo);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("fallthrough")
|
||||
public SyncRogueVirtualItemInfoScNotify mergeFrom(final ProtoSource input) throws IOException {
|
||||
// Enabled Fall-Through Optimization (QuickBuffers)
|
||||
int tag = input.readTag();
|
||||
while (true) {
|
||||
switch (tag) {
|
||||
case 122: {
|
||||
// rogueVirtualItemInfo
|
||||
input.readMessage(rogueVirtualItemInfo);
|
||||
bitField0_ |= 0x00000001;
|
||||
tag = input.readTag();
|
||||
if (tag != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 0: {
|
||||
return this;
|
||||
}
|
||||
default: {
|
||||
if (!input.skipField(tag)) {
|
||||
return this;
|
||||
}
|
||||
tag = input.readTag();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeTo(final JsonSink output) throws IOException {
|
||||
output.beginObject();
|
||||
if ((bitField0_ & 0x00000001) != 0) {
|
||||
output.writeMessage(FieldNames.rogueVirtualItemInfo, rogueVirtualItemInfo);
|
||||
}
|
||||
output.endObject();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncRogueVirtualItemInfoScNotify mergeFrom(final JsonSource input) throws IOException {
|
||||
if (!input.beginObject()) {
|
||||
return this;
|
||||
}
|
||||
while (!input.isAtEnd()) {
|
||||
switch (input.readFieldHash()) {
|
||||
case 1066755410:
|
||||
case 1452147457: {
|
||||
if (input.isAtField(FieldNames.rogueVirtualItemInfo)) {
|
||||
if (!input.trySkipNullValue()) {
|
||||
input.readMessage(rogueVirtualItemInfo);
|
||||
bitField0_ |= 0x00000001;
|
||||
}
|
||||
} else {
|
||||
input.skipUnknownField();
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
input.skipUnknownField();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
input.endObject();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SyncRogueVirtualItemInfoScNotify clone() {
|
||||
return new SyncRogueVirtualItemInfoScNotify().copyFrom(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return ((bitField0_) == 0);
|
||||
}
|
||||
|
||||
public static SyncRogueVirtualItemInfoScNotify parseFrom(final byte[] data) throws
|
||||
InvalidProtocolBufferException {
|
||||
return ProtoMessage.mergeFrom(new SyncRogueVirtualItemInfoScNotify(), data).checkInitialized();
|
||||
}
|
||||
|
||||
public static SyncRogueVirtualItemInfoScNotify parseFrom(final ProtoSource input) throws
|
||||
IOException {
|
||||
return ProtoMessage.mergeFrom(new SyncRogueVirtualItemInfoScNotify(), input).checkInitialized();
|
||||
}
|
||||
|
||||
public static SyncRogueVirtualItemInfoScNotify parseFrom(final JsonSource input) throws
|
||||
IOException {
|
||||
return ProtoMessage.mergeFrom(new SyncRogueVirtualItemInfoScNotify(), input).checkInitialized();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return factory for creating SyncRogueVirtualItemInfoScNotify messages
|
||||
*/
|
||||
public static MessageFactory<SyncRogueVirtualItemInfoScNotify> getFactory() {
|
||||
return SyncRogueVirtualItemInfoScNotifyFactory.INSTANCE;
|
||||
}
|
||||
|
||||
private enum SyncRogueVirtualItemInfoScNotifyFactory implements MessageFactory<SyncRogueVirtualItemInfoScNotify> {
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public SyncRogueVirtualItemInfoScNotify create() {
|
||||
return SyncRogueVirtualItemInfoScNotify.newInstance();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Contains name constants used for serializing JSON
|
||||
*/
|
||||
static class FieldNames {
|
||||
static final FieldName rogueVirtualItemInfo = FieldName.forField("rogueVirtualItemInfo", "rogue_virtual_item_info");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,7 @@ import emu.lunarcore.game.scene.triggers.PropTriggerType;
|
||||
import emu.lunarcore.proto.BoardDataSyncOuterClass.BoardDataSync;
|
||||
import emu.lunarcore.proto.HeadIconOuterClass.HeadIcon;
|
||||
import emu.lunarcore.proto.PlayerBasicInfoOuterClass.PlayerBasicInfo;
|
||||
import emu.lunarcore.proto.RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo;
|
||||
import emu.lunarcore.server.game.GameServer;
|
||||
import emu.lunarcore.server.game.GameSession;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
@@ -45,6 +46,7 @@ import emu.lunarcore.server.packet.SessionState;
|
||||
import emu.lunarcore.server.packet.send.PacketEnterSceneByServerScNotify;
|
||||
import emu.lunarcore.server.packet.send.PacketPlayerSyncScNotify;
|
||||
import emu.lunarcore.server.packet.send.PacketSceneEntityMoveScNotify;
|
||||
import emu.lunarcore.server.packet.send.PacketSyncRogueVirtualItemInfoScNotify;
|
||||
import emu.lunarcore.util.Position;
|
||||
|
||||
import lombok.Getter;
|
||||
@@ -303,6 +305,7 @@ public class Player {
|
||||
|
||||
public void addTalentPoints(int amount) {
|
||||
this.talentPoints += amount;
|
||||
this.sendPacket(new PacketSyncRogueVirtualItemInfoScNotify(this));
|
||||
}
|
||||
|
||||
public void addStamina(int amount) {
|
||||
@@ -548,7 +551,8 @@ public class Player {
|
||||
this.getInventory().loadFromDatabase();
|
||||
this.getMailbox().loadFromDatabase();
|
||||
this.getChallengeManager().loadFromDatabase();
|
||||
|
||||
this.getRogueManager().loadFromDatabase();
|
||||
|
||||
// Load Etc
|
||||
this.getLineupManager().validate(this);
|
||||
this.getAvatars().setupHeroPaths();
|
||||
@@ -588,4 +592,11 @@ public class Player {
|
||||
|
||||
return proto;
|
||||
}
|
||||
|
||||
public RogueVirtualItemInfo toRogueVirtualItemsProto() {
|
||||
var proto = RogueVirtualItemInfo.newInstance()
|
||||
.setRogueTalentPoints(this.getTalentPoints());
|
||||
|
||||
return proto;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,10 @@ import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import emu.lunarcore.GameConstants;
|
||||
import emu.lunarcore.LunarCore;
|
||||
import emu.lunarcore.data.GameData;
|
||||
import emu.lunarcore.data.GameDepot;
|
||||
import emu.lunarcore.data.excel.RogueTalentExcel;
|
||||
import emu.lunarcore.game.player.BasePlayerManager;
|
||||
import emu.lunarcore.game.player.Player;
|
||||
import emu.lunarcore.game.player.PlayerLineup;
|
||||
@@ -17,15 +19,53 @@ import emu.lunarcore.proto.RogueInfoDataOuterClass.RogueInfoData;
|
||||
import emu.lunarcore.proto.RogueInfoOuterClass.RogueInfo;
|
||||
import emu.lunarcore.proto.RogueScoreRewardInfoOuterClass.RogueScoreRewardInfo;
|
||||
import emu.lunarcore.proto.RogueSeasonInfoOuterClass.RogueSeasonInfo;
|
||||
import emu.lunarcore.proto.RogueTalentInfoOuterClass.RogueTalentInfo;
|
||||
import emu.lunarcore.proto.RogueTalentOuterClass.RogueTalent;
|
||||
import emu.lunarcore.proto.RogueTalentStatusOuterClass.RogueTalentStatus;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
import emu.lunarcore.server.packet.send.PacketStartRogueScRsp;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
||||
import it.unimi.dsi.fastutil.ints.IntSet;
|
||||
import lombok.Getter;
|
||||
import us.hebi.quickbuf.RepeatedInt;
|
||||
|
||||
@Getter
|
||||
public class RogueManager extends BasePlayerManager {
|
||||
private IntSet talents;
|
||||
|
||||
public RogueManager(Player player) {
|
||||
super(player);
|
||||
this.talents = new IntOpenHashSet();
|
||||
}
|
||||
|
||||
public boolean hasTalent(int talentId) {
|
||||
return this.getTalents().contains(talentId);
|
||||
}
|
||||
|
||||
public boolean enableTalent(int talentId) {
|
||||
// Sanity check so we dont enable the same talent
|
||||
if (this.getTalents().contains(talentId)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Get talent excel
|
||||
RogueTalentExcel excel = GameData.getRogueTalentExcelMap().get(talentId);
|
||||
if (excel == null) return false;
|
||||
|
||||
// Verify items
|
||||
if (!getPlayer().getInventory().verifyItems(excel.getCost())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Pay items
|
||||
getPlayer().getInventory().removeItemsByParams(excel.getCost());
|
||||
|
||||
// Add talent
|
||||
RogueTalentData talent = new RogueTalentData(getPlayer(), excel.getTalentID());
|
||||
talent.save();
|
||||
|
||||
return getTalents().add(talentId);
|
||||
}
|
||||
|
||||
public void startRogue(int areaId, int aeonId, RepeatedInt avatarIdList) {
|
||||
@@ -133,26 +173,24 @@ public class RogueManager extends BasePlayerManager {
|
||||
.setRogueScoreInfo(score)
|
||||
.setRogueAeonInfo(aeonInfo)
|
||||
.setRogueData(data)
|
||||
.setRogueVirtualItemInfo(getPlayer().toRogueVirtualItemsProto())
|
||||
.setTalentPoints(getPlayer().getTalentPoints())
|
||||
.setSeasonId(seasonId)
|
||||
.setBeginTime(beginTime)
|
||||
.setEndTime(endTime);
|
||||
|
||||
proto.getMutableRogueVirtualItems()
|
||||
.setRogueTalentPoints(getPlayer().getTalentPoints());
|
||||
|
||||
// Rogue data
|
||||
RogueInstance curRogue = this.getPlayer().getRogueInstance();
|
||||
if (curRogue != null) {
|
||||
proto.setStatus(curRogue.getStatus());
|
||||
RogueInstance instance = this.getPlayer().getRogueInstance();
|
||||
if (instance != null) {
|
||||
proto.setStatus(instance.getStatus());
|
||||
proto.setRogueProgress(this.getPlayer().getRogueInstance().toProto());
|
||||
proto.setRoomMap(proto.getRogueProgress().getRoomMap());
|
||||
|
||||
for (int id : curRogue.getBaseAvatarIds()) {
|
||||
for (int id : instance.getBaseAvatarIds()) {
|
||||
proto.addBaseAvatarIdList(id);
|
||||
}
|
||||
|
||||
aeonInfo.setSelectedAeonId(curRogue.getAeonId());
|
||||
aeonInfo.setSelectedAeonId(instance.getAeonId());
|
||||
}
|
||||
|
||||
// Add areas
|
||||
@@ -165,10 +203,10 @@ public class RogueManager extends BasePlayerManager {
|
||||
.setAreaId(excel.getRogueAreaID())
|
||||
.setRogueAreaStatus(RogueAreaStatus.ROGUE_AREA_STATUS_FIRST_PASS);
|
||||
|
||||
if (curRogue != null && excel == curRogue.getExcel()) {
|
||||
area.setMapId(curRogue.getExcel().getMapId());
|
||||
area.setCurReachRoomNum(curRogue.getCurrentRoomProgress());
|
||||
area.setRogueStatus(curRogue.getStatus());
|
||||
if (instance != null && excel == instance.getExcel()) {
|
||||
area.setMapId(instance.getExcel().getMapId());
|
||||
area.setCurReachRoomNum(instance.getCurrentRoomProgress());
|
||||
area.setRogueStatus(instance.getStatus());
|
||||
}
|
||||
|
||||
proto.addRogueAreaList(area);
|
||||
@@ -177,4 +215,34 @@ public class RogueManager extends BasePlayerManager {
|
||||
|
||||
return proto;
|
||||
}
|
||||
|
||||
public RogueTalentInfo toTalentInfoProto() {
|
||||
var proto = RogueTalentInfo.newInstance();
|
||||
|
||||
for (RogueTalentExcel excel : GameData.getRogueTalentExcelMap().values()) {
|
||||
var talent = RogueTalent.newInstance()
|
||||
.setTalentId(excel.getTalentID());
|
||||
|
||||
if (this.hasTalent(excel.getTalentID())) {
|
||||
talent.setStatus(RogueTalentStatus.ROGUE_TALENT_STATUS_ENABLE);
|
||||
} else {
|
||||
talent.setStatus(RogueTalentStatus.ROGUE_TALENT_STATUS_UNLOCK);
|
||||
}
|
||||
|
||||
proto.addRogueTalent(talent);
|
||||
}
|
||||
|
||||
return proto;
|
||||
}
|
||||
|
||||
// Database
|
||||
|
||||
public void loadFromDatabase() {
|
||||
// Load talent data
|
||||
var stream = LunarCore.getGameDatabase().getObjects(RogueTalentData.class, "ownerUid", this.getPlayer().getUid());
|
||||
|
||||
stream.forEach(talent -> {
|
||||
this.getTalents().add(talent.getTalentId());
|
||||
});
|
||||
}
|
||||
}
|
||||
33
src/main/java/emu/lunarcore/game/rogue/RogueTalentData.java
Normal file
33
src/main/java/emu/lunarcore/game/rogue/RogueTalentData.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package emu.lunarcore.game.rogue;
|
||||
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
import dev.morphia.annotations.Entity;
|
||||
import dev.morphia.annotations.Id;
|
||||
import dev.morphia.annotations.Indexed;
|
||||
import emu.lunarcore.LunarCore;
|
||||
import emu.lunarcore.game.player.Player;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@Entity(value = "rogueTalents", useDiscriminator = false)
|
||||
public class RogueTalentData {
|
||||
@Id
|
||||
private ObjectId id;
|
||||
|
||||
@Indexed
|
||||
private int ownerUid;
|
||||
private int talentId;
|
||||
|
||||
@Deprecated // Morphia only
|
||||
public RogueTalentData() {}
|
||||
|
||||
public RogueTalentData(Player player, int talentId) {
|
||||
this.ownerUid = player.getUid();
|
||||
this.talentId = talentId;
|
||||
}
|
||||
|
||||
public void save() {
|
||||
LunarCore.getGameDatabase().save(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package emu.lunarcore.server.packet.recv;
|
||||
|
||||
import emu.lunarcore.proto.EnableRogueTalentCsReqOuterClass.EnableRogueTalentCsReq;
|
||||
import emu.lunarcore.server.game.GameSession;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
import emu.lunarcore.server.packet.Opcodes;
|
||||
import emu.lunarcore.server.packet.PacketHandler;
|
||||
import emu.lunarcore.server.packet.send.PacketEnableRogueTalentScRsp;
|
||||
|
||||
@Opcodes(CmdId.EnableRogueTalentCsReq)
|
||||
public class HandlerEnableRogueTalentCsReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] data) throws Exception {
|
||||
var req = EnableRogueTalentCsReq.parseFrom(data);
|
||||
|
||||
if (session.getPlayer().getRogueManager().enableTalent(req.getTalentId())) {
|
||||
session.send(new PacketEnableRogueTalentScRsp(session.getPlayer().getRogueManager()));
|
||||
} else {
|
||||
session.send(new PacketEnableRogueTalentScRsp());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.game.rogue.RogueManager;
|
||||
import emu.lunarcore.proto.EnableRogueTalentScRspOuterClass.EnableRogueTalentScRsp;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
public class PacketEnableRogueTalentScRsp extends BasePacket {
|
||||
|
||||
public PacketEnableRogueTalentScRsp() {
|
||||
super(CmdId.EnableRogueTalentScRsp);
|
||||
|
||||
var data = EnableRogueTalentScRsp.newInstance()
|
||||
.setRetcode(1);
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
|
||||
public PacketEnableRogueTalentScRsp(RogueManager rogueManager) {
|
||||
super(CmdId.EnableRogueTalentScRsp);
|
||||
|
||||
var data = EnableRogueTalentScRsp.newInstance()
|
||||
.setTalentInfo(rogueManager.toTalentInfoProto());
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,11 +1,7 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.data.GameData;
|
||||
import emu.lunarcore.data.excel.RogueTalentExcel;
|
||||
import emu.lunarcore.game.rogue.RogueManager;
|
||||
import emu.lunarcore.proto.GetRogueTalentInfoScRspOuterClass.GetRogueTalentInfoScRsp;
|
||||
import emu.lunarcore.proto.RogueTalentOuterClass.RogueTalent;
|
||||
import emu.lunarcore.proto.RogueTalentStatusOuterClass.RogueTalentStatus;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
@@ -14,15 +10,8 @@ public class PacketGetRogueTalentInfoScRsp extends BasePacket {
|
||||
public PacketGetRogueTalentInfoScRsp(RogueManager rogueManager) {
|
||||
super(CmdId.GetRogueTalentInfoScRsp);
|
||||
|
||||
var data = GetRogueTalentInfoScRsp.newInstance();
|
||||
|
||||
for (RogueTalentExcel excel : GameData.getRogueTalentExcelMap().values()) {
|
||||
var talent = RogueTalent.newInstance()
|
||||
.setTalentId(excel.getTalentID())
|
||||
.setStatus(RogueTalentStatus.ROGUE_TALENT_STATUS_UNLOCK);
|
||||
|
||||
data.getMutableTalentInfo().addRogueTalent(talent);
|
||||
}
|
||||
var data = GetRogueTalentInfoScRsp.newInstance()
|
||||
.setTalentInfo(rogueManager.toTalentInfoProto());
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package emu.lunarcore.server.packet.send;
|
||||
|
||||
import emu.lunarcore.game.player.Player;
|
||||
import emu.lunarcore.proto.SyncRogueVirtualItemInfoScNotifyOuterClass.SyncRogueVirtualItemInfoScNotify;
|
||||
import emu.lunarcore.server.packet.BasePacket;
|
||||
import emu.lunarcore.server.packet.CmdId;
|
||||
|
||||
public class PacketSyncRogueVirtualItemInfoScNotify extends BasePacket {
|
||||
|
||||
public PacketSyncRogueVirtualItemInfoScNotify(Player player) {
|
||||
super(CmdId.SyncRogueVirtualItemInfoScNotify);
|
||||
|
||||
var data = SyncRogueVirtualItemInfoScNotify.newInstance()
|
||||
.setRogueVirtualItemInfo(player.toRogueVirtualItemsProto());
|
||||
|
||||
this.setData(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user