From 020af7ce9d61dd7e71fd44f4ce184048d9acf3d4 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Thu, 28 Mar 2024 01:41:58 -0700 Subject: [PATCH] Fix SU talent tree --- .../RogueCurVirtualItemInfoOuterClass.java | 341 ++++++++++++++++++ .../proto/RogueCurrentInfoOuterClass.java | 20 +- .../proto/RogueInfoDataOuterClass.java | 21 +- .../proto/RogueVirtualItemInfoOuterClass.java | 311 ++++++++++++---- .../emu/lunarcore/game/player/Player.java | 12 +- .../game/rogue/RogueBuffSelectMenu.java | 1 - .../lunarcore/game/rogue/RogueInstance.java | 17 +- .../lunarcore/game/rogue/RogueManager.java | 25 +- ...acketSyncRogueVirtualItemInfoScNotify.java | 7 +- 9 files changed, 638 insertions(+), 117 deletions(-) create mode 100644 src/generated/main/emu/lunarcore/proto/RogueCurVirtualItemInfoOuterClass.java diff --git a/src/generated/main/emu/lunarcore/proto/RogueCurVirtualItemInfoOuterClass.java b/src/generated/main/emu/lunarcore/proto/RogueCurVirtualItemInfoOuterClass.java new file mode 100644 index 0000000..bfce899 --- /dev/null +++ b/src/generated/main/emu/lunarcore/proto/RogueCurVirtualItemInfoOuterClass.java @@ -0,0 +1,341 @@ +// 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 RogueCurVirtualItemInfoOuterClass { + /** + * Protobuf type {@code RogueCurVirtualItemInfo} + */ + public static final class RogueCurVirtualItemInfo extends ProtoMessage implements Cloneable { + private static final long serialVersionUID = 0L; + + /** + * optional uint32 cur_rogue_coin = 8; + */ + private int curRogueCoin; + + /** + * optional uint32 cur_rogue_ability_point = 9; + */ + private int curRogueAbilityPoint; + + private RogueCurVirtualItemInfo() { + } + + /** + * @return a new empty instance of {@code RogueCurVirtualItemInfo} + */ + public static RogueCurVirtualItemInfo newInstance() { + return new RogueCurVirtualItemInfo(); + } + + /** + * optional uint32 cur_rogue_coin = 8; + * @return whether the curRogueCoin field is set + */ + public boolean hasCurRogueCoin() { + return (bitField0_ & 0x00000001) != 0; + } + + /** + * optional uint32 cur_rogue_coin = 8; + * @return this + */ + public RogueCurVirtualItemInfo clearCurRogueCoin() { + bitField0_ &= ~0x00000001; + curRogueCoin = 0; + return this; + } + + /** + * optional uint32 cur_rogue_coin = 8; + * @return the curRogueCoin + */ + public int getCurRogueCoin() { + return curRogueCoin; + } + + /** + * optional uint32 cur_rogue_coin = 8; + * @param value the curRogueCoin to set + * @return this + */ + public RogueCurVirtualItemInfo setCurRogueCoin(final int value) { + bitField0_ |= 0x00000001; + curRogueCoin = value; + return this; + } + + /** + * optional uint32 cur_rogue_ability_point = 9; + * @return whether the curRogueAbilityPoint field is set + */ + public boolean hasCurRogueAbilityPoint() { + return (bitField0_ & 0x00000002) != 0; + } + + /** + * optional uint32 cur_rogue_ability_point = 9; + * @return this + */ + public RogueCurVirtualItemInfo clearCurRogueAbilityPoint() { + bitField0_ &= ~0x00000002; + curRogueAbilityPoint = 0; + return this; + } + + /** + * optional uint32 cur_rogue_ability_point = 9; + * @return the curRogueAbilityPoint + */ + public int getCurRogueAbilityPoint() { + return curRogueAbilityPoint; + } + + /** + * optional uint32 cur_rogue_ability_point = 9; + * @param value the curRogueAbilityPoint to set + * @return this + */ + public RogueCurVirtualItemInfo setCurRogueAbilityPoint(final int value) { + bitField0_ |= 0x00000002; + curRogueAbilityPoint = value; + return this; + } + + @Override + public RogueCurVirtualItemInfo copyFrom(final RogueCurVirtualItemInfo other) { + cachedSize = other.cachedSize; + if ((bitField0_ | other.bitField0_) != 0) { + bitField0_ = other.bitField0_; + curRogueCoin = other.curRogueCoin; + curRogueAbilityPoint = other.curRogueAbilityPoint; + } + return this; + } + + @Override + public RogueCurVirtualItemInfo mergeFrom(final RogueCurVirtualItemInfo other) { + if (other.isEmpty()) { + return this; + } + cachedSize = -1; + if (other.hasCurRogueCoin()) { + setCurRogueCoin(other.curRogueCoin); + } + if (other.hasCurRogueAbilityPoint()) { + setCurRogueAbilityPoint(other.curRogueAbilityPoint); + } + return this; + } + + @Override + public RogueCurVirtualItemInfo clear() { + if (isEmpty()) { + return this; + } + cachedSize = -1; + bitField0_ = 0; + curRogueCoin = 0; + curRogueAbilityPoint = 0; + return this; + } + + @Override + public RogueCurVirtualItemInfo 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 RogueCurVirtualItemInfo)) { + return false; + } + RogueCurVirtualItemInfo other = (RogueCurVirtualItemInfo) o; + return bitField0_ == other.bitField0_ + && (!hasCurRogueCoin() || curRogueCoin == other.curRogueCoin) + && (!hasCurRogueAbilityPoint() || curRogueAbilityPoint == other.curRogueAbilityPoint); + } + + @Override + public void writeTo(final ProtoSink output) throws IOException { + if ((bitField0_ & 0x00000001) != 0) { + output.writeRawByte((byte) 64); + output.writeUInt32NoTag(curRogueCoin); + } + if ((bitField0_ & 0x00000002) != 0) { + output.writeRawByte((byte) 72); + output.writeUInt32NoTag(curRogueAbilityPoint); + } + } + + @Override + protected int computeSerializedSize() { + int size = 0; + if ((bitField0_ & 0x00000001) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(curRogueCoin); + } + if ((bitField0_ & 0x00000002) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(curRogueAbilityPoint); + } + return size; + } + + @Override + @SuppressWarnings("fallthrough") + public RogueCurVirtualItemInfo mergeFrom(final ProtoSource input) throws IOException { + // Enabled Fall-Through Optimization (QuickBuffers) + int tag = input.readTag(); + while (true) { + switch (tag) { + case 64: { + // curRogueCoin + curRogueCoin = input.readUInt32(); + bitField0_ |= 0x00000001; + tag = input.readTag(); + if (tag != 72) { + break; + } + } + case 72: { + // curRogueAbilityPoint + curRogueAbilityPoint = input.readUInt32(); + 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.curRogueCoin, curRogueCoin); + } + if ((bitField0_ & 0x00000002) != 0) { + output.writeUInt32(FieldNames.curRogueAbilityPoint, curRogueAbilityPoint); + } + output.endObject(); + } + + @Override + public RogueCurVirtualItemInfo mergeFrom(final JsonSource input) throws IOException { + if (!input.beginObject()) { + return this; + } + while (!input.isAtEnd()) { + switch (input.readFieldHash()) { + case 1836271915: + case -979997387: { + if (input.isAtField(FieldNames.curRogueCoin)) { + if (!input.trySkipNullValue()) { + curRogueCoin = input.readUInt32(); + bitField0_ |= 0x00000001; + } + } else { + input.skipUnknownField(); + } + break; + } + case 1423162144: + case 1565581335: { + if (input.isAtField(FieldNames.curRogueAbilityPoint)) { + if (!input.trySkipNullValue()) { + curRogueAbilityPoint = input.readUInt32(); + bitField0_ |= 0x00000002; + } + } else { + input.skipUnknownField(); + } + break; + } + default: { + input.skipUnknownField(); + break; + } + } + } + input.endObject(); + return this; + } + + @Override + public RogueCurVirtualItemInfo clone() { + return new RogueCurVirtualItemInfo().copyFrom(this); + } + + @Override + public boolean isEmpty() { + return ((bitField0_) == 0); + } + + public static RogueCurVirtualItemInfo parseFrom(final byte[] data) throws + InvalidProtocolBufferException { + return ProtoMessage.mergeFrom(new RogueCurVirtualItemInfo(), data).checkInitialized(); + } + + public static RogueCurVirtualItemInfo parseFrom(final ProtoSource input) throws IOException { + return ProtoMessage.mergeFrom(new RogueCurVirtualItemInfo(), input).checkInitialized(); + } + + public static RogueCurVirtualItemInfo parseFrom(final JsonSource input) throws IOException { + return ProtoMessage.mergeFrom(new RogueCurVirtualItemInfo(), input).checkInitialized(); + } + + /** + * @return factory for creating RogueCurVirtualItemInfo messages + */ + public static MessageFactory getFactory() { + return RogueCurVirtualItemInfoFactory.INSTANCE; + } + + private enum RogueCurVirtualItemInfoFactory implements MessageFactory { + INSTANCE; + + @Override + public RogueCurVirtualItemInfo create() { + return RogueCurVirtualItemInfo.newInstance(); + } + } + + /** + * Contains name constants used for serializing JSON + */ + static class FieldNames { + static final FieldName curRogueCoin = FieldName.forField("curRogueCoin", "cur_rogue_coin"); + + static final FieldName curRogueAbilityPoint = FieldName.forField("curRogueAbilityPoint", "cur_rogue_ability_point"); + } + } +} diff --git a/src/generated/main/emu/lunarcore/proto/RogueCurrentInfoOuterClass.java b/src/generated/main/emu/lunarcore/proto/RogueCurrentInfoOuterClass.java index dd41e89..433e7e8 100644 --- a/src/generated/main/emu/lunarcore/proto/RogueCurrentInfoOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/RogueCurrentInfoOuterClass.java @@ -39,9 +39,9 @@ public final class RogueCurrentInfoOuterClass { private final RogueAvatarInfoOuterClass.RogueAvatarInfo rogueAvatarInfo = RogueAvatarInfoOuterClass.RogueAvatarInfo.newInstance(); /** - * optional .RogueVirtualItem rogue_virtual_item = 9; + * optional .RogueVirtualItemInfo rogue_virtual_item = 9; */ - private final RogueVirtualItemOuterClass.RogueVirtualItem rogueVirtualItem = RogueVirtualItemOuterClass.RogueVirtualItem.newInstance(); + private final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo rogueVirtualItem = RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo.newInstance(); /** * optional .RogueMapInfo room_map = 10; @@ -303,7 +303,7 @@ public final class RogueCurrentInfoOuterClass { } /** - * optional .RogueVirtualItem rogue_virtual_item = 9; + * optional .RogueVirtualItemInfo rogue_virtual_item = 9; * @return whether the rogueVirtualItem field is set */ public boolean hasRogueVirtualItem() { @@ -311,7 +311,7 @@ public final class RogueCurrentInfoOuterClass { } /** - * optional .RogueVirtualItem rogue_virtual_item = 9; + * optional .RogueVirtualItemInfo rogue_virtual_item = 9; * @return this */ public RogueCurrentInfo clearRogueVirtualItem() { @@ -321,7 +321,7 @@ public final class RogueCurrentInfoOuterClass { } /** - * optional .RogueVirtualItem rogue_virtual_item = 9; + * optional .RogueVirtualItemInfo rogue_virtual_item = 9; * * This method returns the internal storage object without modifying any has state. * The returned object should not be modified and be treated as read-only. @@ -330,12 +330,12 @@ public final class RogueCurrentInfoOuterClass { * * @return internal storage object for reading */ - public RogueVirtualItemOuterClass.RogueVirtualItem getRogueVirtualItem() { + public RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getRogueVirtualItem() { return rogueVirtualItem; } /** - * optional .RogueVirtualItem rogue_virtual_item = 9; + * optional .RogueVirtualItemInfo rogue_virtual_item = 9; * * This method returns the internal storage object and sets the corresponding * has state. The returned object will become part of this message and its @@ -343,18 +343,18 @@ public final class RogueCurrentInfoOuterClass { * * @return internal storage object for modifications */ - public RogueVirtualItemOuterClass.RogueVirtualItem getMutableRogueVirtualItem() { + public RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getMutableRogueVirtualItem() { bitField0_ |= 0x00000010; return rogueVirtualItem; } /** - * optional .RogueVirtualItem rogue_virtual_item = 9; + * optional .RogueVirtualItemInfo rogue_virtual_item = 9; * @param value the rogueVirtualItem to set * @return this */ public RogueCurrentInfo setRogueVirtualItem( - final RogueVirtualItemOuterClass.RogueVirtualItem value) { + final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo value) { bitField0_ |= 0x00000010; rogueVirtualItem.copyFrom(value); return this; diff --git a/src/generated/main/emu/lunarcore/proto/RogueInfoDataOuterClass.java b/src/generated/main/emu/lunarcore/proto/RogueInfoDataOuterClass.java index 4f9e2cf..c4380d1 100644 --- a/src/generated/main/emu/lunarcore/proto/RogueInfoDataOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/RogueInfoDataOuterClass.java @@ -24,9 +24,9 @@ public final class RogueInfoDataOuterClass { private final RogueAeonInfoOuterClass.RogueAeonInfo rogueAeonInfo = RogueAeonInfoOuterClass.RogueAeonInfo.newInstance(); /** - * optional .RogueVirtualItemInfo rogue_virtual_item_info = 9; + * optional .RogueCurVirtualItemInfo rogue_virtual_item_info = 9; */ - private final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo rogueVirtualItemInfo = RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo.newInstance(); + private final RogueCurVirtualItemInfoOuterClass.RogueCurVirtualItemInfo rogueVirtualItemInfo = RogueCurVirtualItemInfoOuterClass.RogueCurVirtualItemInfo.newInstance(); /** * optional .RogueAreaInfo rogue_area_info = 11; @@ -111,7 +111,7 @@ public final class RogueInfoDataOuterClass { } /** - * optional .RogueVirtualItemInfo rogue_virtual_item_info = 9; + * optional .RogueCurVirtualItemInfo rogue_virtual_item_info = 9; * @return whether the rogueVirtualItemInfo field is set */ public boolean hasRogueVirtualItemInfo() { @@ -119,7 +119,7 @@ public final class RogueInfoDataOuterClass { } /** - * optional .RogueVirtualItemInfo rogue_virtual_item_info = 9; + * optional .RogueCurVirtualItemInfo rogue_virtual_item_info = 9; * @return this */ public RogueInfoData clearRogueVirtualItemInfo() { @@ -129,7 +129,7 @@ public final class RogueInfoDataOuterClass { } /** - * optional .RogueVirtualItemInfo rogue_virtual_item_info = 9; + * optional .RogueCurVirtualItemInfo rogue_virtual_item_info = 9; * * This method returns the internal storage object without modifying any has state. * The returned object should not be modified and be treated as read-only. @@ -138,12 +138,12 @@ public final class RogueInfoDataOuterClass { * * @return internal storage object for reading */ - public RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getRogueVirtualItemInfo() { + public RogueCurVirtualItemInfoOuterClass.RogueCurVirtualItemInfo getRogueVirtualItemInfo() { return rogueVirtualItemInfo; } /** - * optional .RogueVirtualItemInfo rogue_virtual_item_info = 9; + * optional .RogueCurVirtualItemInfo rogue_virtual_item_info = 9; * * This method returns the internal storage object and sets the corresponding * has state. The returned object will become part of this message and its @@ -151,18 +151,19 @@ public final class RogueInfoDataOuterClass { * * @return internal storage object for modifications */ - public RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo getMutableRogueVirtualItemInfo() { + public RogueCurVirtualItemInfoOuterClass.RogueCurVirtualItemInfo getMutableRogueVirtualItemInfo( + ) { bitField0_ |= 0x00000002; return rogueVirtualItemInfo; } /** - * optional .RogueVirtualItemInfo rogue_virtual_item_info = 9; + * optional .RogueCurVirtualItemInfo rogue_virtual_item_info = 9; * @param value the rogueVirtualItemInfo to set * @return this */ public RogueInfoData setRogueVirtualItemInfo( - final RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo value) { + final RogueCurVirtualItemInfoOuterClass.RogueCurVirtualItemInfo value) { bitField0_ |= 0x00000002; rogueVirtualItemInfo.copyFrom(value); return this; diff --git a/src/generated/main/emu/lunarcore/proto/RogueVirtualItemInfoOuterClass.java b/src/generated/main/emu/lunarcore/proto/RogueVirtualItemInfoOuterClass.java index 28614b0..c955d76 100644 --- a/src/generated/main/emu/lunarcore/proto/RogueVirtualItemInfoOuterClass.java +++ b/src/generated/main/emu/lunarcore/proto/RogueVirtualItemInfoOuterClass.java @@ -19,14 +19,28 @@ public final class RogueVirtualItemInfoOuterClass { private static final long serialVersionUID = 0L; /** - * optional uint32 money = 8; + * optional uint32 JLGAKDGCBOH = 1; */ - private int money; + private int jLGAKDGCBOH; /** - * optional uint32 X = 9; + * optional uint32 FGHILCKHDDO = 4; */ - private int x; + private int fGHILCKHDDO; + + /** + * optional uint32 LGFMKJAOICA = 8; + */ + private int lGFMKJAOICA; + + /** + *
+     *  IACPIFFPEFP
+     * 
+ * + * optional uint32 rogue_coin = 15; + */ + private int rogueCoin; private RogueVirtualItemInfo() { } @@ -39,76 +53,166 @@ public final class RogueVirtualItemInfoOuterClass { } /** - * optional uint32 money = 8; - * @return whether the money field is set + * optional uint32 JLGAKDGCBOH = 1; + * @return whether the jLGAKDGCBOH field is set */ - public boolean hasMoney() { + public boolean hasJLGAKDGCBOH() { return (bitField0_ & 0x00000001) != 0; } /** - * optional uint32 money = 8; + * optional uint32 JLGAKDGCBOH = 1; * @return this */ - public RogueVirtualItemInfo clearMoney() { + public RogueVirtualItemInfo clearJLGAKDGCBOH() { bitField0_ &= ~0x00000001; - money = 0; + jLGAKDGCBOH = 0; return this; } /** - * optional uint32 money = 8; - * @return the money + * optional uint32 JLGAKDGCBOH = 1; + * @return the jLGAKDGCBOH */ - public int getMoney() { - return money; + public int getJLGAKDGCBOH() { + return jLGAKDGCBOH; } /** - * optional uint32 money = 8; - * @param value the money to set + * optional uint32 JLGAKDGCBOH = 1; + * @param value the jLGAKDGCBOH to set * @return this */ - public RogueVirtualItemInfo setMoney(final int value) { + public RogueVirtualItemInfo setJLGAKDGCBOH(final int value) { bitField0_ |= 0x00000001; - money = value; + jLGAKDGCBOH = value; return this; } /** - * optional uint32 X = 9; - * @return whether the x field is set + * optional uint32 FGHILCKHDDO = 4; + * @return whether the fGHILCKHDDO field is set */ - public boolean hasX() { + public boolean hasFGHILCKHDDO() { return (bitField0_ & 0x00000002) != 0; } /** - * optional uint32 X = 9; + * optional uint32 FGHILCKHDDO = 4; * @return this */ - public RogueVirtualItemInfo clearX() { + public RogueVirtualItemInfo clearFGHILCKHDDO() { bitField0_ &= ~0x00000002; - x = 0; + fGHILCKHDDO = 0; return this; } /** - * optional uint32 X = 9; - * @return the x + * optional uint32 FGHILCKHDDO = 4; + * @return the fGHILCKHDDO */ - public int getX() { - return x; + public int getFGHILCKHDDO() { + return fGHILCKHDDO; } /** - * optional uint32 X = 9; - * @param value the x to set + * optional uint32 FGHILCKHDDO = 4; + * @param value the fGHILCKHDDO to set * @return this */ - public RogueVirtualItemInfo setX(final int value) { + public RogueVirtualItemInfo setFGHILCKHDDO(final int value) { bitField0_ |= 0x00000002; - x = value; + fGHILCKHDDO = value; + return this; + } + + /** + * optional uint32 LGFMKJAOICA = 8; + * @return whether the lGFMKJAOICA field is set + */ + public boolean hasLGFMKJAOICA() { + return (bitField0_ & 0x00000004) != 0; + } + + /** + * optional uint32 LGFMKJAOICA = 8; + * @return this + */ + public RogueVirtualItemInfo clearLGFMKJAOICA() { + bitField0_ &= ~0x00000004; + lGFMKJAOICA = 0; + return this; + } + + /** + * optional uint32 LGFMKJAOICA = 8; + * @return the lGFMKJAOICA + */ + public int getLGFMKJAOICA() { + return lGFMKJAOICA; + } + + /** + * optional uint32 LGFMKJAOICA = 8; + * @param value the lGFMKJAOICA to set + * @return this + */ + public RogueVirtualItemInfo setLGFMKJAOICA(final int value) { + bitField0_ |= 0x00000004; + lGFMKJAOICA = value; + return this; + } + + /** + *
+     *  IACPIFFPEFP
+     * 
+ * + * optional uint32 rogue_coin = 15; + * @return whether the rogueCoin field is set + */ + public boolean hasRogueCoin() { + return (bitField0_ & 0x00000008) != 0; + } + + /** + *
+     *  IACPIFFPEFP
+     * 
+ * + * optional uint32 rogue_coin = 15; + * @return this + */ + public RogueVirtualItemInfo clearRogueCoin() { + bitField0_ &= ~0x00000008; + rogueCoin = 0; + return this; + } + + /** + *
+     *  IACPIFFPEFP
+     * 
+ * + * optional uint32 rogue_coin = 15; + * @return the rogueCoin + */ + public int getRogueCoin() { + return rogueCoin; + } + + /** + *
+     *  IACPIFFPEFP
+     * 
+ * + * optional uint32 rogue_coin = 15; + * @param value the rogueCoin to set + * @return this + */ + public RogueVirtualItemInfo setRogueCoin(final int value) { + bitField0_ |= 0x00000008; + rogueCoin = value; return this; } @@ -117,8 +221,10 @@ public final class RogueVirtualItemInfoOuterClass { cachedSize = other.cachedSize; if ((bitField0_ | other.bitField0_) != 0) { bitField0_ = other.bitField0_; - money = other.money; - x = other.x; + jLGAKDGCBOH = other.jLGAKDGCBOH; + fGHILCKHDDO = other.fGHILCKHDDO; + lGFMKJAOICA = other.lGFMKJAOICA; + rogueCoin = other.rogueCoin; } return this; } @@ -129,11 +235,17 @@ public final class RogueVirtualItemInfoOuterClass { return this; } cachedSize = -1; - if (other.hasMoney()) { - setMoney(other.money); + if (other.hasJLGAKDGCBOH()) { + setJLGAKDGCBOH(other.jLGAKDGCBOH); } - if (other.hasX()) { - setX(other.x); + if (other.hasFGHILCKHDDO()) { + setFGHILCKHDDO(other.fGHILCKHDDO); + } + if (other.hasLGFMKJAOICA()) { + setLGFMKJAOICA(other.lGFMKJAOICA); + } + if (other.hasRogueCoin()) { + setRogueCoin(other.rogueCoin); } return this; } @@ -145,8 +257,10 @@ public final class RogueVirtualItemInfoOuterClass { } cachedSize = -1; bitField0_ = 0; - money = 0; - x = 0; + jLGAKDGCBOH = 0; + fGHILCKHDDO = 0; + lGFMKJAOICA = 0; + rogueCoin = 0; return this; } @@ -170,19 +284,29 @@ public final class RogueVirtualItemInfoOuterClass { } RogueVirtualItemInfo other = (RogueVirtualItemInfo) o; return bitField0_ == other.bitField0_ - && (!hasMoney() || money == other.money) - && (!hasX() || x == other.x); + && (!hasJLGAKDGCBOH() || jLGAKDGCBOH == other.jLGAKDGCBOH) + && (!hasFGHILCKHDDO() || fGHILCKHDDO == other.fGHILCKHDDO) + && (!hasLGFMKJAOICA() || lGFMKJAOICA == other.lGFMKJAOICA) + && (!hasRogueCoin() || rogueCoin == other.rogueCoin); } @Override public void writeTo(final ProtoSink output) throws IOException { if ((bitField0_ & 0x00000001) != 0) { - output.writeRawByte((byte) 64); - output.writeUInt32NoTag(money); + output.writeRawByte((byte) 8); + output.writeUInt32NoTag(jLGAKDGCBOH); } if ((bitField0_ & 0x00000002) != 0) { - output.writeRawByte((byte) 72); - output.writeUInt32NoTag(x); + output.writeRawByte((byte) 32); + output.writeUInt32NoTag(fGHILCKHDDO); + } + if ((bitField0_ & 0x00000004) != 0) { + output.writeRawByte((byte) 64); + output.writeUInt32NoTag(lGFMKJAOICA); + } + if ((bitField0_ & 0x00000008) != 0) { + output.writeRawByte((byte) 120); + output.writeUInt32NoTag(rogueCoin); } } @@ -190,10 +314,16 @@ public final class RogueVirtualItemInfoOuterClass { protected int computeSerializedSize() { int size = 0; if ((bitField0_ & 0x00000001) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(money); + size += 1 + ProtoSink.computeUInt32SizeNoTag(jLGAKDGCBOH); } if ((bitField0_ & 0x00000002) != 0) { - size += 1 + ProtoSink.computeUInt32SizeNoTag(x); + size += 1 + ProtoSink.computeUInt32SizeNoTag(fGHILCKHDDO); + } + if ((bitField0_ & 0x00000004) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(lGFMKJAOICA); + } + if ((bitField0_ & 0x00000008) != 0) { + size += 1 + ProtoSink.computeUInt32SizeNoTag(rogueCoin); } return size; } @@ -205,20 +335,38 @@ public final class RogueVirtualItemInfoOuterClass { int tag = input.readTag(); while (true) { switch (tag) { - case 64: { - // money - money = input.readUInt32(); + case 8: { + // jLGAKDGCBOH + jLGAKDGCBOH = input.readUInt32(); bitField0_ |= 0x00000001; tag = input.readTag(); - if (tag != 72) { + if (tag != 32) { break; } } - case 72: { - // x - x = input.readUInt32(); + case 32: { + // fGHILCKHDDO + fGHILCKHDDO = input.readUInt32(); bitField0_ |= 0x00000002; tag = input.readTag(); + if (tag != 64) { + break; + } + } + case 64: { + // lGFMKJAOICA + lGFMKJAOICA = input.readUInt32(); + bitField0_ |= 0x00000004; + tag = input.readTag(); + if (tag != 120) { + break; + } + } + case 120: { + // rogueCoin + rogueCoin = input.readUInt32(); + bitField0_ |= 0x00000008; + tag = input.readTag(); if (tag != 0) { break; } @@ -241,10 +389,16 @@ public final class RogueVirtualItemInfoOuterClass { public void writeTo(final JsonSink output) throws IOException { output.beginObject(); if ((bitField0_ & 0x00000001) != 0) { - output.writeUInt32(FieldNames.money, money); + output.writeUInt32(FieldNames.jLGAKDGCBOH, jLGAKDGCBOH); } if ((bitField0_ & 0x00000002) != 0) { - output.writeUInt32(FieldNames.x, x); + output.writeUInt32(FieldNames.fGHILCKHDDO, fGHILCKHDDO); + } + if ((bitField0_ & 0x00000004) != 0) { + output.writeUInt32(FieldNames.lGFMKJAOICA, lGFMKJAOICA); + } + if ((bitField0_ & 0x00000008) != 0) { + output.writeUInt32(FieldNames.rogueCoin, rogueCoin); } output.endObject(); } @@ -256,10 +410,10 @@ public final class RogueVirtualItemInfoOuterClass { } while (!input.isAtEnd()) { switch (input.readFieldHash()) { - case 104079552: { - if (input.isAtField(FieldNames.money)) { + case 110448746: { + if (input.isAtField(FieldNames.jLGAKDGCBOH)) { if (!input.trySkipNullValue()) { - money = input.readUInt32(); + jLGAKDGCBOH = input.readUInt32(); bitField0_ |= 0x00000001; } } else { @@ -267,10 +421,10 @@ public final class RogueVirtualItemInfoOuterClass { } break; } - case 88: { - if (input.isAtField(FieldNames.x)) { + case -196267399: { + if (input.isAtField(FieldNames.fGHILCKHDDO)) { if (!input.trySkipNullValue()) { - x = input.readUInt32(); + fGHILCKHDDO = input.readUInt32(); bitField0_ |= 0x00000002; } } else { @@ -278,6 +432,29 @@ public final class RogueVirtualItemInfoOuterClass { } break; } + case -1087946824: { + if (input.isAtField(FieldNames.lGFMKJAOICA)) { + if (!input.trySkipNullValue()) { + lGFMKJAOICA = input.readUInt32(); + bitField0_ |= 0x00000004; + } + } else { + input.skipUnknownField(); + } + break; + } + case 655631243: + case -1124761130: { + if (input.isAtField(FieldNames.rogueCoin)) { + if (!input.trySkipNullValue()) { + rogueCoin = input.readUInt32(); + bitField0_ |= 0x00000008; + } + } else { + input.skipUnknownField(); + } + break; + } default: { input.skipUnknownField(); break; @@ -331,9 +508,13 @@ public final class RogueVirtualItemInfoOuterClass { * Contains name constants used for serializing JSON */ static class FieldNames { - static final FieldName money = FieldName.forField("money"); + static final FieldName jLGAKDGCBOH = FieldName.forField("JLGAKDGCBOH"); - static final FieldName x = FieldName.forField("X"); + static final FieldName fGHILCKHDDO = FieldName.forField("FGHILCKHDDO"); + + static final FieldName lGFMKJAOICA = FieldName.forField("LGFMKJAOICA"); + + static final FieldName rogueCoin = FieldName.forField("rogueCoin", "rogue_coin"); } } } diff --git a/src/main/java/emu/lunarcore/game/player/Player.java b/src/main/java/emu/lunarcore/game/player/Player.java index e29afba..acdcd65 100644 --- a/src/main/java/emu/lunarcore/game/player/Player.java +++ b/src/main/java/emu/lunarcore/game/player/Player.java @@ -54,7 +54,7 @@ import emu.lunarcore.proto.HeadIconOuterClass.HeadIcon; import emu.lunarcore.proto.PlatformTypeOuterClass.PlatformType; import emu.lunarcore.proto.PlayerBasicInfoOuterClass.PlayerBasicInfo; import emu.lunarcore.proto.PlayerDetailInfoOuterClass.PlayerDetailInfo; -import emu.lunarcore.proto.RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo; +import emu.lunarcore.proto.RogueCurVirtualItemInfoOuterClass.RogueCurVirtualItemInfo; import emu.lunarcore.proto.SimpleInfoOuterClass.SimpleInfo; import emu.lunarcore.server.game.GameServer; import emu.lunarcore.server.game.GameSession; @@ -960,12 +960,14 @@ public class Player implements Tickable { return proto; } - public RogueVirtualItemInfo toRogueVirtualItemsProto() { - var proto = RogueVirtualItemInfo.newInstance() - .setX(this.getTalentPoints()); // remain to be discussed + public RogueCurVirtualItemInfo getCurRogueVirtualItem() { + var proto = RogueCurVirtualItemInfo.newInstance() + .setCurRogueAbilityPoint(this.getTalentPoints()); + if (this.getRogueInstance() != null) { - proto.setMoney(this.getRogueInstance().getMoney()); + proto.setCurRogueCoin(this.getRogueInstance().getMoney()); } + return proto; } } diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java b/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java index 107947b..341a841 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java @@ -8,7 +8,6 @@ import java.util.Set; import emu.lunarcore.data.GameData; import emu.lunarcore.data.GameDepot; import emu.lunarcore.data.excel.RogueBuffExcel; -import emu.lunarcore.proto.ItemCostListOuterClass.ItemCostList; import emu.lunarcore.proto.ItemCostOuterClass.ItemCost; import emu.lunarcore.proto.PileItemOuterClass.PileItem; import emu.lunarcore.proto.RogueCommonBuffSelectInfoOuterClass.RogueCommonBuffSelectInfo; diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java index d0aa890..260c228 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java @@ -30,7 +30,7 @@ import emu.lunarcore.proto.RogueRecordAvatarOuterClass.RogueRecordAvatar; import emu.lunarcore.proto.RogueRecordInfoOuterClass.RogueRecordInfo; import emu.lunarcore.proto.RogueRoomStatusOuterClass.RogueRoomStatus; import emu.lunarcore.proto.RogueStatusOuterClass.RogueStatus; -import emu.lunarcore.proto.RogueVirtualItemOuterClass.RogueVirtualItem; +import emu.lunarcore.proto.RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo; import emu.lunarcore.server.packet.send.*; import emu.lunarcore.util.Utils; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; @@ -630,7 +630,7 @@ public class RogueInstance { .setRogueBuffInfo(this.toBuffInfoProto()) .setRogueMiracleInfo(this.toMiracleInfoProto()) .setRogueAeonInfo(this.toAeonProto()) - .setRogueVirtualItem(this.toVirtualItemProto()); + .setRogueVirtualItem(this.toRogueVirtualItemProto()); if (pendingAction != null) { proto.setPendingAction(pendingAction); @@ -695,13 +695,6 @@ public class RogueInstance { return proto; } - - public RogueVirtualItem toVirtualItemProto() { - var proto = RogueVirtualItem.newInstance() - .setMoney(this.getMoney()); - - return proto; - } public RogueFinishInfo toFinishInfoProto() { // Rogue record info @@ -740,4 +733,10 @@ public class RogueInstance { return proto; } + public RogueVirtualItemInfo toRogueVirtualItemProto() { + var proto = RogueVirtualItemInfo.newInstance() + .setRogueCoin(this.getMoney()); + + return proto; + } } diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueManager.java b/src/main/java/emu/lunarcore/game/rogue/RogueManager.java index 5e80c2f..6ebddc3 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueManager.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueManager.java @@ -16,11 +16,9 @@ import emu.lunarcore.proto.RogueAeonInfoOuterClass.RogueAeonInfo; import emu.lunarcore.proto.RogueAreaInfoOuterClass.RogueAreaInfo; import emu.lunarcore.proto.RogueAreaOuterClass.RogueArea; import emu.lunarcore.proto.RogueAreaStatusOuterClass.RogueAreaStatus; -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.RogueVirtualItemInfoOuterClass.RogueVirtualItemInfo; import emu.lunarcore.proto.RogueTalentInfoOuterClass.RogueTalentInfo; import emu.lunarcore.proto.RogueTalentOuterClass.RogueTalent; import emu.lunarcore.proto.RogueTalentStatusOuterClass.RogueTalentStatus; @@ -176,6 +174,9 @@ public class RogueManager extends BasePlayerManager { seasonId = schedule.getRogueSeason(); } + var proto = RogueInfo.newInstance(); + var data = proto.getMutableRogueInfoData(); + var score = RogueScoreRewardInfo.newInstance() .setPoolId(26) // TODO pool ids should not change when world level changes .setPoolRefreshed(false) @@ -189,10 +190,6 @@ public class RogueManager extends BasePlayerManager { .setBeginTime(beginTime) .setSeasonId(seasonId) .setEndTime(endTime); - - var rogueVirtualItemInfo = RogueVirtualItemInfo.newInstance() - .setMoney(100000) - .setX(100000); // Path resonance var aeonInfo = RogueAeonInfo.newInstance(); @@ -209,13 +206,14 @@ public class RogueManager extends BasePlayerManager { aeonInfo.setIsUnlocked(true); //aeonInfo.setUnlockAeonEnhanceNum(3); // guess } - - var data = RogueInfoData.newInstance() - .setRogueScoreInfo(score) - .setRogueAeonInfo(aeonInfo) - .setRogueSeasonInfo(season); - // Rogue data + // Set rogue data + data.setRogueScoreInfo(score) + .setRogueAeonInfo(aeonInfo) + .setRogueSeasonInfo(season) + .setRogueVirtualItemInfo(getPlayer().getCurRogueVirtualItem()); + + // Get rogue instance RogueInstance instance = this.getPlayer().getRogueInstance(); // Add areas @@ -244,9 +242,6 @@ public class RogueManager extends BasePlayerManager { } data.setRogueAreaInfo(areaInfo); - var proto = RogueInfo.newInstance() - .setRogueInfoData(data); - if (instance != null) { proto.setRogueCurrentInfo(instance.toProto()); } diff --git a/src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueVirtualItemInfoScNotify.java b/src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueVirtualItemInfoScNotify.java index e0644b1..5466721 100644 --- a/src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueVirtualItemInfoScNotify.java +++ b/src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueVirtualItemInfoScNotify.java @@ -10,8 +10,11 @@ public class PacketSyncRogueVirtualItemInfoScNotify extends BasePacket { public PacketSyncRogueVirtualItemInfoScNotify(Player player) { super(CmdId.SyncRogueVirtualItemInfoScNotify); - var data = SyncRogueVirtualItemInfoScNotify.newInstance() - .setRogueVirtualItemInfo(player.toRogueVirtualItemsProto()); + var data = SyncRogueVirtualItemInfoScNotify.newInstance(); + + if (player.getRogueInstance() != null) { + data.setRogueVirtualItemInfo(player.getRogueInstance().toRogueVirtualItemProto()); + } this.setData(data); }