mirror of
https://gitlab.com/YuukiPS/GC-Proto.git
synced 2025-05-01 21:23:14 +03:00
Merge from version 2.6-3.3 aka full data
This commit is contained in:
parent
00497f72de
commit
cec755eb30
1923
PacketOpcodes.java
1923
PacketOpcodes.java
File diff suppressed because it is too large
Load Diff
@ -1,13 +0,0 @@
|
|||||||
import os
|
|
||||||
|
|
||||||
for file in os.listdir(r'./proto'):
|
|
||||||
with open(f'./proto/{file}', 'r') as f:
|
|
||||||
temp = '// Proto has been converted from Sorapointa to Grasscutter format\n'
|
|
||||||
for line in f.readlines():
|
|
||||||
if 'org.sorapointa.proto' in line:
|
|
||||||
temp += "option java_package = \"emu.grasscutter.net.proto\";\n"
|
|
||||||
else:
|
|
||||||
temp += line
|
|
||||||
|
|
||||||
with open(f'./proto/{file}', 'w') as out:
|
|
||||||
out.write(temp)
|
|
8210
cmdid.json
8210
cmdid.json
File diff suppressed because it is too large
Load Diff
7674
cmdid_gc.json
7674
cmdid_gc.json
File diff suppressed because it is too large
Load Diff
@ -1,62 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"name": "FireworkNotify",
|
|
||||||
"id": 5934
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "FireworkReq",
|
|
||||||
"id": 6068
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "FireworkRsp",
|
|
||||||
"id": 5918
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "FireworkSetNotify",
|
|
||||||
"id": 6079
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "FireworkSetReq",
|
|
||||||
"id": 6099
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "FireworkSetRsp",
|
|
||||||
"id": 5969
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "MusicGameGetBeatmapRsp",
|
|
||||||
"id": 6309
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "MusicGameCreateBeatmapRsp",
|
|
||||||
"id": 6347
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "MusicGameSearchBeatmapRsp",
|
|
||||||
"id": 6304
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "MusicGameSearchBeatmapReq",
|
|
||||||
"id": 6343
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "MusicGameStartToPlayOthersBeatmapReq",
|
|
||||||
"id": 6302
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "MusicGameStartToPlayOthersBeatmapRsp",
|
|
||||||
"id": 6313
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "PrivateChatSetSequenceReq",
|
|
||||||
"id": 4985
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "PrivateChatSetSequenceRsp",
|
|
||||||
"id": 4957
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Unk2700_NGPMINKIOPK",
|
|
||||||
"id": 8956
|
|
||||||
}
|
|
||||||
]
|
|
8053
cmdid_gc_update.json
8053
cmdid_gc_update.json
File diff suppressed because it is too large
Load Diff
1487
gc_needed.json
1487
gc_needed.json
File diff suppressed because it is too large
Load Diff
513
op.js
513
op.js
@ -1,513 +0,0 @@
|
|||||||
// Removed useless files, to speed up build process and make it clearer.
|
|
||||||
const path = require("path");
|
|
||||||
const fs = require("fs");
|
|
||||||
const readline = require("readline");
|
|
||||||
|
|
||||||
// cmdid current version
|
|
||||||
const read_cmdid = "cmdid.csv";
|
|
||||||
const read_cmdid_output = "cmdid.json";
|
|
||||||
const read_cmdid_output_gc = "cmdid_gc.json";
|
|
||||||
const read_cmdid_output_gc_update = "cmdid_gc_update.json";
|
|
||||||
const read_cmdid_output_gc_nofound = "cmdid_gc_nofound.json";
|
|
||||||
const file_gc_needed = "gc_needed.json";
|
|
||||||
|
|
||||||
const write_op = "PacketOpcodes.java";
|
|
||||||
|
|
||||||
console.log(process.cwd());
|
|
||||||
|
|
||||||
//(TODO: add input file)
|
|
||||||
// folder gc auto-generated proto
|
|
||||||
const folder_proto_gc_gen =
|
|
||||||
"../Grasscutter-Yuuki/src/generated/main/java/emu/grasscutter/net/proto/";
|
|
||||||
// file PacketOpcodes currently in use
|
|
||||||
const read_cmdid_gc =
|
|
||||||
"../Grasscutter-Yuuki/src/main/java/emu/grasscutter/net/packet/PacketOpcodes.java";
|
|
||||||
|
|
||||||
const folder_packet_gc =
|
|
||||||
"../Grasscutter-Yuuki/src/main/java/emu/grasscutter/server/packet/";
|
|
||||||
|
|
||||||
//const read_cmdid = fs.readFileSync("cmdid.csv");
|
|
||||||
//const read_packetopcodes = fs.readFileSync("PacketOpcodes.java");
|
|
||||||
|
|
||||||
var data = [];
|
|
||||||
var data_gc = [];
|
|
||||||
|
|
||||||
var index_file_gen = 0;
|
|
||||||
var index_file_cmdid = 0;
|
|
||||||
var index_cmdid_gc = 0;
|
|
||||||
var index_cmdid_gc_out = 0;
|
|
||||||
function check_gen() {
|
|
||||||
fs.readdir(folder_proto_gc_gen, function (err, files) {
|
|
||||||
//handling error
|
|
||||||
if (err) {
|
|
||||||
return console.log("Unable to scan directory: " + err);
|
|
||||||
}
|
|
||||||
files.forEach(function (file) {
|
|
||||||
index_file_gen++;
|
|
||||||
});
|
|
||||||
console.log("file proto gen: " + index_file_gen);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// gen json file cmdid
|
|
||||||
function get_cmdid_json() {
|
|
||||||
const inputStreamcmdid = fs.createReadStream(read_cmdid);
|
|
||||||
var lineReadercmdid = readline.createInterface({
|
|
||||||
input: inputStreamcmdid,
|
|
||||||
terminal: false,
|
|
||||||
});
|
|
||||||
lineReadercmdid.on("line", function (line) {
|
|
||||||
var config = line.split(",");
|
|
||||||
var subdata = new Object();
|
|
||||||
subdata["name"] = config[0];
|
|
||||||
subdata["id"] = parseInt(config[1]);
|
|
||||||
data.push(subdata);
|
|
||||||
index_file_cmdid++;
|
|
||||||
});
|
|
||||||
lineReadercmdid.on("close", function () {
|
|
||||||
console.log("found cmd id " + index_file_cmdid);
|
|
||||||
save_json(data, read_cmdid_output);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// create cmdid from gc which comes from PacketOpcodes
|
|
||||||
function get_cmdid_gc() {
|
|
||||||
const inputStreamcmdid = fs.createReadStream(read_cmdid_gc);
|
|
||||||
var lineReadercmdid = readline.createInterface({
|
|
||||||
input: inputStreamcmdid,
|
|
||||||
terminal: false,
|
|
||||||
});
|
|
||||||
lineReadercmdid.on("line", function (line) {
|
|
||||||
var config = line.split(" = ");
|
|
||||||
var name = config[0];
|
|
||||||
var id = parseInt(config[1]);
|
|
||||||
if (name.includes("public static final int")) {
|
|
||||||
name = name.replace("\tpublic static final int ", "");
|
|
||||||
// skip 0 ?
|
|
||||||
if (id == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var subdata = new Object();
|
|
||||||
subdata["name"] = name;
|
|
||||||
subdata["id"] = id;
|
|
||||||
data_gc.push(subdata);
|
|
||||||
//console.log(name);
|
|
||||||
index_cmdid_gc++;
|
|
||||||
} else {
|
|
||||||
index_cmdid_gc_out++;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
lineReadercmdid.on("close", function () {
|
|
||||||
console.log(
|
|
||||||
"found cmd id " + index_cmdid_gc + " | no need " + index_cmdid_gc_out
|
|
||||||
);
|
|
||||||
save_json(data_gc, read_cmdid_output_gc);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var found_cmdid_new = 0;
|
|
||||||
var nofound_cmdid_new = 0;
|
|
||||||
var rename_name_cmdid = 0;
|
|
||||||
var noneed_rename_name_cmdid = 0;
|
|
||||||
var data_gc_cmdid_nofound = [];
|
|
||||||
|
|
||||||
var check_dunp_id = [];
|
|
||||||
function update_cmdid_gc() {
|
|
||||||
const cmd_last = fs.readFileSync(read_cmdid_output);
|
|
||||||
const cmd_old = fs.readFileSync(read_cmdid_output_gc);
|
|
||||||
const json_cmdid_last = JSON.parse(cmd_last);
|
|
||||||
const json_cmdid_old = JSON.parse(cmd_old);
|
|
||||||
json_cmdid_old.forEach(function (s, index) {
|
|
||||||
var id = s.id;
|
|
||||||
var name = s.name.trim();
|
|
||||||
|
|
||||||
var found_id = json_cmdid_last.find((j) => j.id == id);
|
|
||||||
if (found_id) {
|
|
||||||
found_cmdid_new++;
|
|
||||||
if (name == found_id.name) {
|
|
||||||
noneed_rename_name_cmdid++;
|
|
||||||
} else {
|
|
||||||
rename_name_cmdid++;
|
|
||||||
//console.log("Wow rename -> ID: "+id+" | Name: "+name+" > "+found_id.name);
|
|
||||||
// rename json_cmdid_old
|
|
||||||
s.replace = s.name;
|
|
||||||
s.name = found_id.name;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log("Wow nofound -> ID: " + id + " | Name: " + name);
|
|
||||||
data_gc_cmdid_nofound.push(s);
|
|
||||||
nofound_cmdid_new++;
|
|
||||||
}
|
|
||||||
|
|
||||||
// find dump by id
|
|
||||||
var found_id = check_dunp_id.find((j) => j.id == id);
|
|
||||||
if (found_id) {
|
|
||||||
console.log(
|
|
||||||
"Wow dup -> ID: " +
|
|
||||||
id +
|
|
||||||
" (ADD " +
|
|
||||||
found_id.id +
|
|
||||||
") | Name Remove: " +
|
|
||||||
name +
|
|
||||||
" (ADD " +
|
|
||||||
found_id.name +
|
|
||||||
")"
|
|
||||||
);
|
|
||||||
// remove bad
|
|
||||||
json_cmdid_old.splice(index, 1);
|
|
||||||
} else {
|
|
||||||
check_dunp_id.push(s);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
check_dunp_id = []; // clear
|
|
||||||
|
|
||||||
// I don't know why this happened but make sure to check again
|
|
||||||
var check_dunp_name = [];
|
|
||||||
json_cmdid_old.forEach(function (s, index) {
|
|
||||||
var id = s.id;
|
|
||||||
var name = s.name.trim();
|
|
||||||
|
|
||||||
var found_name = check_dunp_name.find((j) => j.name === name);
|
|
||||||
if (found_name) {
|
|
||||||
console.log(
|
|
||||||
"Wow dup -> ID: " +
|
|
||||||
id +
|
|
||||||
" (ADD " +
|
|
||||||
found_name.id +
|
|
||||||
") | Name Remove: " +
|
|
||||||
name +
|
|
||||||
" (ADD " +
|
|
||||||
found_name.name +
|
|
||||||
")"
|
|
||||||
);
|
|
||||||
// remove bad
|
|
||||||
json_cmdid_old.splice(index, 1);
|
|
||||||
} else {
|
|
||||||
check_dunp_name.push(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
var found_id = json_cmdid_last.find((j) => j.id == id);
|
|
||||||
if (found_id) {
|
|
||||||
if (name != found_id.name) {
|
|
||||||
console.log(
|
|
||||||
"Wow why? -> ID: " + id + " | Name: " + name + " > " + found_id.name
|
|
||||||
);
|
|
||||||
s.name = found_id.name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
check_dunp_name = []; // clear
|
|
||||||
|
|
||||||
console.log(
|
|
||||||
"found " +
|
|
||||||
found_cmdid_new +
|
|
||||||
" | no found " +
|
|
||||||
nofound_cmdid_new +
|
|
||||||
" | rename " +
|
|
||||||
rename_name_cmdid +
|
|
||||||
" | noneed rename " +
|
|
||||||
noneed_rename_name_cmdid
|
|
||||||
);
|
|
||||||
save_json(json_cmdid_old, read_cmdid_output_gc_update);
|
|
||||||
save_json(data_gc_cmdid_nofound, read_cmdid_output_gc_nofound);
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_json(file) {
|
|
||||||
return JSON.parse(fs.readFileSync(file));
|
|
||||||
}
|
|
||||||
|
|
||||||
// save json
|
|
||||||
function save_json(raw, file) {
|
|
||||||
var j = JSON.stringify(raw, null, 4);
|
|
||||||
save(j, file);
|
|
||||||
}
|
|
||||||
|
|
||||||
function save(raw, file) {
|
|
||||||
fs.writeFile(file, raw, "utf8", function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.log("An error occured while writing to File.");
|
|
||||||
return console.log(err);
|
|
||||||
}
|
|
||||||
console.log("File has been saved: " + file);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function cmdid_to_op() {
|
|
||||||
let melon =
|
|
||||||
"\
|
|
||||||
package emu.grasscutter.net.packet;\
|
|
||||||
\n\
|
|
||||||
\npublic class PacketOpcodes {\
|
|
||||||
\n// Empty\
|
|
||||||
\npublic static final int NONE = 0;\
|
|
||||||
\n\
|
|
||||||
\n// Opcodes\
|
|
||||||
";
|
|
||||||
|
|
||||||
const cmdidfix_raw = fs.readFileSync(read_cmdid_output_gc_update);
|
|
||||||
const json_cmdidfix_raw = JSON.parse(cmdidfix_raw);
|
|
||||||
json_cmdidfix_raw.forEach(function (s) {
|
|
||||||
melon += "\npublic static final int " + s.name + " = " + s.id + ";";
|
|
||||||
});
|
|
||||||
|
|
||||||
melon += "\n}";
|
|
||||||
save(melon, write_op); // use "npx prettier --write PacketOpcodes.java" for better Formatter
|
|
||||||
}
|
|
||||||
|
|
||||||
var index_file_packet = 0;
|
|
||||||
var index_file_packet_found = 0;
|
|
||||||
var index_file_packet_nofound = 0;
|
|
||||||
var index_file_packet_rename = 0;
|
|
||||||
var index_file_packet_norename = 0;
|
|
||||||
var index_file_packet_renamemulti = 0;
|
|
||||||
var file_gc_need = [];
|
|
||||||
function fix_packet(saveit = false) {
|
|
||||||
const files = getAllFiles(folder_packet_gc);
|
|
||||||
|
|
||||||
const json_cmdid_last = read_json(read_cmdid_output);
|
|
||||||
const json_cmdid_old = read_json(read_cmdid_output_gc);
|
|
||||||
const json_cmdidfix_raw = read_json(read_cmdid_output_gc_update);
|
|
||||||
|
|
||||||
files.forEach(function (file) {
|
|
||||||
//var f = path + "/" + file;
|
|
||||||
const read = fs.readFileSync(file);
|
|
||||||
var real = read.toString();
|
|
||||||
|
|
||||||
var name = getPacketOpcodes(real);
|
|
||||||
if (!name) {
|
|
||||||
console.log("no found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name === "NONE") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var subdata = new Object();
|
|
||||||
subdata["name"] = name;
|
|
||||||
file_gc_need.push(subdata);
|
|
||||||
|
|
||||||
//var name = c[1];
|
|
||||||
|
|
||||||
//console.log(r);
|
|
||||||
|
|
||||||
var found_old = json_cmdid_old.find((j) => j.name === name);
|
|
||||||
if (found_old) {
|
|
||||||
//console.log(found_old);
|
|
||||||
index_file_packet_found++;
|
|
||||||
var found_new = json_cmdid_last.find((j) => j.id == found_old.id);
|
|
||||||
if (found_new) {
|
|
||||||
if (found_new.name != found_old.name) {
|
|
||||||
index_file_packet_rename++;
|
|
||||||
console.log(
|
|
||||||
"Found need rename: " + found_old.name + " > " + found_new.name
|
|
||||||
);
|
|
||||||
|
|
||||||
// rename all
|
|
||||||
json_cmdidfix_raw.forEach(function (s) {
|
|
||||||
var r = s.replace;
|
|
||||||
if (r) {
|
|
||||||
// var notify = HomeNewUnlockedBgmIdListNotify.Unk2700_MEBFPBDNPGO_ServerNotify
|
|
||||||
// var notify = Unk2700MEBFPBDNPGOServerNotify.HomeNewUnlockedBgmIdListNotify
|
|
||||||
|
|
||||||
// Unk2700MEBFPBDNPGOServerNotify to HomeNewUnlockedBgmIdListNotifyOuterClass
|
|
||||||
// Unk2700OGHMHELMBNNServerRsp to HomeChangeBgmRspOuterClass
|
|
||||||
|
|
||||||
// - Need More Auto like -
|
|
||||||
// addUnk2700ELJPLMIHNIP to addNewUnlockedBgmIdList (this should be found inside gen proto)
|
|
||||||
// setUnk2700BJHAMKKECEI to setBgmId
|
|
||||||
if (r.match("Unk")) {
|
|
||||||
//console.log(r);
|
|
||||||
var x = r.split("_");
|
|
||||||
var tr = x.join("");
|
|
||||||
var realneed = tr;
|
|
||||||
|
|
||||||
if (tr.match("ServerNotify")) {
|
|
||||||
//console.log("found: "+tr);
|
|
||||||
let re = new RegExp(`${tr}`, "g");
|
|
||||||
tr = tr.replace(re, `${s.name}OuterClass`);
|
|
||||||
//console.log("found: " + tr);
|
|
||||||
} else if (tr.match("ServerRsp")) {
|
|
||||||
let re = new RegExp(`${tr}`, "g");
|
|
||||||
tr = tr.replace(re, `${s.name}OuterClass`);
|
|
||||||
} else {
|
|
||||||
let re = new RegExp(`${tr}`, "g");
|
|
||||||
tr = tr.replace(re, s.name);
|
|
||||||
//console.log("found: " + tr);
|
|
||||||
}
|
|
||||||
let re = new RegExp(`${realneed}`, "g");
|
|
||||||
real = real.replace(re, tr);
|
|
||||||
}
|
|
||||||
let re = new RegExp(`${r}`, "g");
|
|
||||||
real = real.replace(re, s.name);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// simpel rename
|
|
||||||
//let re = new RegExp(`${found_old.name}`, "g");
|
|
||||||
//real = real.replace(re, found_new.name);
|
|
||||||
|
|
||||||
//console.log(real);
|
|
||||||
if (saveit) {
|
|
||||||
save(real, f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
index_file_packet_norename++;
|
|
||||||
//console.log("Same name "+name);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
index_file_packet_nofound++;
|
|
||||||
console.log("No found " + name);
|
|
||||||
}
|
|
||||||
|
|
||||||
//return;
|
|
||||||
index_file_packet++;
|
|
||||||
});
|
|
||||||
save_json(file_gc_need, file_gc_needed);
|
|
||||||
console.log(
|
|
||||||
"Index file: " +
|
|
||||||
index_file_packet +
|
|
||||||
" | found " +
|
|
||||||
index_file_packet_found +
|
|
||||||
" | No found " +
|
|
||||||
index_file_packet_nofound +
|
|
||||||
" | Rename " +
|
|
||||||
index_file_packet_rename +
|
|
||||||
" | NoRename " +
|
|
||||||
index_file_packet_norename
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function isBlank(str) {
|
|
||||||
return !!!str || /^\s*$/.test(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
function getAllFiles(dirPath, arrayOfFiles) {
|
|
||||||
files = fs.readdirSync(dirPath);
|
|
||||||
|
|
||||||
arrayOfFiles = arrayOfFiles || [];
|
|
||||||
|
|
||||||
files.forEach(function (file) {
|
|
||||||
if (fs.statSync(dirPath + "/" + file).isDirectory()) {
|
|
||||||
arrayOfFiles = getAllFiles(dirPath + "/" + file, arrayOfFiles);
|
|
||||||
} else {
|
|
||||||
arrayOfFiles.push(path.join(__dirname, dirPath, "/", file));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return arrayOfFiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPacketOpcodes(raw) {
|
|
||||||
var r = raw.match(/\(.*?\)/g).map((x) => x.replace(/[()]/g, ""));
|
|
||||||
var name;
|
|
||||||
r.forEach(function (s, index) {
|
|
||||||
if (s.match("PacketOpcodes.")) {
|
|
||||||
name = s.split("PacketOpcodes.")[1];
|
|
||||||
if (name.match(",")) {
|
|
||||||
name = name.split(",")[0];
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_toclean = [];
|
|
||||||
var file_toaddmore = [];
|
|
||||||
var found_noclean = 0;
|
|
||||||
var found_needclean = 0;
|
|
||||||
var found_maybe_related = 0;
|
|
||||||
function clean_proto_gen() {
|
|
||||||
//const files = getAllFiles(folder_proto_gc_gen);
|
|
||||||
const files = getAllFiles("./proto");
|
|
||||||
|
|
||||||
const json_gc_needed = read_json(file_gc_needed);
|
|
||||||
const json_gc_now = read_json(read_cmdid_output_gc);
|
|
||||||
const json_gc_update = read_json(read_cmdid_output_gc_update);
|
|
||||||
//console.log(json_gc_needed);
|
|
||||||
|
|
||||||
console.log(
|
|
||||||
"File proto: " + files.length + " | Need " + json_gc_needed.length
|
|
||||||
);
|
|
||||||
|
|
||||||
const regex = /\import "(.*?)\.proto"/g;
|
|
||||||
|
|
||||||
// find all file import
|
|
||||||
files.forEach(function (file) {
|
|
||||||
var found = json_gc_needed.find((j) => file.match(j.name));
|
|
||||||
if (found) {
|
|
||||||
// read file
|
|
||||||
const read = fs.readFileSync(file);
|
|
||||||
var rd = read.toString();
|
|
||||||
// find import
|
|
||||||
while ((m = regex.exec(rd)) !== null) {
|
|
||||||
// This is necessary to avoid infinite loops with zero-width matches
|
|
||||||
if (m.index === regex.lastIndex) {
|
|
||||||
regex.lastIndex++;
|
|
||||||
}
|
|
||||||
// The result can be accessed through the `m`-variable.
|
|
||||||
m.forEach((match, groupIndex) => {
|
|
||||||
// only index 1 grup
|
|
||||||
if (groupIndex == 1) {
|
|
||||||
var found_rt = file_toaddmore.find((j) => j.name === match);
|
|
||||||
if (found_rt) {
|
|
||||||
//found_maybe_related++;
|
|
||||||
//console.log(`Skip ${match}`);
|
|
||||||
} else {
|
|
||||||
var subdata = new Object();
|
|
||||||
subdata["name"] = match;
|
|
||||||
file_toaddmore.push(subdata);
|
|
||||||
found_maybe_related++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// all
|
|
||||||
files.forEach(function (file) {
|
|
||||||
// main file
|
|
||||||
var found = json_gc_needed.find((j) => file.match(j.name));
|
|
||||||
if (found) {
|
|
||||||
found_noclean++;
|
|
||||||
} else {
|
|
||||||
var found1 = file_toaddmore.find((j) => file.match(j.name));
|
|
||||||
if (found1) {
|
|
||||||
found_noclean++;
|
|
||||||
//console.log("Files sub are required: "+file);
|
|
||||||
} else {
|
|
||||||
found_needclean++;
|
|
||||||
try {
|
|
||||||
fs.unlinkSync(file);
|
|
||||||
//file removed
|
|
||||||
} catch (err) {
|
|
||||||
console.error(err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//console.log(file_toaddmore);
|
|
||||||
|
|
||||||
console.log(
|
|
||||||
"No clean: " +
|
|
||||||
found_noclean +
|
|
||||||
" | Need to clean: " +
|
|
||||||
found_needclean +
|
|
||||||
" | Related " +
|
|
||||||
found_maybe_related
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
clean_proto_gen();
|
|
||||||
//fix_packet(false);
|
|
||||||
//cmdid_to_op();
|
|
||||||
//update_cmdid_gc();
|
|
||||||
//get_cmdid_gc();
|
|
||||||
//get_cmdid_json();
|
|
||||||
//check_gen();
|
|
@ -22,16 +22,16 @@ import "AISnapshotEntitySkillCycle.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AISnapshotEntityData {
|
message AISnapshotEntityData {
|
||||||
float tick_time = 5;
|
repeated AISnapshotEntitySkillCycle finished_skill_cycles = 14;
|
||||||
uint32 tactic = 2;
|
uint32 attack_target_id = 2;
|
||||||
repeated AISnapshotEntitySkillCycle finished_skill_cycles = 9;
|
uint32 entity_id = 6;
|
||||||
float moved_distance = 4;
|
float Unk3300_ALBMEMMJEJA = 13;
|
||||||
uint32 ai_target_id = 13;
|
uint32 Unk3300_IADJCDJOKND = 5;
|
||||||
uint32 threat_target_id = 3;
|
uint32 Unk3300_FNCIDLDKANO = 7;
|
||||||
uint32 threat_list_size = 1;
|
float Unk3300_GPCFOCIFHCD = 15;
|
||||||
uint32 entity_id = 15;
|
float Unk3300_FMBBEIHCCJO = 12;
|
||||||
map<uint32, uint32> hitting_avatars = 7;
|
float Unk3300_LIJIDJOLLEB = 11;
|
||||||
float distance_to_player = 11;
|
uint32 Unk3300_GNBOAJHMNJO = 9;
|
||||||
uint32 attack_target_id = 10;
|
map<uint32, uint32> hitting_avatars = 4;
|
||||||
float real_time = 14;
|
uint32 Unk3300_FIKEAEPLOHJ = 3;
|
||||||
}
|
}
|
||||||
|
@ -20,9 +20,9 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AISnapshotEntitySkillCycle {
|
message AISnapshotEntitySkillCycle {
|
||||||
bool failed = 12;
|
bool Unk3300_IIOIBLEOHEK = 14;
|
||||||
bool trydoskill = 8;
|
uint32 skill_id = 12;
|
||||||
bool success = 9;
|
bool Unk3300_ABKFNGIDFMI = 7;
|
||||||
bool selected = 1;
|
bool Unk3300_IFKDIMDJBDH = 2;
|
||||||
uint32 skill_id = 2;
|
bool Unk3300_EGIILMJFEBE = 1;
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,5 @@ import "AISnapshotEntityData.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AISnapshotInfo {
|
message AISnapshotInfo {
|
||||||
repeated AISnapshotEntityData ai_snapshots = 13;
|
repeated AISnapshotEntityData ai_snapshots = 1;
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionBlink {
|
message AbilityActionBlink {
|
||||||
Vector rot = 11;
|
Vector rot = 8;
|
||||||
Vector pos = 10;
|
Vector pos = 3;
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionCreateGadget {
|
message AbilityActionCreateGadget {
|
||||||
uint32 room_id = 3;
|
uint32 room_id = 5;
|
||||||
Vector rot = 8;
|
Vector rot = 13;
|
||||||
Vector pos = 11;
|
Vector pos = 8;
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionCreateTile {
|
message AbilityActionCreateTile {
|
||||||
Vector rot = 3;
|
Vector pos = 15;
|
||||||
Vector pos = 8;
|
Vector rot = 13;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionDeductStamina {
|
message AbilityActionDeductStamina {
|
||||||
bool is_swim = 1;
|
bool is_swim = 7;
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionDestroyTile {
|
message AbilityActionDestroyTile {
|
||||||
Vector rot = 3;
|
Vector pos = 13;
|
||||||
Vector pos = 1;
|
Vector rot = 5;
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,5 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionFireAfterImage {
|
message AbilityActionFireAfterImage {
|
||||||
Vector dir = 12;
|
Vector dir = 10;
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionGenerateElemBall {
|
message AbilityActionGenerateElemBall {
|
||||||
uint32 room_id = 2;
|
uint32 room_id = 8;
|
||||||
Vector pos = 7;
|
Vector rot = 1;
|
||||||
Vector rot = 13;
|
Vector pos = 14;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionHitEffect {
|
message AbilityActionHitEffect {
|
||||||
uint32 trigger_id = 3;
|
uint32 trigger_id = 13;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionServerMonsterLog {
|
message AbilityActionServerMonsterLog {
|
||||||
repeated int32 param_list = 2;
|
repeated int32 param_list = 3;
|
||||||
}
|
}
|
||||||
|
25
proto/AbilityActionSetBulletTrackTarget.proto
Normal file
25
proto/AbilityActionSetBulletTrackTarget.proto
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Proto has been converted from Sorapointa to Grasscutter format
|
||||||
|
// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
|
||||||
|
// Copyright (C) 2022 Sorapointa Team
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
|
message AbilityActionSetBulletTrackTarget {
|
||||||
|
uint32 Unk3300_GKACKBIEOHK = 10;
|
||||||
|
uint32 Unk3300_HGBOFFKEPDJ = 4;
|
||||||
|
}
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionSetCrashDamage {
|
message AbilityActionSetCrashDamage {
|
||||||
Vector hit_pos = 2;
|
float damage = 2;
|
||||||
float damage = 15;
|
Vector hit_pos = 8;
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionSummon {
|
message AbilityActionSummon {
|
||||||
Vector pos = 10;
|
Vector pos = 3;
|
||||||
Vector rot = 1;
|
Vector rot = 10;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityActionTriggerAbility {
|
message AbilityActionTriggerAbility {
|
||||||
uint32 other_id = 14;
|
uint32 other_id = 4;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityApplyLevelModifier {
|
message AbilityApplyLevelModifier {
|
||||||
uint32 apply_entity_id = 6;
|
uint32 apply_entity_id = 1;
|
||||||
}
|
}
|
||||||
|
@ -21,8 +21,8 @@ option java_package = "emu.grasscutter.net.proto";
|
|||||||
|
|
||||||
message AbilityArgument {
|
message AbilityArgument {
|
||||||
oneof arg {
|
oneof arg {
|
||||||
uint32 int_arg = 5;
|
uint32 int_arg = 14;
|
||||||
float float_arg = 15;
|
float float_arg = 7;
|
||||||
string str_arg = 11;
|
string str_arg = 9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityBornType {
|
message AbilityBornType {
|
||||||
Vector rot = 2;
|
Vector move_dir = 3;
|
||||||
Vector move_dir = 14;
|
Vector rot = 15;
|
||||||
Vector pos = 5;
|
Vector pos = 12;
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,15 @@ import "AbilityControlBlock.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 1131
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message AbilityChangeNotify {
|
message AbilityChangeNotify {
|
||||||
uint32 entity_id = 1;
|
// enum CmdId {
|
||||||
AbilityControlBlock ability_control_block = 15;
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 1127;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
AbilityControlBlock ability_control_block = 6;
|
||||||
|
uint32 entity_id = 10;
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,10 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityIdentifier {
|
message AbilityIdentifier {
|
||||||
uint32 modifier_owner_id = 2;
|
uint32 instanced_ability_id = 4;
|
||||||
uint32 instanced_modifier_id = 9;
|
uint32 Unk3300_IHCKJKLCICI = 10;
|
||||||
uint32 instanced_ability_id = 10;
|
bool is_serverbuff_modifier = 14;
|
||||||
bool is_serverbuff_modifier = 6;
|
int32 local_id = 7;
|
||||||
uint32 ability_caster_id = 15;
|
uint32 Unk3300_OOOLELPBDHJ = 1;
|
||||||
int32 local_id = 3;
|
uint32 instanced_modifier_id = 5;
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,16 @@ import "AbilityInvokeEntry.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 1107
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message AbilityInvocationFailNotify {
|
message AbilityInvocationFailNotify {
|
||||||
string reason = 7;
|
// enum CmdId {
|
||||||
uint32 entity_id = 13;
|
// option allow_alias = true;
|
||||||
AbilityInvokeEntry invoke = 3;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 1200;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 entity_id = 4;
|
||||||
|
string reason = 8;
|
||||||
|
AbilityInvokeEntry invoke = 11;
|
||||||
}
|
}
|
||||||
|
@ -21,15 +21,20 @@ import "AbilityInvokeEntry.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 1172
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message AbilityInvocationFixedNotify {
|
message AbilityInvocationFixedNotify {
|
||||||
AbilityInvokeEntry invoke6th = 14;
|
// enum CmdId {
|
||||||
AbilityInvokeEntry invoke5th = 8;
|
// option allow_alias = true;
|
||||||
AbilityInvokeEntry invoke4th = 1;
|
// NONE = 0;
|
||||||
AbilityInvokeEntry invoke2nd = 5;
|
// CMD_ID = 1179;
|
||||||
AbilityInvokeEntry invoke1st = 10;
|
// ENET_CHANNEL_ID = 0;
|
||||||
AbilityInvokeEntry invoke3rd = 12;
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
AbilityInvokeEntry Unk3300_LDIAOMFIBPL = 7;
|
||||||
|
AbilityInvokeEntry Unk3300_ONGNOHLIIBO = 3;
|
||||||
|
AbilityInvokeEntry Unk3300_AHDFHHFHEFM = 10;
|
||||||
|
AbilityInvokeEntry Unk3300_GAFFBFFKDIC = 1;
|
||||||
|
AbilityInvokeEntry Unk3300_EMGKKHKLIEG = 4;
|
||||||
|
AbilityInvokeEntry Unk3300_KFMHLLHECCJ = 9;
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,15 @@ import "AbilityInvokeEntry.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 1198
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message AbilityInvocationsNotify {
|
message AbilityInvocationsNotify {
|
||||||
repeated AbilityInvokeEntry invokes = 2;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 1130;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
repeated AbilityInvokeEntry invokes = 5;
|
||||||
}
|
}
|
||||||
|
@ -81,4 +81,5 @@ enum AbilityInvokeArgument {
|
|||||||
ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT = 119;
|
ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT = 119;
|
||||||
ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA = 120;
|
ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA = 120;
|
||||||
ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY = 121;
|
ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY = 121;
|
||||||
|
ABILITY_INVOKE_ARGUMENT_MIXIN_BREAKOUT = 122;
|
||||||
}
|
}
|
||||||
|
@ -24,12 +24,13 @@ import "ForwardType.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityInvokeEntry {
|
message AbilityInvokeEntry {
|
||||||
AbilityInvokeArgument argument_type = 1;
|
ForwardType forward_type = 9;
|
||||||
AbilityInvokeEntryHead head = 2;
|
uint32 event_id = 13;
|
||||||
uint32 forward_peer = 4;
|
uint32 entity_id = 7;
|
||||||
uint32 event_id = 12;
|
uint32 forward_peer = 14;
|
||||||
ForwardType forward_type = 3;
|
double total_tick_time = 10;
|
||||||
bytes ability_data = 15;
|
AbilityInvokeEntryHead head = 3;
|
||||||
double total_tick_time = 14;
|
bytes ability_data = 2;
|
||||||
uint32 entity_id = 9;
|
AbilityInvokeArgument argument_type = 8;
|
||||||
|
bool is_ignore_auth = 12;
|
||||||
}
|
}
|
||||||
|
@ -20,11 +20,11 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityInvokeEntryHead {
|
message AbilityInvokeEntryHead {
|
||||||
|
uint32 instanced_ability_id = 8;
|
||||||
|
uint32 target_id = 6;
|
||||||
|
uint32 server_buff_uid = 1;
|
||||||
|
int32 local_id = 12;
|
||||||
int32 modifier_config_local_id = 7;
|
int32 modifier_config_local_id = 7;
|
||||||
bool is_serverbuff_modifier = 2;
|
bool is_serverbuff_modifier = 15;
|
||||||
uint32 instanced_ability_id = 1;
|
uint32 instanced_modifier_id = 10;
|
||||||
uint32 instanced_modifier_id = 12;
|
|
||||||
int32 local_id = 10;
|
|
||||||
uint32 server_buff_uid = 14;
|
|
||||||
uint32 target_id = 3;
|
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,5 @@ import "AbilityAppliedAbility.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaAddAbility {
|
message AbilityMetaAddAbility {
|
||||||
AbilityAppliedAbility ability = 12;
|
AbilityAppliedAbility ability = 5;
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import "AbilityString.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaAddOrGetAbilityAndTrigger {
|
message AbilityMetaAddOrGetAbilityAndTrigger {
|
||||||
AbilityString ability_name = 13;
|
float trigger_argument = 4;
|
||||||
float trigger_argument = 3;
|
AbilityString ability_name = 12;
|
||||||
AbilityString ability_override = 8;
|
AbilityString ability_override = 13;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaDurabilityIsZero {
|
message AbilityMetaDurabilityIsZero {
|
||||||
bool is_zero = 5;
|
bool is_zero = 6;
|
||||||
}
|
}
|
||||||
|
@ -20,8 +20,8 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaElementReactionVisual {
|
message AbilityMetaElementReactionVisual {
|
||||||
int32 hit_index = 2;
|
uint32 Unk3300_PHKFGIHELFG = 6;
|
||||||
uint32 element_source_type = 12;
|
uint32 Unk3300_DGBGNEHDODI = 1;
|
||||||
uint32 element_reactor_type = 6;
|
int32 hit_index = 14;
|
||||||
uint32 element_reaction_type = 5;
|
uint32 Unk3300_OGILJCJPHPB = 2;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaLoseHp {
|
message AbilityMetaLoseHp {
|
||||||
uint32 lose_hp_config_idx = 10;
|
uint32 lose_hp_config_idx = 15;
|
||||||
}
|
}
|
||||||
|
@ -25,15 +25,15 @@ import "ModifierProperty.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaModifierChange {
|
message AbilityMetaModifierChange {
|
||||||
AbilityAttachedModifier attached_instanced_modifier = 7;
|
AbilityAttachedModifier attached_instanced_modifier = 3;
|
||||||
uint32 server_buff_uid = 4;
|
bool is_attached_parent_ability = 5;
|
||||||
bool is_attached_parent_ability = 10;
|
repeated ModifierProperty properties = 14;
|
||||||
ModifierAction action = 13;
|
bool Unk3300_NOPKODKOHJK = 12;
|
||||||
int32 modifier_local_id = 2;
|
int32 modifier_local_id = 2;
|
||||||
AbilityString parent_ability_name = 1;
|
bool Unk3300_PBNENPBMNCI = 8;
|
||||||
bool is_mute_remote = 6;
|
AbilityString parent_ability_name = 13;
|
||||||
uint32 apply_entity_id = 5;
|
uint32 server_buff_uid = 9;
|
||||||
repeated ModifierProperty properties = 3;
|
uint32 apply_entity_id = 7;
|
||||||
AbilityString parent_ability_override = 11;
|
AbilityString parent_ability_override = 15;
|
||||||
bool is_durability_zero = 9;
|
ModifierAction action = 4;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,6 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaModifierDurabilityChange {
|
message AbilityMetaModifierDurabilityChange {
|
||||||
float reduce_durability = 6;
|
float Unk3300_LDHNFNOGOGF = 13;
|
||||||
float remain_durability = 15;
|
float Unk3300_IFHFHEHDOIO = 1;
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,5 @@ import "AbilityScalarValueEntry.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaReInitOverrideMap {
|
message AbilityMetaReInitOverrideMap {
|
||||||
repeated AbilityScalarValueEntry override_map = 7;
|
repeated AbilityScalarValueEntry override_map = 10;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaSetAbilityTrigger {
|
message AbilityMetaSetAbilityTrigger {
|
||||||
uint32 trigger_ability_entity_id = 11;
|
uint32 trigger_ability_entity_id = 1;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaSetKilledState {
|
message AbilityMetaSetKilledState {
|
||||||
bool killed = 2;
|
bool killed = 5;
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,5 @@ import "AnimatorParameterValueInfoPair.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaSetPoseParameter {
|
message AbilityMetaSetPoseParameter {
|
||||||
AnimatorParameterValueInfoPair value = 6;
|
AnimatorParameterValueInfoPair value = 7;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,6 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaSpecialFloatArgument {
|
message AbilityMetaSpecialFloatArgument {
|
||||||
float argument_value = 14;
|
float argument_value = 4;
|
||||||
bool is_on = 10;
|
bool is_on = 10;
|
||||||
}
|
}
|
||||||
|
@ -20,9 +20,9 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaTriggerElementReaction {
|
message AbilityMetaTriggerElementReaction {
|
||||||
int32 hit_index = 9;
|
int32 hit_index = 7;
|
||||||
uint32 element_source_type = 7;
|
uint32 trigger_entity_id = 14;
|
||||||
uint32 element_reactor_type = 12;
|
uint32 Unk3300_PHKFGIHELFG = 13;
|
||||||
uint32 trigger_entity_id = 2;
|
uint32 Unk3300_OGILJCJPHPB = 12;
|
||||||
uint32 element_reaction_type = 1;
|
uint32 Unk3300_DGBGNEHDODI = 2;
|
||||||
}
|
}
|
||||||
|
@ -22,8 +22,8 @@ import "AbilityString.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMetaUpdateBaseReactionDamage {
|
message AbilityMetaUpdateBaseReactionDamage {
|
||||||
uint32 source_caster_id = 15;
|
uint32 Unk3300_OIPAEGAMCLI = 2;
|
||||||
AbilityString ability_name = 1;
|
uint32 Unk3300_CAKEJCJKHOA = 13;
|
||||||
AbilityString global_value_key = 4;
|
AbilityString ability_name = 6;
|
||||||
uint32 reaction_type = 8;
|
AbilityString global_value_key = 14;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinAvatarCombat {
|
message AbilityMixinAvatarCombat {
|
||||||
bool is_enter_combat = 9;
|
bool is_enter_combat = 6;
|
||||||
}
|
}
|
||||||
|
@ -23,5 +23,5 @@ option java_package = "emu.grasscutter.net.proto";
|
|||||||
|
|
||||||
message AbilityMixinAvatarSteerByCamera {
|
message AbilityMixinAvatarSteerByCamera {
|
||||||
Vector target_dir = 7;
|
Vector target_dir = 7;
|
||||||
Vector target_pos = 6;
|
Vector target_pos = 2;
|
||||||
}
|
}
|
||||||
|
48
proto/AbilityMixinBreakout.proto
Normal file
48
proto/AbilityMixinBreakout.proto
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
// Proto has been converted from Sorapointa to Grasscutter format
|
||||||
|
// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
|
||||||
|
// Copyright (C) 2022 Sorapointa Team
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
import "BreakoutSyncAction.proto";
|
||||||
|
import "BreakoutSyncCreateConnect.proto";
|
||||||
|
import "BreakoutSyncFinishGame.proto";
|
||||||
|
import "BreakoutSyncPing.proto";
|
||||||
|
import "BreakoutSyncSnapShot.proto";
|
||||||
|
|
||||||
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
|
message AbilityMixinBreakout {
|
||||||
|
enum SyncType {
|
||||||
|
SYNC_TYPE_NONE = 0;
|
||||||
|
SYNC_TYPE_CREATE_CONNECT = 1;
|
||||||
|
SYNC_TYPE_START_GAME = 2;
|
||||||
|
SYNC_TYPE_PING = 3;
|
||||||
|
SYNC_TYPE_FINISH_GAME = 4;
|
||||||
|
SYNC_TYPE_SNAP_SHOT = 5;
|
||||||
|
SYNC_TYPE_ACTION = 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
int32 retcode = 8;
|
||||||
|
SyncType sync_type = 4;
|
||||||
|
oneof sync {
|
||||||
|
BreakoutSyncCreateConnect sync_create_connect = 2;
|
||||||
|
BreakoutSyncPing sync_ping = 1;
|
||||||
|
BreakoutSyncFinishGame sync_finish_game = 5;
|
||||||
|
BreakoutSyncSnapShot sync_snap_shot = 14;
|
||||||
|
BreakoutSyncAction sync_action = 3;
|
||||||
|
}
|
||||||
|
}
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinCostStamina {
|
message AbilityMixinCostStamina {
|
||||||
bool is_swim = 3;
|
bool is_swim = 7;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinDoActionByElementReaction {
|
message AbilityMixinDoActionByElementReaction {
|
||||||
uint32 target_entity_id = 1;
|
uint32 target_entity_id = 5;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinDoActionBySelfModifierElementDurabilityRatio {
|
message AbilityMixinDoActionBySelfModifierElementDurabilityRatio {
|
||||||
float last_durability_ratio = 9;
|
float last_durability_ratio = 14;
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,10 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinElementShield {
|
message AbilityMixinElementShield {
|
||||||
float sub_shield = 10;
|
uint32 player_num = 9;
|
||||||
float shield = 8;
|
float shield = 5;
|
||||||
uint32 absorb_type = 1;
|
bool is_shield_broken = 8;
|
||||||
uint32 player_num = 4;
|
float sub_shield = 4;
|
||||||
bool is_shield_broken = 9;
|
float max_shield = 13;
|
||||||
float max_shield = 12;
|
uint32 absorb_type = 10;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinEliteShield {
|
message AbilityMixinEliteShield {
|
||||||
float sub_shield = 2;
|
float sub_shield = 9;
|
||||||
}
|
}
|
||||||
|
24
proto/AbilityMixinEraseBrickActivity.proto
Normal file
24
proto/AbilityMixinEraseBrickActivity.proto
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Proto has been converted from Sorapointa to Grasscutter format
|
||||||
|
// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
|
||||||
|
// Copyright (C) 2022 Sorapointa Team
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
|
message AbilityMixinEraseBrickActivity {
|
||||||
|
repeated uint32 data = 15;
|
||||||
|
}
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinFieldEntityCountChange {
|
message AbilityMixinFieldEntityCountChange {
|
||||||
uint32 field_entity_count = 14;
|
uint32 field_entity_count = 8;
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,10 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinFireworksLauncher {
|
message AbilityMixinFireworksLauncher {
|
||||||
uint32 invoke_type = 2;
|
uint32 Unk3300_FHGLEJNJIHK = 5;
|
||||||
uint32 start_count_down_time = 3;
|
uint32 Unk3300_BFJBDJLAOJL = 4;
|
||||||
uint32 fired_bullet_count = 1;
|
uint32 Unk3300_LPPKOFHKCPH = 7;
|
||||||
uint32 phase = 6;
|
uint32 Unk3300_BDGCGLGNAIB = 3;
|
||||||
repeated uint32 fireworks_config = 4;
|
repeated uint32 fireworks_config = 12;
|
||||||
uint32 turn_index = 7;
|
uint32 phase = 1;
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,10 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinGlobalShield {
|
message AbilityMixinGlobalShield {
|
||||||
|
float max_shield = 14;
|
||||||
bool is_create_effect = 4;
|
bool is_create_effect = 4;
|
||||||
float sub_shield = 7;
|
string shield_effect_name = 12;
|
||||||
float height_offset = 5;
|
float sub_shield = 10;
|
||||||
uint32 avatar_id = 11;
|
uint32 avatar_id = 3;
|
||||||
float max_shield = 10;
|
float height_offset = 1;
|
||||||
string shield_effect_name = 2;
|
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
|
import "BreakoutSnapShot.proto";
|
||||||
import "MassivePropSyncInfo.proto";
|
import "MassivePropSyncInfo.proto";
|
||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
@ -26,6 +27,7 @@ message AbilityMixinRecoverInfo {
|
|||||||
repeated uint32 data_list = 4;
|
repeated uint32 data_list = 4;
|
||||||
bool is_serverbuff_modifier = 5;
|
bool is_serverbuff_modifier = 5;
|
||||||
repeated MassivePropSyncInfo massive_prop_list = 6;
|
repeated MassivePropSyncInfo massive_prop_list = 6;
|
||||||
|
BreakoutSnapShot breakout_snap_shot = 7;
|
||||||
oneof source {
|
oneof source {
|
||||||
uint32 instanced_ability_id = 1;
|
uint32 instanced_ability_id = 1;
|
||||||
uint32 instanced_modifier_id = 2;
|
uint32 instanced_modifier_id = 2;
|
||||||
|
@ -22,7 +22,7 @@ import "MassivePropSyncInfo.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinScenePropSync {
|
message AbilityMixinScenePropSync {
|
||||||
repeated int64 delete_id_list = 5;
|
repeated MassivePropSyncInfo massive_prop_list = 11;
|
||||||
bool is_clear_all = 12;
|
repeated int64 delete_id_list = 12;
|
||||||
repeated MassivePropSyncInfo massive_prop_list = 15;
|
bool is_clear_all = 3;
|
||||||
}
|
}
|
||||||
|
@ -20,8 +20,8 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinShieldBar {
|
message AbilityMixinShieldBar {
|
||||||
uint32 player_num = 14;
|
float max_shield = 8;
|
||||||
float max_shield = 15;
|
float shield = 4;
|
||||||
float shield = 12;
|
uint32 player_num = 3;
|
||||||
uint32 element_type = 13;
|
uint32 element_type = 7;
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinShootFromCamera {
|
message AbilityMixinShootFromCamera {
|
||||||
Vector init_pos = 13;
|
Vector forward = 13;
|
||||||
Vector forward = 2;
|
Vector init_pos = 9;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,6 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinUGCTimeControl {
|
message AbilityMixinUGCTimeControl {
|
||||||
uint64 start_move_time_ms = 13;
|
uint64 start_move_time_ms = 12;
|
||||||
uint32 forward = 3;
|
uint32 start_move_time = 9;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinWidgetMpSupport {
|
message AbilityMixinWidgetMpSupport {
|
||||||
uint32 target_entity_id = 9;
|
uint32 target_entity_id = 2;
|
||||||
}
|
}
|
||||||
|
@ -22,19 +22,19 @@ import "Vector.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinWindSeedSpawner {
|
message AbilityMixinWindSeedSpawner {
|
||||||
oneof cmd {
|
|
||||||
AddSignal add_signal = 2;
|
|
||||||
RefreshSeed refresh_seed = 15;
|
|
||||||
CatchSeed catch_seed = 11;
|
|
||||||
}
|
|
||||||
|
|
||||||
message AddSignal {}
|
message AddSignal {}
|
||||||
|
|
||||||
message RefreshSeed {
|
message RefreshSeed {
|
||||||
repeated Vector pos_list = 6;
|
repeated Vector pos_list = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
message CatchSeed {
|
message CatchSeed {
|
||||||
uint32 entity_id = 8;
|
uint32 entity_id = 13;
|
||||||
|
}
|
||||||
|
|
||||||
|
oneof cmd {
|
||||||
|
AddSignal add_signal = 8;
|
||||||
|
RefreshSeed refresh_seed = 12;
|
||||||
|
CatchSeed catch_seed = 14;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,6 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message AbilityMixinWindZone {
|
message AbilityMixinWindZone {
|
||||||
repeated uint32 entity_ids = 13;
|
repeated uint32 Unk3300_OJPFAIGIBLG = 3;
|
||||||
repeated uint32 zone_id_list = 10;
|
repeated uint32 Unk3300_DJELBGDEDBH = 12;
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
enum AbilityScalarType {
|
enum AbilityScalarType {
|
||||||
ABILITY_SCALAR_TYPE_UNKNOW = 0;
|
ABILITY_SCALAR_TYPE_UNKNOWN = 0;
|
||||||
ABILITY_SCALAR_TYPE_FLOAT = 1;
|
ABILITY_SCALAR_TYPE_FLOAT = 1;
|
||||||
ABILITY_SCALAR_TYPE_INT = 2;
|
ABILITY_SCALAR_TYPE_INT = 2;
|
||||||
ABILITY_SCALAR_TYPE_BOOL = 3;
|
ABILITY_SCALAR_TYPE_BOOL = 3;
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2890
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message AcceptCityReputationRequestReq {
|
message AcceptCityReputationRequestReq {
|
||||||
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2847;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
uint32 city_id = 14;
|
uint32 city_id = 14;
|
||||||
uint32 request_id = 5;
|
uint32 request_id = 8;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2873
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message AcceptCityReputationRequestRsp {
|
message AcceptCityReputationRequestRsp {
|
||||||
uint32 request_id = 5;
|
// enum CmdId {
|
||||||
uint32 city_id = 13;
|
// option allow_alias = true;
|
||||||
int32 retcode = 2;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2878;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 city_id = 1;
|
||||||
|
int32 retcode = 9;
|
||||||
|
uint32 request_id = 10;
|
||||||
}
|
}
|
||||||
|
@ -20,16 +20,16 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message Achievement {
|
message Achievement {
|
||||||
uint32 finish_timestamp = 11;
|
|
||||||
Status status = 13;
|
|
||||||
uint32 cur_progress = 12;
|
|
||||||
uint32 id = 14;
|
|
||||||
uint32 total_progress = 8;
|
|
||||||
|
|
||||||
enum Status {
|
enum Status {
|
||||||
STATUS_INVALID = 0;
|
STATUS_INVALID = 0;
|
||||||
STATUS_UNFINISHED = 1;
|
STATUS_UNFINISHED = 1;
|
||||||
STATUS_FINISHED = 2;
|
STATUS_FINISHED = 2;
|
||||||
STATUS_REWARD_TAKEN = 3;
|
STATUS_REWARD_TAKEN = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32 finish_timestamp = 8;
|
||||||
|
uint32 cur_progress = 11;
|
||||||
|
uint32 total_progress = 6;
|
||||||
|
uint32 id = 14;
|
||||||
|
Status status = 15;
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,15 @@ import "Achievement.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2676
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message AchievementAllDataNotify {
|
message AchievementAllDataNotify {
|
||||||
repeated Achievement achievement_list = 4;
|
// enum CmdId {
|
||||||
repeated uint32 reward_taken_goal_id_list = 2;
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2692;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
repeated uint32 reward_taken_goal_id_list = 13;
|
||||||
|
repeated Achievement achievement_list = 8;
|
||||||
}
|
}
|
||||||
|
@ -21,9 +21,14 @@ import "Achievement.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2668
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message AchievementUpdateNotify {
|
message AchievementUpdateNotify {
|
||||||
repeated Achievement achievement_list = 14;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2691;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
repeated Achievement achievement_list = 11;
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,15 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8113
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityAcceptAllGiveGiftReq {
|
message ActivityAcceptAllGiveGiftReq {
|
||||||
uint32 schedule_id = 3;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8900;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 schedule_id = 9;
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,16 @@ import "ActivityAcceptGiftResultInfo.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8132
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityAcceptAllGiveGiftRsp {
|
message ActivityAcceptAllGiveGiftRsp {
|
||||||
repeated ActivityAcceptGiftResultInfo accept_gift_result_info_list = 5;
|
// enum CmdId {
|
||||||
uint32 schedule_id = 10;
|
// option allow_alias = true;
|
||||||
int32 retcode = 9;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8771;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
repeated ActivityAcceptGiftResultInfo accept_gift_result_info_list = 7;
|
||||||
|
uint32 schedule_id = 6;
|
||||||
|
int32 retcode = 12;
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ syntax = "proto3";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message ActivityAcceptGiftResultInfo {
|
message ActivityAcceptGiftResultInfo {
|
||||||
map<uint32, uint32> unaccept_gift_num_map = 3;
|
map<uint32, uint32> Unk3300_JFHLEBLOFMA = 1;
|
||||||
uint32 uid = 6;
|
map<uint32, uint32> Unk3300_COCFNBJCFGP = 9;
|
||||||
map<uint32, uint32> accept_gift_num_map = 13;
|
uint32 uid = 12;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8095
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityAcceptGiveGiftReq {
|
message ActivityAcceptGiveGiftReq {
|
||||||
uint32 schedule_id = 3;
|
// enum CmdId {
|
||||||
uint32 uid = 12;
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8827;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 uid = 9;
|
||||||
|
uint32 schedule_id = 12;
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,16 @@ import "ActivityAcceptGiftResultInfo.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8502
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityAcceptGiveGiftRsp {
|
message ActivityAcceptGiveGiftRsp {
|
||||||
ActivityAcceptGiftResultInfo accept_gift_result_info = 4;
|
// enum CmdId {
|
||||||
int32 retcode = 11;
|
// option allow_alias = true;
|
||||||
uint32 schedule_id = 10;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8047;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
int32 retcode = 4;
|
||||||
|
ActivityAcceptGiftResultInfo accept_gift_result_info = 2;
|
||||||
|
uint32 schedule_id = 1;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2009
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityBannerClearReq {
|
message ActivityBannerClearReq {
|
||||||
uint32 schedule_id = 15;
|
// enum CmdId {
|
||||||
uint32 activity_id = 12;
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2147;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 activity_id = 14;
|
||||||
|
uint32 schedule_id = 7;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2163
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityBannerClearRsp {
|
message ActivityBannerClearRsp {
|
||||||
uint32 activity_id = 4;
|
// enum CmdId {
|
||||||
int32 retcode = 6;
|
// option allow_alias = true;
|
||||||
uint32 schedule_id = 11;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2198;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
int32 retcode = 8;
|
||||||
|
uint32 schedule_id = 5;
|
||||||
|
uint32 activity_id = 9;
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,15 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2155
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityBannerNotify {
|
message ActivityBannerNotify {
|
||||||
uint32 schedule_id = 1;
|
// enum CmdId {
|
||||||
uint32 activity_id = 3;
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2160;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 activity_id = 1;
|
||||||
|
uint32 schedule_id = 8;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2008
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityCoinInfoNotify {
|
message ActivityCoinInfoNotify {
|
||||||
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2018;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
uint32 schedule_id = 8;
|
uint32 schedule_id = 8;
|
||||||
uint32 activity_id = 10;
|
|
||||||
map<uint32, uint32> activity_coin_map = 2;
|
map<uint32, uint32> activity_coin_map = 2;
|
||||||
|
uint32 activity_id = 4;
|
||||||
}
|
}
|
||||||
|
@ -21,14 +21,19 @@ import "Uint32Pair.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2140
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityCondStateChangeNotify {
|
message ActivityCondStateChangeNotify {
|
||||||
repeated uint32 activated_sale_id_list = 9;
|
// enum CmdId {
|
||||||
uint32 activity_id = 4;
|
// option allow_alias = true;
|
||||||
uint32 schedule_id = 5;
|
// NONE = 0;
|
||||||
repeated uint32 expire_cond_list = 11;
|
// CMD_ID = 2194;
|
||||||
repeated Uint32Pair disable_transfer_point_interaction_list = 12;
|
// ENET_CHANNEL_ID = 0;
|
||||||
repeated uint32 meet_cond_list = 1;
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 activity_id = 5;
|
||||||
|
uint32 schedule_id = 14;
|
||||||
|
repeated uint32 Unk3300_HKKNIHNBHAE = 1;
|
||||||
|
repeated uint32 Unk3300_BGNIBLKCPCA = 4;
|
||||||
|
repeated uint32 activated_sale_id_list = 8;
|
||||||
|
repeated Uint32Pair disable_transfer_point_interaction_list = 11;
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,15 @@ import "Uint32Pair.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8982
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityDisableTransferPointInteractionNotify {
|
message ActivityDisableTransferPointInteractionNotify {
|
||||||
bool is_disable = 10;
|
// enum CmdId {
|
||||||
Uint32Pair scene_point_pair = 5;
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8029;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
bool is_disable = 13;
|
||||||
|
Uint32Pair scene_point_pair = 11;
|
||||||
}
|
}
|
||||||
|
@ -22,9 +22,9 @@ import "ProfilePicture.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message ActivityFriendGiftWishData {
|
message ActivityFriendGiftWishData {
|
||||||
string nickname = 7;
|
map<uint32, uint32> gift_num_map = 5;
|
||||||
string remark_name = 3;
|
uint32 uid = 7;
|
||||||
ProfilePicture profile_picture = 11;
|
ProfilePicture profile_picture = 11;
|
||||||
map<uint32, uint32> gift_num_map = 9;
|
string remark_name = 12;
|
||||||
uint32 uid = 8;
|
string nickname = 2;
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,15 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8559
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityGetCanGiveFriendGiftReq {
|
message ActivityGetCanGiveFriendGiftReq {
|
||||||
uint32 schedule_id = 8;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8330;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 schedule_id = 2;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8848
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityGetCanGiveFriendGiftRsp {
|
message ActivityGetCanGiveFriendGiftRsp {
|
||||||
uint32 schedule_id = 7;
|
// enum CmdId {
|
||||||
int32 retcode = 3;
|
// option allow_alias = true;
|
||||||
map<uint32, uint32> gift_num_map = 14;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8374;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
map<uint32, uint32> gift_num_map = 7;
|
||||||
|
int32 retcode = 11;
|
||||||
|
uint32 schedule_id = 12;
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,15 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8806
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityGetFriendGiftWishListReq {
|
message ActivityGetFriendGiftWishListReq {
|
||||||
uint32 schedule_id = 6;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8642;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 schedule_id = 2;
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,16 @@ import "ActivityFriendGiftWishData.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8253
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityGetFriendGiftWishListRsp {
|
message ActivityGetFriendGiftWishListRsp {
|
||||||
int32 retcode = 6;
|
// enum CmdId {
|
||||||
repeated ActivityFriendGiftWishData friend_gift_wish_list = 11;
|
// option allow_alias = true;
|
||||||
uint32 schedule_id = 10;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8355;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
repeated ActivityFriendGiftWishData friend_gift_wish_list = 12;
|
||||||
|
uint32 schedule_id = 4;
|
||||||
|
int32 retcode = 2;
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,15 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8725
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityGetRecvGiftListReq {
|
message ActivityGetRecvGiftListReq {
|
||||||
uint32 schedule_id = 8;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8995;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 schedule_id = 5;
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,16 @@ import "ActivityRecvGiftData.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8120
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityGetRecvGiftListRsp {
|
message ActivityGetRecvGiftListRsp {
|
||||||
int32 retcode = 15;
|
// enum CmdId {
|
||||||
repeated ActivityRecvGiftData recv_gift_list = 11;
|
// option allow_alias = true;
|
||||||
uint32 schedule_id = 6;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8844;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 schedule_id = 7;
|
||||||
|
int32 retcode = 9;
|
||||||
|
repeated ActivityRecvGiftData recv_gift_list = 10;
|
||||||
}
|
}
|
||||||
|
@ -19,12 +19,17 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8233
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityGiveFriendGiftReq {
|
message ActivityGiveFriendGiftReq {
|
||||||
uint32 uid = 5;
|
// enum CmdId {
|
||||||
uint32 schedule_id = 1;
|
// option allow_alias = true;
|
||||||
map<uint32, uint32> gift_num_map = 4;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8178;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
map<uint32, uint32> gift_num_map = 10;
|
||||||
|
uint32 schedule_id = 15;
|
||||||
|
uint32 uid = 1;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8696
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityGiveFriendGiftRsp {
|
message ActivityGiveFriendGiftRsp {
|
||||||
repeated uint32 limit_gift_list = 3;
|
// enum CmdId {
|
||||||
uint32 schedule_id = 4;
|
// option allow_alias = true;
|
||||||
int32 retcode = 10;
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8373;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 schedule_id = 15;
|
||||||
|
int32 retcode = 8;
|
||||||
|
repeated uint32 limit_gift_list = 14;
|
||||||
}
|
}
|
||||||
|
@ -19,9 +19,14 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 8733
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
message ActivityHaveRecvGiftNotify {
|
message ActivityHaveRecvGiftNotify {
|
||||||
uint32 schedule_id = 7;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 8118;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 schedule_id = 2;
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,12 @@ import "BartenderActivityDetailInfo.proto";
|
|||||||
import "BlessingActivityDetailInfo.proto";
|
import "BlessingActivityDetailInfo.proto";
|
||||||
import "BlitzRushActivityDetailInfo.proto";
|
import "BlitzRushActivityDetailInfo.proto";
|
||||||
import "BounceConjuringActivityDetailInfo.proto";
|
import "BounceConjuringActivityDetailInfo.proto";
|
||||||
|
import "BrickBreakerDetailInfo.proto";
|
||||||
import "BuoyantCombatDetailInfo.proto";
|
import "BuoyantCombatDetailInfo.proto";
|
||||||
import "ChannelerSlabActivityDetailInfo.proto";
|
import "ChannelerSlabActivityDetailInfo.proto";
|
||||||
import "CharAmusementDetailInfo.proto";
|
import "CharAmusementDetailInfo.proto";
|
||||||
import "ChessActivityDetailInfo.proto";
|
import "ChessActivityDetailInfo.proto";
|
||||||
|
import "CoinCollectDetailInfo.proto";
|
||||||
import "CrucibleActivityDetailInfo.proto";
|
import "CrucibleActivityDetailInfo.proto";
|
||||||
import "CrystalLinkActivityDetailInfo.proto";
|
import "CrystalLinkActivityDetailInfo.proto";
|
||||||
import "DeliveryActivityDetailInfo.proto";
|
import "DeliveryActivityDetailInfo.proto";
|
||||||
@ -76,7 +78,7 @@ import "TreasureMapActivityDetailInfo.proto";
|
|||||||
import "TreasureSeelieActivityDetailInfo.proto";
|
import "TreasureSeelieActivityDetailInfo.proto";
|
||||||
import "TrialAvatarActivityDetailInfo.proto";
|
import "TrialAvatarActivityDetailInfo.proto";
|
||||||
import "UgcActivityDetailInfo.proto";
|
import "UgcActivityDetailInfo.proto";
|
||||||
import "VintageDetailInfo.proto";
|
import "VintageActivityDetailInfo.proto";
|
||||||
import "WaterSpiritActivityDetailInfo.proto";
|
import "WaterSpiritActivityDetailInfo.proto";
|
||||||
import "WindFieldDetailInfo.proto";
|
import "WindFieldDetailInfo.proto";
|
||||||
import "WinterCampActivityDetailInfo.proto";
|
import "WinterCampActivityDetailInfo.proto";
|
||||||
@ -84,90 +86,92 @@ import "WinterCampActivityDetailInfo.proto";
|
|||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
message ActivityInfo {
|
message ActivityInfo {
|
||||||
bool is_finished = 6;
|
bool Unk3300_MJNPGEKLOCG = 360;
|
||||||
uint32 activity_type = 4;
|
bool is_finished = 8;
|
||||||
uint32 begin_time = 8;
|
uint32 cur_score = 1268;
|
||||||
repeated uint32 taken_reward_list = 329;
|
uint32 schedule_id = 7;
|
||||||
bool is_hidden = 919;
|
uint32 Unk3300_JAEALAIOOID = 1870;
|
||||||
bool is_quick_open = 1449;
|
bool Unk3300_ICNJJKDHPCH = 14;
|
||||||
repeated uint32 meet_cond_list = 10;
|
repeated uint32 Unk3300_BGNIBLKCPCA = 11;
|
||||||
map<uint32, uint32> activity_coin_map = 682;
|
bool Unk3300_NEPKLLBJFKK = 1645;
|
||||||
bool is_banner_cleared = 102;
|
repeated ActivityWatcherInfo watcher_info_list = 6;
|
||||||
uint32 cur_score = 1906;
|
repeated ActivityPushTipsData activity_push_tips_data_list = 1867;
|
||||||
uint32 first_day_start_time = 592;
|
uint32 activity_id = 13;
|
||||||
uint32 activity_id = 12;
|
repeated uint32 taken_reward_list = 1889;
|
||||||
bool is_play_open_anim = 13;
|
uint32 Unk3300_GCEAKEMMJEA = 697;
|
||||||
uint32 end_time = 5;
|
map<uint32, uint32> activity_coin_map = 36;
|
||||||
uint32 score_limit = 1958;
|
uint32 first_day_start_time = 786;
|
||||||
map<uint32, uint32> wish_gift_num_map = 1399;
|
bool Unk3300_ABJKLALKLDG = 1486;
|
||||||
uint32 selected_avatar_reward_id = 1290;
|
uint32 Unk3300_DMILOONBELH = 3;
|
||||||
bool is_common_content_closed = 1963;
|
bool Unk3300_CBCEHLJJOGI = 1375;
|
||||||
repeated uint32 expire_cond_list = 3;
|
uint32 begin_time = 1;
|
||||||
repeated ActivityPushTipsData activity_push_tips_data_list = 864;
|
bool Unk3300_MDBDPIBEGGH = 12;
|
||||||
repeated ActivityWatcherInfo watcher_info_list = 2;
|
map<uint32, uint32> wish_gift_num_map = 939;
|
||||||
uint32 schedule_id = 15;
|
uint32 end_time = 10;
|
||||||
bool is_starting = 9;
|
repeated uint32 Unk3300_HKKNIHNBHAE = 5;
|
||||||
oneof detail {
|
oneof detail {
|
||||||
SeaLampActivityDetailInfo sam_lamp_info = 7;
|
SeaLampActivityDetailInfo sam_lamp_info = 2;
|
||||||
CrucibleActivityDetailInfo crucible_info = 14;
|
CrucibleActivityDetailInfo crucible_info = 15;
|
||||||
SalesmanActivityDetailInfo salesman_info = 11;
|
SalesmanActivityDetailInfo salesman_info = 9;
|
||||||
TrialAvatarActivityDetailInfo trial_avatar_info = 1;
|
TrialAvatarActivityDetailInfo trial_avatar_info = 4;
|
||||||
DeliveryActivityDetailInfo delivery_info = 1092;
|
DeliveryActivityDetailInfo delivery_info = 1141;
|
||||||
AsterActivityDetailInfo aster_info = 557;
|
AsterActivityDetailInfo aster_info = 1977;
|
||||||
FlightActivityDetailInfo flight_info = 1365;
|
FlightActivityDetailInfo flight_info = 2011;
|
||||||
DragonSpineActivityDetailInfo dragon_spine_info = 1727;
|
DragonSpineActivityDetailInfo dragon_spine_info = 1310;
|
||||||
EffigyActivityDetailInfo effigy_info = 391;
|
EffigyActivityDetailInfo effigy_info = 1374;
|
||||||
TreasureMapActivityDetailInfo treasure_map_info = 1114;
|
TreasureMapActivityDetailInfo treasure_map_info = 1925;
|
||||||
BlessingActivityDetailInfo blessing_info = 1869;
|
BlessingActivityDetailInfo blessing_info = 1962;
|
||||||
SeaLampActivityInfo sea_lamp_info = 494;
|
SeaLampActivityInfo sea_lamp_info = 247;
|
||||||
ExpeditionActivityDetailInfo expedition_info = 202;
|
ExpeditionActivityDetailInfo expedition_info = 1752;
|
||||||
ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
|
ArenaChallengeActivityDetailInfo arena_challenge_info = 538;
|
||||||
FleurFairActivityDetailInfo fleur_fair_info = 857;
|
FleurFairActivityDetailInfo fleur_fair_info = 1447;
|
||||||
WaterSpiritActivityDetailInfo water_spirit_info = 1675;
|
WaterSpiritActivityDetailInfo water_spirit_info = 635;
|
||||||
ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
|
ChannelerSlabActivityDetailInfo channeler_slab_info = 846;
|
||||||
MistTrialActivityDetailInfo mist_trial_activity_info = 156;
|
MistTrialActivityDetailInfo mist_trial_activity_info = 432;
|
||||||
HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
|
HideAndSeekActivityDetailInfo hide_and_seek_info = 839;
|
||||||
FindHilichurlDetailInfo find_hilichurl_info = 1411;
|
FindHilichurlDetailInfo find_hilichurl_info = 378;
|
||||||
SummerTimeDetailInfo summer_time_info = 1372;
|
SummerTimeDetailInfo summer_time_info = 1910;
|
||||||
BuoyantCombatDetailInfo buoyant_combat_info = 1842;
|
BuoyantCombatDetailInfo buoyant_combat_info = 686;
|
||||||
EchoShellDetailInfo echo_shell_info = 1113;
|
EchoShellDetailInfo echo_shell_info = 1162;
|
||||||
BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
|
BounceConjuringActivityDetailInfo bounce_conjuring_info = 922;
|
||||||
BlitzRushActivityDetailInfo blitz_rush_info = 794;
|
BlitzRushActivityDetailInfo blitz_rush_info = 64;
|
||||||
ChessActivityDetailInfo chess_info = 927;
|
ChessActivityDetailInfo chess_info = 1006;
|
||||||
SumoActivityDetailInfo sumo_info = 1261;
|
SumoActivityDetailInfo sumo_info = 505;
|
||||||
MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
|
MoonfinTrialActivityDetailInfo moonfin_trial_info = 766;
|
||||||
LunaRiteDetailInfo luna_rite_info = 814;
|
LunaRiteDetailInfo luna_rite_info = 1545;
|
||||||
PlantFlowerActivityDetailInfo plant_flower_info = 54;
|
PlantFlowerActivityDetailInfo plant_flower_info = 1274;
|
||||||
MusicGameActivityDetailInfo music_game_info = 460;
|
MusicGameActivityDetailInfo music_game_info = 1989;
|
||||||
RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 219;
|
RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 970;
|
||||||
DigActivityDetailInfo dig_info = 403;
|
DigActivityDetailInfo dig_info = 1862;
|
||||||
HachiActivityDetailInfo hachi_info = 491;
|
HachiActivityDetailInfo hachi_info = 511;
|
||||||
WinterCampActivityDetailInfo winter_camp_info = 1083;
|
WinterCampActivityDetailInfo winter_camp_info = 699;
|
||||||
PotionActivityDetailInfo potion_info = 1273;
|
PotionActivityDetailInfo potion_info = 1567;
|
||||||
TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1796;
|
TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1348;
|
||||||
LanternRiteActivityDetailInfo lantern_rite_activity_info = 1876;
|
LanternRiteActivityDetailInfo lantern_rite_activity_info = 237;
|
||||||
MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 194;
|
MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 1839;
|
||||||
BartenderActivityDetailInfo bartender_info = 1725;
|
BartenderActivityDetailInfo bartender_info = 551;
|
||||||
UgcActivityDetailInfo ugc_info = 703;
|
UgcActivityDetailInfo ugc_info = 1182;
|
||||||
CrystalLinkActivityDetailInfo crystal_link_info = 1226;
|
CrystalLinkActivityDetailInfo crystal_link_info = 812;
|
||||||
IrodoriActivityDetailInfo irodori_info = 750;
|
IrodoriActivityDetailInfo irodori_info = 1056;
|
||||||
PhotoActivityDetailInfo photo_info = 328;
|
PhotoActivityDetailInfo photo_info = 1822;
|
||||||
SpiceActivityDetailInfo spice_info = 1891;
|
SpiceActivityDetailInfo spice_info = 789;
|
||||||
GachaActivityDetailInfo gacha_info = 825;
|
GachaActivityDetailInfo gacha_info = 1297;
|
||||||
LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 1308;
|
LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 444;
|
||||||
RogueDiaryActivityDetailInfo rogue_diary_info = 812;
|
RogueDiaryActivityDetailInfo rogue_diary_info = 560;
|
||||||
SummerTimeV2DetailInfo summer_time_v2_info = 622;
|
SummerTimeV2DetailInfo summer_time_v2_info = 411;
|
||||||
IslandPartyDetailInfo island_party_info = 1885;
|
IslandPartyDetailInfo island_party_info = 740;
|
||||||
GearActivityDetailInfo gear_info = 722;
|
GearActivityDetailInfo gear_info = 1482;
|
||||||
GravenInnocenceDetailInfo graven_innocence_info = 1911;
|
GravenInnocenceDetailInfo graven_innocence_info = 1928;
|
||||||
InstableSprayDetailInfo instable_spray_info = 1043;
|
InstableSprayDetailInfo instable_spray_info = 1145;
|
||||||
MuqadasPotionActivityDetailInfo muqadas_potion_info = 1157;
|
MuqadasPotionActivityDetailInfo muqadas_potion_info = 1662;
|
||||||
TreasureSeelieActivityDetailInfo treasure_seelie_info = 966;
|
TreasureSeelieActivityDetailInfo treasure_seelie_info = 1032;
|
||||||
RockBoardExploreDetailInfo rock_board_explore_info = 1078;
|
RockBoardExploreDetailInfo rock_board_explore_info = 1265;
|
||||||
VintageDetailInfo vintage_info = 445;
|
VintageActivityDetailInfo vintage_info = 1308;
|
||||||
WindFieldDetailInfo wind_field_info = 352;
|
WindFieldDetailInfo wind_field_info = 468;
|
||||||
FungusFighterDetailInfo fungus_fighter_info = 490;
|
FungusFighterDetailInfo fungus_fighter_info = 1757;
|
||||||
CharAmusementDetailInfo char_amusement_info = 1496;
|
CharAmusementDetailInfo char_amusement_info = 621;
|
||||||
EffigyChallengeV2DetailInfo effigy_challenge_info = 1025;
|
EffigyChallengeV2DetailInfo effigy_challenge_info = 233;
|
||||||
|
CoinCollectDetailInfo coin_collect_info = 2002;
|
||||||
|
BrickBreakerDetailInfo brick_breaker_info = 1522;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,15 @@ import "ActivityInfo.proto";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2060
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityInfoNotify {
|
message ActivityInfoNotify {
|
||||||
ActivityInfo activity_info = 9;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2119;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
ActivityInfo activity_info = 12;
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,15 @@ syntax = "proto3";
|
|||||||
|
|
||||||
option java_package = "emu.grasscutter.net.proto";
|
option java_package = "emu.grasscutter.net.proto";
|
||||||
|
|
||||||
// CmdId: 2157
|
|
||||||
// EnetChannelId: 0
|
|
||||||
// EnetIsReliable: true
|
|
||||||
// IsAllowClient: true
|
|
||||||
message ActivityPlayOpenAnimNotify {
|
message ActivityPlayOpenAnimNotify {
|
||||||
uint32 activity_id = 8;
|
// enum CmdId {
|
||||||
|
// option allow_alias = true;
|
||||||
|
// NONE = 0;
|
||||||
|
// CMD_ID = 2059;
|
||||||
|
// ENET_CHANNEL_ID = 0;
|
||||||
|
// ENET_IS_RELIABLE = 1;
|
||||||
|
// IS_ALLOW_CLIENT = 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
uint32 activity_id = 1;
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user