Update some proto deobfuscation

This commit is contained in:
WatchAndyTW
2024-05-22 22:13:41 +08:00
parent ffa8344316
commit f28e9717fd
13 changed files with 1822 additions and 191 deletions

View File

@@ -33,7 +33,7 @@ namespace EggLink.DanhengServer.Proto {
"bmZvLnByb3RvGhFDTE5GTEhGSk1IQi5wcm90bxobQ2hlc3NSb2d1ZU1pcmFj",
"bGVJbmZvLnByb3RvGhlDaGVzc1JvZ3VlTm91c1ZhbHVlLnByb3RvGhhDaGVz",
"c1JvZ3VlQnVmZkluZm8ucHJvdG8aGkNoZXNzUm9ndWVMaW5ldXBJbmZvLnBy",
"b3RvIs4FChVDaGVzc1JvZ3VlQ3VycmVudEluZm8SQAoVcm9ndWVfZGlmZmlj",
"b3RvItIFChVDaGVzc1JvZ3VlQ3VycmVudEluZm8SQAoVcm9ndWVfZGlmZmlj",
"dWx0eV9pbmZvGMQLIAEoCzIgLkNoZXNzUm9ndWVDdXJyZW50RGlmZmljdWx0",
"eUluZm8SLAoPcm9ndWVfYnVmZl9pbmZvGAwgASgLMhMuQ2hlc3NSb2d1ZUJ1",
"ZmZJbmZvEigKCmxldmVsX2luZm8YAyABKAsyFC5DaGVzc1JvZ3VlTGV2ZWxJ",
@@ -47,13 +47,14 @@ namespace EggLink.DanhengServer.Proto {
"c3NSb2d1ZU5vdXNTdG9yeUluZm8SLAoPcm9ndWVfZGljZV9pbmZvGA8gASgL",
"MhMuQ2hlc3NSb2d1ZURpY2VJbmZvEjEKEWdhbWVfbWlyYWNsZV9pbmZvGA4g",
"ASgLMhYuQ2hlc3NSb2d1ZU1pcmFjbGVJbmZvEhgKEHJvZ3VlX3ZlcnNpb25f",
"aWQYBiABKA0SIQoLR0dJQUhCSkhLR0UYBSABKAsyDC5DTE5GTEhGSk1IQhIx",
"Cg5wZW5kaW5nX2FjdGlvbhgLIAEoCzIZLlJvZ3VlQ29tbW9uUGVuZGluZ0Fj",
"dGlvbkIeqgIbRWdnTGluay5EYW5oZW5nU2VydmVyLlByb3RvYgZwcm90bzM="));
"aWQYBiABKA0SJQoPc3RvcnlfYnVmZl9pbmZvGAUgASgLMgwuQ0xORkxIRkpN",
"SEISMQoOcGVuZGluZ19hY3Rpb24YCyABKAsyGS5Sb2d1ZUNvbW1vblBlbmRp",
"bmdBY3Rpb25CHqoCG0VnZ0xpbmsuRGFuaGVuZ1NlcnZlci5Qcm90b2IGcHJv",
"dG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::EggLink.DanhengServer.Proto.RogueVirtualItemReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueLevelInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueDiceInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.GEPGLOBCIKMReflection.Descriptor, global::EggLink.DanhengServer.Proto.RogueCommonPendingActionReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueGameInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueCurrentDifficultyInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueAeonInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueNousStoryInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.CLNFLHFJMHBReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueMiracleInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueNousValueReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueBuffInfoReflection.Descriptor, global::EggLink.DanhengServer.Proto.ChessRogueLineupInfoReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.ChessRogueCurrentInfo), global::EggLink.DanhengServer.Proto.ChessRogueCurrentInfo.Parser, new[]{ "RogueDifficultyInfo", "RogueBuffInfo", "LevelInfo", "RogueLineupInfo", "NousValue", "RogueAeonInfo", "RogueVirtualItem", "RogueVirtualItemInfo", "RogueCurrentInfo", "NousStoryInfo", "RogueDiceInfo", "GameMiracleInfo", "RogueVersionId", "GGIAHBJHKGE", "PendingAction" }, null, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.ChessRogueCurrentInfo), global::EggLink.DanhengServer.Proto.ChessRogueCurrentInfo.Parser, new[]{ "RogueDifficultyInfo", "RogueBuffInfo", "LevelInfo", "RogueLineupInfo", "NousValue", "RogueAeonInfo", "RogueVirtualItem", "RogueVirtualItemInfo", "RogueCurrentInfo", "NousStoryInfo", "RogueDiceInfo", "GameMiracleInfo", "RogueVersionId", "StoryBuffInfo", "PendingAction" }, null, null, null, null)
}));
}
#endregion
@@ -108,7 +109,7 @@ namespace EggLink.DanhengServer.Proto {
rogueDiceInfo_ = other.rogueDiceInfo_ != null ? other.rogueDiceInfo_.Clone() : null;
gameMiracleInfo_ = other.gameMiracleInfo_ != null ? other.gameMiracleInfo_.Clone() : null;
rogueVersionId_ = other.rogueVersionId_;
gGIAHBJHKGE_ = other.gGIAHBJHKGE_ != null ? other.gGIAHBJHKGE_.Clone() : null;
storyBuffInfo_ = other.storyBuffInfo_ != null ? other.storyBuffInfo_.Clone() : null;
pendingAction_ = other.pendingAction_ != null ? other.pendingAction_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -274,15 +275,15 @@ namespace EggLink.DanhengServer.Proto {
}
}
/// <summary>Field number for the "GGIAHBJHKGE" field.</summary>
public const int GGIAHBJHKGEFieldNumber = 5;
private global::EggLink.DanhengServer.Proto.CLNFLHFJMHB gGIAHBJHKGE_;
/// <summary>Field number for the "story_buff_info" field.</summary>
public const int StoryBuffInfoFieldNumber = 5;
private global::EggLink.DanhengServer.Proto.CLNFLHFJMHB storyBuffInfo_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::EggLink.DanhengServer.Proto.CLNFLHFJMHB GGIAHBJHKGE {
get { return gGIAHBJHKGE_; }
public global::EggLink.DanhengServer.Proto.CLNFLHFJMHB StoryBuffInfo {
get { return storyBuffInfo_; }
set {
gGIAHBJHKGE_ = value;
storyBuffInfo_ = value;
}
}
@@ -326,7 +327,7 @@ namespace EggLink.DanhengServer.Proto {
if (!object.Equals(RogueDiceInfo, other.RogueDiceInfo)) return false;
if (!object.Equals(GameMiracleInfo, other.GameMiracleInfo)) return false;
if (RogueVersionId != other.RogueVersionId) return false;
if (!object.Equals(GGIAHBJHKGE, other.GGIAHBJHKGE)) return false;
if (!object.Equals(StoryBuffInfo, other.StoryBuffInfo)) return false;
if (!object.Equals(PendingAction, other.PendingAction)) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -348,7 +349,7 @@ namespace EggLink.DanhengServer.Proto {
if (rogueDiceInfo_ != null) hash ^= RogueDiceInfo.GetHashCode();
if (gameMiracleInfo_ != null) hash ^= GameMiracleInfo.GetHashCode();
if (RogueVersionId != 0) hash ^= RogueVersionId.GetHashCode();
if (gGIAHBJHKGE_ != null) hash ^= GGIAHBJHKGE.GetHashCode();
if (storyBuffInfo_ != null) hash ^= StoryBuffInfo.GetHashCode();
if (pendingAction_ != null) hash ^= PendingAction.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -381,9 +382,9 @@ namespace EggLink.DanhengServer.Proto {
output.WriteMessage(LevelInfo);
}
rogueCurrentInfo_.WriteTo(output, _repeated_rogueCurrentInfo_codec);
if (gGIAHBJHKGE_ != null) {
if (storyBuffInfo_ != null) {
output.WriteRawTag(42);
output.WriteMessage(GGIAHBJHKGE);
output.WriteMessage(StoryBuffInfo);
}
if (RogueVersionId != 0) {
output.WriteRawTag(48);
@@ -448,9 +449,9 @@ namespace EggLink.DanhengServer.Proto {
output.WriteMessage(LevelInfo);
}
rogueCurrentInfo_.WriteTo(ref output, _repeated_rogueCurrentInfo_codec);
if (gGIAHBJHKGE_ != null) {
if (storyBuffInfo_ != null) {
output.WriteRawTag(42);
output.WriteMessage(GGIAHBJHKGE);
output.WriteMessage(StoryBuffInfo);
}
if (RogueVersionId != 0) {
output.WriteRawTag(48);
@@ -539,8 +540,8 @@ namespace EggLink.DanhengServer.Proto {
if (RogueVersionId != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RogueVersionId);
}
if (gGIAHBJHKGE_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(GGIAHBJHKGE);
if (storyBuffInfo_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(StoryBuffInfo);
}
if (pendingAction_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(PendingAction);
@@ -627,11 +628,11 @@ namespace EggLink.DanhengServer.Proto {
if (other.RogueVersionId != 0) {
RogueVersionId = other.RogueVersionId;
}
if (other.gGIAHBJHKGE_ != null) {
if (gGIAHBJHKGE_ == null) {
GGIAHBJHKGE = new global::EggLink.DanhengServer.Proto.CLNFLHFJMHB();
if (other.storyBuffInfo_ != null) {
if (storyBuffInfo_ == null) {
StoryBuffInfo = new global::EggLink.DanhengServer.Proto.CLNFLHFJMHB();
}
GGIAHBJHKGE.MergeFrom(other.GGIAHBJHKGE);
StoryBuffInfo.MergeFrom(other.StoryBuffInfo);
}
if (other.pendingAction_ != null) {
if (pendingAction_ == null) {
@@ -680,10 +681,10 @@ namespace EggLink.DanhengServer.Proto {
break;
}
case 42: {
if (gGIAHBJHKGE_ == null) {
GGIAHBJHKGE = new global::EggLink.DanhengServer.Proto.CLNFLHFJMHB();
if (storyBuffInfo_ == null) {
StoryBuffInfo = new global::EggLink.DanhengServer.Proto.CLNFLHFJMHB();
}
input.ReadMessage(GGIAHBJHKGE);
input.ReadMessage(StoryBuffInfo);
break;
}
case 48: {
@@ -794,10 +795,10 @@ namespace EggLink.DanhengServer.Proto {
break;
}
case 42: {
if (gGIAHBJHKGE_ == null) {
GGIAHBJHKGE = new global::EggLink.DanhengServer.Proto.CLNFLHFJMHB();
if (storyBuffInfo_ == null) {
StoryBuffInfo = new global::EggLink.DanhengServer.Proto.CLNFLHFJMHB();
}
input.ReadMessage(GGIAHBJHKGE);
input.ReadMessage(StoryBuffInfo);
break;
}
case 48: {

1554
Common/Proto/Retcode.cs Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -24,12 +24,13 @@ namespace EggLink.DanhengServer.Proto {
static StartChallengeCsReqReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChlTdGFydENoYWxsZW5nZUNzUmVxLnByb3RvGhFET05LTlBQT01KQy5wcm90",
"byJOChNTdGFydENoYWxsZW5nZUNzUmVxEiEKC3BsYXllcl9pbmZvGAkgASgL",
"MgwuRE9OS05QUE9NSkMSFAoMY2hhbGxlbmdlX2lkGAYgASgNQh6qAhtFZ2dM",
"aW5rLkRhbmhlbmdTZXJ2ZXIuUHJvdG9iBnByb3RvMw=="));
"ChlTdGFydENoYWxsZW5nZUNzUmVxLnByb3RvGh1TdGFydENoYWxsZW5nZVN0",
"b3J5SW5mby5wcm90byJaChNTdGFydENoYWxsZW5nZUNzUmVxEi0KC3BsYXll",
"cl9pbmZvGAkgASgLMhguU3RhcnRDaGFsbGVuZ2VTdG9yeUluZm8SFAoMY2hh",
"bGxlbmdlX2lkGAYgASgNQh6qAhtFZ2dMaW5rLkRhbmhlbmdTZXJ2ZXIuUHJv",
"dG9iBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::EggLink.DanhengServer.Proto.DONKNPPOMJCReflection.Descriptor, },
new pbr::FileDescriptor[] { global::EggLink.DanhengServer.Proto.StartChallengeStoryInfoReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.StartChallengeCsReq), global::EggLink.DanhengServer.Proto.StartChallengeCsReq.Parser, new[]{ "PlayerInfo", "ChallengeId" }, null, null, null, null)
}));
@@ -86,10 +87,10 @@ namespace EggLink.DanhengServer.Proto {
/// <summary>Field number for the "player_info" field.</summary>
public const int PlayerInfoFieldNumber = 9;
private global::EggLink.DanhengServer.Proto.DONKNPPOMJC playerInfo_;
private global::EggLink.DanhengServer.Proto.StartChallengeStoryInfo playerInfo_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::EggLink.DanhengServer.Proto.DONKNPPOMJC PlayerInfo {
public global::EggLink.DanhengServer.Proto.StartChallengeStoryInfo PlayerInfo {
get { return playerInfo_; }
set {
playerInfo_ = value;
@@ -208,7 +209,7 @@ namespace EggLink.DanhengServer.Proto {
}
if (other.playerInfo_ != null) {
if (playerInfo_ == null) {
PlayerInfo = new global::EggLink.DanhengServer.Proto.DONKNPPOMJC();
PlayerInfo = new global::EggLink.DanhengServer.Proto.StartChallengeStoryInfo();
}
PlayerInfo.MergeFrom(other.PlayerInfo);
}
@@ -236,7 +237,7 @@ namespace EggLink.DanhengServer.Proto {
}
case 74: {
if (playerInfo_ == null) {
PlayerInfo = new global::EggLink.DanhengServer.Proto.DONKNPPOMJC();
PlayerInfo = new global::EggLink.DanhengServer.Proto.StartChallengeStoryInfo();
}
input.ReadMessage(PlayerInfo);
break;
@@ -262,7 +263,7 @@ namespace EggLink.DanhengServer.Proto {
}
case 74: {
if (playerInfo_ == null) {
PlayerInfo = new global::EggLink.DanhengServer.Proto.DONKNPPOMJC();
PlayerInfo = new global::EggLink.DanhengServer.Proto.StartChallengeStoryInfo();
}
input.ReadMessage(PlayerInfo);
break;

View File

@@ -1,6 +1,6 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: HDLDGEPFMGL.proto
// source: StartChallengeStoryBuffInfo.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
@@ -11,26 +11,27 @@ using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace EggLink.DanhengServer.Proto {
/// <summary>Holder for reflection information generated from HDLDGEPFMGL.proto</summary>
public static partial class HDLDGEPFMGLReflection {
/// <summary>Holder for reflection information generated from StartChallengeStoryBuffInfo.proto</summary>
public static partial class StartChallengeStoryBuffInfoReflection {
#region Descriptor
/// <summary>File descriptor for HDLDGEPFMGL.proto</summary>
/// <summary>File descriptor for StartChallengeStoryBuffInfo.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static HDLDGEPFMGLReflection() {
static StartChallengeStoryBuffInfoReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChFIRExER0VQRk1HTC5wcm90byI3CgtIRExER0VQRk1HTBITCgtHUFBFR0xO",
"TkdOShgJIAEoDRITCgtBS0VPTU5QT0pDRRgIIAEoDUIeqgIbRWdnTGluay5E",
"YW5oZW5nU2VydmVyLlByb3RvYgZwcm90bzM="));
"CiFTdGFydENoYWxsZW5nZVN0b3J5QnVmZkluZm8ucHJvdG8iTQobU3RhcnRD",
"aGFsbGVuZ2VTdG9yeUJ1ZmZJbmZvEhYKDnN0b3J5X2J1ZmZfb25lGAkgASgN",
"EhYKDnN0b3J5X2J1ZmZfdHdvGAggASgNQh6qAhtFZ2dMaW5rLkRhbmhlbmdT",
"ZXJ2ZXIuUHJvdG9iBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.HDLDGEPFMGL), global::EggLink.DanhengServer.Proto.HDLDGEPFMGL.Parser, new[]{ "GPPEGLNNGNJ", "AKEOMNPOJCE" }, null, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo), global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo.Parser, new[]{ "StoryBuffOne", "StoryBuffTwo" }, null, null, null, null)
}));
}
#endregion
@@ -38,21 +39,21 @@ namespace EggLink.DanhengServer.Proto {
}
#region Messages
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
public sealed partial class HDLDGEPFMGL : pb::IMessage<HDLDGEPFMGL>
public sealed partial class StartChallengeStoryBuffInfo : pb::IMessage<StartChallengeStoryBuffInfo>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<HDLDGEPFMGL> _parser = new pb::MessageParser<HDLDGEPFMGL>(() => new HDLDGEPFMGL());
private static readonly pb::MessageParser<StartChallengeStoryBuffInfo> _parser = new pb::MessageParser<StartChallengeStoryBuffInfo>(() => new StartChallengeStoryBuffInfo());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<HDLDGEPFMGL> Parser { get { return _parser; } }
public static pb::MessageParser<StartChallengeStoryBuffInfo> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::EggLink.DanhengServer.Proto.HDLDGEPFMGLReflection.Descriptor.MessageTypes[0]; }
get { return global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfoReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -63,7 +64,7 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public HDLDGEPFMGL() {
public StartChallengeStoryBuffInfo() {
OnConstruction();
}
@@ -71,59 +72,59 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public HDLDGEPFMGL(HDLDGEPFMGL other) : this() {
gPPEGLNNGNJ_ = other.gPPEGLNNGNJ_;
aKEOMNPOJCE_ = other.aKEOMNPOJCE_;
public StartChallengeStoryBuffInfo(StartChallengeStoryBuffInfo other) : this() {
storyBuffOne_ = other.storyBuffOne_;
storyBuffTwo_ = other.storyBuffTwo_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public HDLDGEPFMGL Clone() {
return new HDLDGEPFMGL(this);
public StartChallengeStoryBuffInfo Clone() {
return new StartChallengeStoryBuffInfo(this);
}
/// <summary>Field number for the "GPPEGLNNGNJ" field.</summary>
public const int GPPEGLNNGNJFieldNumber = 9;
private uint gPPEGLNNGNJ_;
/// <summary>Field number for the "story_buff_one" field.</summary>
public const int StoryBuffOneFieldNumber = 9;
private uint storyBuffOne_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint GPPEGLNNGNJ {
get { return gPPEGLNNGNJ_; }
public uint StoryBuffOne {
get { return storyBuffOne_; }
set {
gPPEGLNNGNJ_ = value;
storyBuffOne_ = value;
}
}
/// <summary>Field number for the "AKEOMNPOJCE" field.</summary>
public const int AKEOMNPOJCEFieldNumber = 8;
private uint aKEOMNPOJCE_;
/// <summary>Field number for the "story_buff_two" field.</summary>
public const int StoryBuffTwoFieldNumber = 8;
private uint storyBuffTwo_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint AKEOMNPOJCE {
get { return aKEOMNPOJCE_; }
public uint StoryBuffTwo {
get { return storyBuffTwo_; }
set {
aKEOMNPOJCE_ = value;
storyBuffTwo_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as HDLDGEPFMGL);
return Equals(other as StartChallengeStoryBuffInfo);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(HDLDGEPFMGL other) {
public bool Equals(StartChallengeStoryBuffInfo other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (GPPEGLNNGNJ != other.GPPEGLNNGNJ) return false;
if (AKEOMNPOJCE != other.AKEOMNPOJCE) return false;
if (StoryBuffOne != other.StoryBuffOne) return false;
if (StoryBuffTwo != other.StoryBuffTwo) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -131,8 +132,8 @@ namespace EggLink.DanhengServer.Proto {
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (GPPEGLNNGNJ != 0) hash ^= GPPEGLNNGNJ.GetHashCode();
if (AKEOMNPOJCE != 0) hash ^= AKEOMNPOJCE.GetHashCode();
if (StoryBuffOne != 0) hash ^= StoryBuffOne.GetHashCode();
if (StoryBuffTwo != 0) hash ^= StoryBuffTwo.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -151,13 +152,13 @@ namespace EggLink.DanhengServer.Proto {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (AKEOMNPOJCE != 0) {
if (StoryBuffTwo != 0) {
output.WriteRawTag(64);
output.WriteUInt32(AKEOMNPOJCE);
output.WriteUInt32(StoryBuffTwo);
}
if (GPPEGLNNGNJ != 0) {
if (StoryBuffOne != 0) {
output.WriteRawTag(72);
output.WriteUInt32(GPPEGLNNGNJ);
output.WriteUInt32(StoryBuffOne);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
@@ -169,13 +170,13 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (AKEOMNPOJCE != 0) {
if (StoryBuffTwo != 0) {
output.WriteRawTag(64);
output.WriteUInt32(AKEOMNPOJCE);
output.WriteUInt32(StoryBuffTwo);
}
if (GPPEGLNNGNJ != 0) {
if (StoryBuffOne != 0) {
output.WriteRawTag(72);
output.WriteUInt32(GPPEGLNNGNJ);
output.WriteUInt32(StoryBuffOne);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
@@ -187,11 +188,11 @@ namespace EggLink.DanhengServer.Proto {
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (GPPEGLNNGNJ != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(GPPEGLNNGNJ);
if (StoryBuffOne != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StoryBuffOne);
}
if (AKEOMNPOJCE != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(AKEOMNPOJCE);
if (StoryBuffTwo != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(StoryBuffTwo);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
@@ -201,15 +202,15 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(HDLDGEPFMGL other) {
public void MergeFrom(StartChallengeStoryBuffInfo other) {
if (other == null) {
return;
}
if (other.GPPEGLNNGNJ != 0) {
GPPEGLNNGNJ = other.GPPEGLNNGNJ;
if (other.StoryBuffOne != 0) {
StoryBuffOne = other.StoryBuffOne;
}
if (other.AKEOMNPOJCE != 0) {
AKEOMNPOJCE = other.AKEOMNPOJCE;
if (other.StoryBuffTwo != 0) {
StoryBuffTwo = other.StoryBuffTwo;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -227,11 +228,11 @@ namespace EggLink.DanhengServer.Proto {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 64: {
AKEOMNPOJCE = input.ReadUInt32();
StoryBuffTwo = input.ReadUInt32();
break;
}
case 72: {
GPPEGLNNGNJ = input.ReadUInt32();
StoryBuffOne = input.ReadUInt32();
break;
}
}
@@ -250,11 +251,11 @@ namespace EggLink.DanhengServer.Proto {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 64: {
AKEOMNPOJCE = input.ReadUInt32();
StoryBuffTwo = input.ReadUInt32();
break;
}
case 72: {
GPPEGLNNGNJ = input.ReadUInt32();
StoryBuffOne = input.ReadUInt32();
break;
}
}

View File

@@ -1,6 +1,6 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: DONKNPPOMJC.proto
// source: StartChallengeStoryInfo.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
@@ -11,27 +11,28 @@ using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace EggLink.DanhengServer.Proto {
/// <summary>Holder for reflection information generated from DONKNPPOMJC.proto</summary>
public static partial class DONKNPPOMJCReflection {
/// <summary>Holder for reflection information generated from StartChallengeStoryInfo.proto</summary>
public static partial class StartChallengeStoryInfoReflection {
#region Descriptor
/// <summary>File descriptor for DONKNPPOMJC.proto</summary>
/// <summary>File descriptor for StartChallengeStoryInfo.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static DONKNPPOMJCReflection() {
static StartChallengeStoryInfoReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChFET05LTlBQT01KQy5wcm90bxoRSERMREdFUEZNR0wucHJvdG8iQQoLRE9O",
"S05QUE9NSkMSIwoLR0dJQUhCSkhLR0UYDiABKAsyDC5IRExER0VQRk1HTEgA",
"Qg0KC09IQkREQ0dGTlBFQh6qAhtFZ2dMaW5rLkRhbmhlbmdTZXJ2ZXIuUHJv",
"dG9iBnByb3RvMw=="));
"Ch1TdGFydENoYWxsZW5nZVN0b3J5SW5mby5wcm90bxohU3RhcnRDaGFsbGVu",
"Z2VTdG9yeUJ1ZmZJbmZvLnByb3RvIl8KF1N0YXJ0Q2hhbGxlbmdlU3RvcnlJ",
"bmZvEjcKD3N0b3J5X2J1ZmZfaW5mbxgOIAEoCzIcLlN0YXJ0Q2hhbGxlbmdl",
"U3RvcnlCdWZmSW5mb0gAQgsKCWJ1ZmZfaW5mb0IeqgIbRWdnTGluay5EYW5o",
"ZW5nU2VydmVyLlByb3RvYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::EggLink.DanhengServer.Proto.HDLDGEPFMGLReflection.Descriptor, },
new pbr::FileDescriptor[] { global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfoReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.DONKNPPOMJC), global::EggLink.DanhengServer.Proto.DONKNPPOMJC.Parser, new[]{ "GGIAHBJHKGE" }, new[]{ "OHBDDCGFNPE" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::EggLink.DanhengServer.Proto.StartChallengeStoryInfo), global::EggLink.DanhengServer.Proto.StartChallengeStoryInfo.Parser, new[]{ "StoryBuffInfo" }, new[]{ "BuffInfo" }, null, null, null)
}));
}
#endregion
@@ -39,21 +40,21 @@ namespace EggLink.DanhengServer.Proto {
}
#region Messages
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
public sealed partial class DONKNPPOMJC : pb::IMessage<DONKNPPOMJC>
public sealed partial class StartChallengeStoryInfo : pb::IMessage<StartChallengeStoryInfo>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<DONKNPPOMJC> _parser = new pb::MessageParser<DONKNPPOMJC>(() => new DONKNPPOMJC());
private static readonly pb::MessageParser<StartChallengeStoryInfo> _parser = new pb::MessageParser<StartChallengeStoryInfo>(() => new StartChallengeStoryInfo());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<DONKNPPOMJC> Parser { get { return _parser; } }
public static pb::MessageParser<StartChallengeStoryInfo> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::EggLink.DanhengServer.Proto.DONKNPPOMJCReflection.Descriptor.MessageTypes[0]; }
get { return global::EggLink.DanhengServer.Proto.StartChallengeStoryInfoReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
@@ -64,7 +65,7 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DONKNPPOMJC() {
public StartChallengeStoryInfo() {
OnConstruction();
}
@@ -72,10 +73,10 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DONKNPPOMJC(DONKNPPOMJC other) : this() {
switch (other.OHBDDCGFNPECase) {
case OHBDDCGFNPEOneofCase.GGIAHBJHKGE:
GGIAHBJHKGE = other.GGIAHBJHKGE.Clone();
public StartChallengeStoryInfo(StartChallengeStoryInfo other) : this() {
switch (other.BuffInfoCase) {
case BuffInfoOneofCase.StoryBuffInfo:
StoryBuffInfo = other.StoryBuffInfo.Clone();
break;
}
@@ -84,59 +85,59 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DONKNPPOMJC Clone() {
return new DONKNPPOMJC(this);
public StartChallengeStoryInfo Clone() {
return new StartChallengeStoryInfo(this);
}
/// <summary>Field number for the "GGIAHBJHKGE" field.</summary>
public const int GGIAHBJHKGEFieldNumber = 14;
/// <summary>Field number for the "story_buff_info" field.</summary>
public const int StoryBuffInfoFieldNumber = 14;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::EggLink.DanhengServer.Proto.HDLDGEPFMGL GGIAHBJHKGE {
get { return oHBDDCGFNPECase_ == OHBDDCGFNPEOneofCase.GGIAHBJHKGE ? (global::EggLink.DanhengServer.Proto.HDLDGEPFMGL) oHBDDCGFNPE_ : null; }
public global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo StoryBuffInfo {
get { return buffInfoCase_ == BuffInfoOneofCase.StoryBuffInfo ? (global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo) buffInfo_ : null; }
set {
oHBDDCGFNPE_ = value;
oHBDDCGFNPECase_ = value == null ? OHBDDCGFNPEOneofCase.None : OHBDDCGFNPEOneofCase.GGIAHBJHKGE;
buffInfo_ = value;
buffInfoCase_ = value == null ? BuffInfoOneofCase.None : BuffInfoOneofCase.StoryBuffInfo;
}
}
private object oHBDDCGFNPE_;
/// <summary>Enum of possible cases for the "OHBDDCGFNPE" oneof.</summary>
public enum OHBDDCGFNPEOneofCase {
private object buffInfo_;
/// <summary>Enum of possible cases for the "buff_info" oneof.</summary>
public enum BuffInfoOneofCase {
None = 0,
GGIAHBJHKGE = 14,
StoryBuffInfo = 14,
}
private OHBDDCGFNPEOneofCase oHBDDCGFNPECase_ = OHBDDCGFNPEOneofCase.None;
private BuffInfoOneofCase buffInfoCase_ = BuffInfoOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public OHBDDCGFNPEOneofCase OHBDDCGFNPECase {
get { return oHBDDCGFNPECase_; }
public BuffInfoOneofCase BuffInfoCase {
get { return buffInfoCase_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearOHBDDCGFNPE() {
oHBDDCGFNPECase_ = OHBDDCGFNPEOneofCase.None;
oHBDDCGFNPE_ = null;
public void ClearBuffInfo() {
buffInfoCase_ = BuffInfoOneofCase.None;
buffInfo_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as DONKNPPOMJC);
return Equals(other as StartChallengeStoryInfo);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(DONKNPPOMJC other) {
public bool Equals(StartChallengeStoryInfo other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!object.Equals(GGIAHBJHKGE, other.GGIAHBJHKGE)) return false;
if (OHBDDCGFNPECase != other.OHBDDCGFNPECase) return false;
if (!object.Equals(StoryBuffInfo, other.StoryBuffInfo)) return false;
if (BuffInfoCase != other.BuffInfoCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -144,8 +145,8 @@ namespace EggLink.DanhengServer.Proto {
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (oHBDDCGFNPECase_ == OHBDDCGFNPEOneofCase.GGIAHBJHKGE) hash ^= GGIAHBJHKGE.GetHashCode();
hash ^= (int) oHBDDCGFNPECase_;
if (buffInfoCase_ == BuffInfoOneofCase.StoryBuffInfo) hash ^= StoryBuffInfo.GetHashCode();
hash ^= (int) buffInfoCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -164,9 +165,9 @@ namespace EggLink.DanhengServer.Proto {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (oHBDDCGFNPECase_ == OHBDDCGFNPEOneofCase.GGIAHBJHKGE) {
if (buffInfoCase_ == BuffInfoOneofCase.StoryBuffInfo) {
output.WriteRawTag(114);
output.WriteMessage(GGIAHBJHKGE);
output.WriteMessage(StoryBuffInfo);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
@@ -178,9 +179,9 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (oHBDDCGFNPECase_ == OHBDDCGFNPEOneofCase.GGIAHBJHKGE) {
if (buffInfoCase_ == BuffInfoOneofCase.StoryBuffInfo) {
output.WriteRawTag(114);
output.WriteMessage(GGIAHBJHKGE);
output.WriteMessage(StoryBuffInfo);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
@@ -192,8 +193,8 @@ namespace EggLink.DanhengServer.Proto {
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (oHBDDCGFNPECase_ == OHBDDCGFNPEOneofCase.GGIAHBJHKGE) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(GGIAHBJHKGE);
if (buffInfoCase_ == BuffInfoOneofCase.StoryBuffInfo) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(StoryBuffInfo);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
@@ -203,16 +204,16 @@ namespace EggLink.DanhengServer.Proto {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(DONKNPPOMJC other) {
public void MergeFrom(StartChallengeStoryInfo other) {
if (other == null) {
return;
}
switch (other.OHBDDCGFNPECase) {
case OHBDDCGFNPEOneofCase.GGIAHBJHKGE:
if (GGIAHBJHKGE == null) {
GGIAHBJHKGE = new global::EggLink.DanhengServer.Proto.HDLDGEPFMGL();
switch (other.BuffInfoCase) {
case BuffInfoOneofCase.StoryBuffInfo:
if (StoryBuffInfo == null) {
StoryBuffInfo = new global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo();
}
GGIAHBJHKGE.MergeFrom(other.GGIAHBJHKGE);
StoryBuffInfo.MergeFrom(other.StoryBuffInfo);
break;
}
@@ -232,12 +233,12 @@ namespace EggLink.DanhengServer.Proto {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 114: {
global::EggLink.DanhengServer.Proto.HDLDGEPFMGL subBuilder = new global::EggLink.DanhengServer.Proto.HDLDGEPFMGL();
if (oHBDDCGFNPECase_ == OHBDDCGFNPEOneofCase.GGIAHBJHKGE) {
subBuilder.MergeFrom(GGIAHBJHKGE);
global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo subBuilder = new global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo();
if (buffInfoCase_ == BuffInfoOneofCase.StoryBuffInfo) {
subBuilder.MergeFrom(StoryBuffInfo);
}
input.ReadMessage(subBuilder);
GGIAHBJHKGE = subBuilder;
StoryBuffInfo = subBuilder;
break;
}
}
@@ -256,12 +257,12 @@ namespace EggLink.DanhengServer.Proto {
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 114: {
global::EggLink.DanhengServer.Proto.HDLDGEPFMGL subBuilder = new global::EggLink.DanhengServer.Proto.HDLDGEPFMGL();
if (oHBDDCGFNPECase_ == OHBDDCGFNPEOneofCase.GGIAHBJHKGE) {
subBuilder.MergeFrom(GGIAHBJHKGE);
global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo subBuilder = new global::EggLink.DanhengServer.Proto.StartChallengeStoryBuffInfo();
if (buffInfoCase_ == BuffInfoOneofCase.StoryBuffInfo) {
subBuilder.MergeFrom(StoryBuffInfo);
}
input.ReadMessage(subBuilder);
GGIAHBJHKGE = subBuilder;
StoryBuffInfo = subBuilder;
break;
}
}

View File

@@ -1,12 +1,10 @@
using EggLink.DanhengServer.Data.Excel;
using EggLink.DanhengServer.Database;
using EggLink.DanhengServer.Database.Challenge;
using EggLink.DanhengServer.Game.Battle;
using EggLink.DanhengServer.Game.Player;
using EggLink.DanhengServer.Game.Scene;
using EggLink.DanhengServer.Proto;
using EggLink.DanhengServer.Util;
using Spectre.Console;
using System.Text.Json.Serialization;
namespace EggLink.DanhengServer.Game.Challenge
@@ -169,15 +167,21 @@ namespace EggLink.DanhengServer.Game.Challenge
ScoreId = (uint)ScoreStage1,
ScoreTwo = (uint)ScoreStage2,
RoundCount = (uint)GetRoundsElapsed(),
ExtraLineupType = (ExtraLineupType)CurrentExtraLineup
};
ExtraLineupType = (ExtraLineupType)CurrentExtraLineup,
PlayerInfo = new ChallengeStoryInfo() { CurStoryBuff = new ChallengeStoryBuffInfo() }
};
if (StoryBuffs != null && StoryBuffs.Count >= CurrentStage)
{
proto.PlayerInfo = new ChallengeStoryInfo() { CurStoryBuff = new ChallengeStoryBuffInfo() { } };
proto.PlayerInfo.CurStoryBuff.BuffList.Add((uint)StoryBuffs[CurrentStage - 1]);
}
// Early implementation for 2.3
/* if (StoryBuffs != null && StoryBuffs.Count >= CurrentStage)
{
proto.PlayerInfo.CurBossBuff.BuffList.Add((uint)BossBuffs[CurrentStage - 1]);
} */
return proto;
}

View File

@@ -19,12 +19,12 @@ namespace EggLink.DanhengServer.Game.Challenge
#region Management
public void StartChallenge(int challengeId, HDLDGEPFMGL? /*StartChallengeStoryBuffInfo*/ storyBuffs)
public void StartChallenge(int challengeId, StartChallengeStoryBuffInfo? storyBuffs)
{
// Get challenge excel
if (!GameData.ChallengeConfigData.ContainsKey(challengeId))
{
Player.SendPacket(new PacketStartChallengeScRsp(2801 /*CHALLENGE_NOT_EXIST*/));
Player.SendPacket(new PacketStartChallengeScRsp((uint)Retcode.RetChallengeNotExist));
return;
}
ChallengeConfigExcel Excel = GameData.ChallengeConfigData[challengeId];
@@ -38,7 +38,7 @@ namespace EggLink.DanhengServer.Game.Challenge
// Make sure this lineup has avatars set
if (Lineup.AvatarData!.Avatars.Count == 0)
{
Player.SendPacket(new PacketStartChallengeScRsp(2805));
Player.SendPacket(new PacketStartChallengeScRsp((uint)Retcode.RetChallengeLineupEmpty));
return;
}
@@ -61,7 +61,7 @@ namespace EggLink.DanhengServer.Game.Challenge
// Make sure this lineup has avatars set
if (Lineup.AvatarData!.Avatars.Count == 0)
{
Player.SendPacket(new PacketStartChallengeScRsp(2805));
Player.SendPacket(new PacketStartChallengeScRsp((uint)Retcode.RetChallengeLineupEmpty));
return;
}
@@ -78,7 +78,7 @@ namespace EggLink.DanhengServer.Game.Challenge
// Set challenge data for player
ChallengeInstance instance = new ChallengeInstance(Player, Excel);
this.ChallengeInstance = instance;
ChallengeInstance = instance;
// Set first lineup before we enter scenes
Player.LineupManager!.SetCurLineup(instance.CurrentExtraLineup);
@@ -94,7 +94,7 @@ namespace EggLink.DanhengServer.Game.Challenge
this.ChallengeInstance = null;
// Send error packet
Player.SendPacket(new PacketStartChallengeScRsp(2801));
Player.SendPacket(new PacketStartChallengeScRsp((uint)Retcode.RetChallengeNotExist));
return;
}
@@ -105,15 +105,15 @@ namespace EggLink.DanhengServer.Game.Challenge
if (Excel.IsStory() && storyBuffs != null)
{
instance.StoryBuffs.Add((int)storyBuffs.GPPEGLNNGNJ); // StoryBuffOne
instance.StoryBuffs.Add((int)storyBuffs.AKEOMNPOJCE); // StoryBuffTwo
instance.StoryBuffs.Add((int)storyBuffs.StoryBuffOne);
instance.StoryBuffs.Add((int)storyBuffs.StoryBuffTwo);
}
// Early implementation for 2.3
/* if (BossBuffs != null)
{
instance.AddBossBuff((int)BossBuffs.AKEOMNPOJCE);
instance.AddBossBuff((int)BossBuffs.GPPEGLNNGNJ);
instance.AddBossBuff((int)BossBuffs.BossBuffOne);
instance.AddBossBuff((int)BossBuffs.BossBuffTwo);
} */
// Send packet

View File

@@ -322,7 +322,7 @@ namespace EggLink.DanhengServer.Game.Friend
{
PlayerInfo = new PlayerSimpleInfo()
{
Uid = (uint)serverProfile.Uid, // TODO: UID is always 0 now
Uid = (uint)serverProfile.Uid,
HeadIcon = (uint)serverProfile.HeadIcon,
IsBanned = false,
Level = (uint)serverProfile.Level,
@@ -332,7 +332,7 @@ namespace EggLink.DanhengServer.Game.Friend
Platform = PlatformType.Pc,
Signature = serverProfile.Signature,
},
IsMarked = false, // IsMarked
IsMarked = false,
RemarkName = ""
});
@@ -342,7 +342,7 @@ namespace EggLink.DanhengServer.Game.Friend
proto.FriendList.Add(new FriendSimpleInfo()
{
PlayerInfo = player.ToSimpleProto(status),
IsMarked = false, // IsMarked
IsMarked = false,
RemarkName = ""
});
}

View File

@@ -3,8 +3,10 @@ using EggLink.DanhengServer.Database;
using EggLink.DanhengServer.Database.Lineup;
using EggLink.DanhengServer.Game.Player;
using EggLink.DanhengServer.Game.Scene;
using EggLink.DanhengServer.Proto;
using EggLink.DanhengServer.Server.Packet.Send.Lineup;
using EggLink.DanhengServer.Util;
using LineupInfo = EggLink.DanhengServer.Database.Lineup.LineupInfo;
namespace EggLink.DanhengServer.Game.Lineup
{
@@ -291,6 +293,44 @@ namespace EggLink.DanhengServer.Game.Lineup
Player.SendPacket(new PacketSyncLineupNotify(lineup));
}
public void ReplaceLineup(int lineupIndex, List<int> lineupSlotList, ExtraLineupType extraLineupType = ExtraLineupType.LineupNone)
{
if (extraLineupType != ExtraLineupType.LineupNone)
{
LineupData.CurExtraLineup = (int)extraLineupType + 10;
if (!LineupData.Lineups.ContainsKey(LineupData.CurExtraLineup))
{
SetExtraLineup(extraLineupType, []);
}
}
LineupInfo lineup;
if (LineupData.CurExtraLineup != -1)
{
lineup = LineupData.Lineups[LineupData.CurExtraLineup]; // Extra lineup
}
else if (lineupIndex < 0 || !LineupData.Lineups.ContainsKey(lineupIndex))
{
return;
}
else
{
lineup = LineupData.Lineups[lineupIndex];
}
lineup.BaseAvatars = [];
var index = lineup.LineupType == 0 ? lineupIndex : LineupData.GetCurLineupIndex();
foreach (var avatar in lineupSlotList)
{
AddAvatar(index, avatar, false);
}
DatabaseHelper.Instance?.UpdateInstance(LineupData);
if (index == LineupData.GetCurLineupIndex())
{
Player.SceneInstance?.SyncLineup();
}
Player.SendPacket(new PacketSyncLineupNotify(lineup));
}
public void ReplaceLineup(Proto.ReplaceLineupCsReq req)
{
if (req.ExtraLineupType != Proto.ExtraLineupType.LineupNone)

View File

@@ -130,6 +130,7 @@ namespace EggLink.DanhengServer.Game.Player
Data.LastActiveTime = Extensions.GetUnixSec();
DatabaseHelper.Instance?.UpdateInstance(Data);
ChallengeManager.ResurrectInstance();
LoadScene(Data.PlaneId, Data.FloorId, Data.EntryId, Data.Pos!, Data.Rot!, false);
if (SceneInstance == null)
{

View File

@@ -7,14 +7,11 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Battle
{
public override void OnHandle(Connection connection, byte[] header, byte[] data)
{
// Resurrect old instance
connection.Player!.ChallengeManager!.ResurrectInstance();
// Send packet first
connection.SendPacket(new PacketGetCurChallengeScRsp(connection.Player!));
// Update data
if (connection.Player!.ChallengeManager.ChallengeInstance != null)
if (connection.Player!.ChallengeManager!.ChallengeInstance != null)
{
connection.Player.ChallengeManager.ChallengeInstance.OnUpdate();
}

View File

@@ -9,13 +9,40 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Battle
{
var req = StartChallengeCsReq.Parser.ParseFrom(data);
HDLDGEPFMGL? buffInfo = null;
if (req.PlayerInfo != null && req.PlayerInfo.GGIAHBJHKGE != null)
StartChallengeStoryBuffInfo? storyBuffInfo = null;
if (req.PlayerInfo != null && req.PlayerInfo.StoryBuffInfo != null)
{
buffInfo = req.PlayerInfo.GGIAHBJHKGE;
storyBuffInfo = req.PlayerInfo.StoryBuffInfo;
};
connection.Player!.ChallengeManager!.StartChallenge((int)req.ChallengeId, buffInfo);
// Early implementation for 2.3
/* StartChallengeBossBuffInfo? bossBuffInfo = null;
if (req.PlayerInfo != null && req.PlayerInfo.BossBuffInfo != null)
{
bossBuffInfo = req.PlayerInfo.BossBuffInfo;
};
if (req.TeamOne.Count > 0)
{
List<int> team = new();
for (int id in req.TeamOne)
{
team.Add(id);
};
connection.Player!.LineupManager!.ReplaceLineup(0, team, ExtraLineupType.LineupChallenge);
}
if (req.TeamTwo.Count > 0)
{
List<int> team = new();
for (int id in req.TeamTwo)
{
team.Add(id);
};
connection.Player!.LineupManager!.ReplaceLineup(0, team, ExtraLineupType.LineupChallenge2);
} */
connection.Player!.ChallengeManager!.StartChallenge((int)req.ChallengeId, storyBuffInfo/*, bossBuffInfo*/);
}
}
}

View File

@@ -5,11 +5,11 @@ namespace EggLink.DanhengServer.Server.Packet.Send.Challenge
{
public class PacketStartChallengeScRsp : BasePacket
{
public PacketStartChallengeScRsp(int Retcode) : base(CmdIds.StartChallengeScRsp)
public PacketStartChallengeScRsp(uint Retcode) : base(CmdIds.StartChallengeScRsp)
{
StartChallengeScRsp proto = new StartChallengeScRsp
{
Retcode = (uint)Retcode,
Retcode = Retcode,
};
SetData(proto);
@@ -22,7 +22,11 @@ namespace EggLink.DanhengServer.Server.Packet.Send.Challenge
if (player.ChallengeManager!.ChallengeInstance != null)
{
proto.CurChallenge = player.ChallengeManager.ChallengeInstance.ToProto();
proto.Lineup = player.LineupManager!.GetExtraLineup(ExtraLineupType.LineupChallenge)!.ToProto();
proto.Lineup = player.LineupManager!.GetExtraLineup(ExtraLineupType.LineupChallenge)!.ToProto(); // Deprecated in 2.3
// Early implementation for 2.3
/* proto.LineupList.Add(player.LineupManager!.GetExtraLineup(ExtraLineupType.LineupChallenge)!.ToProto());
proto.Lineup.Add(player.LineupManager!.GetExtraLineup(ExtraLineupType.LineupChallenge2)!.ToProto()); */
}
else
{