mirror of
https://gitlab.com/YuukiPS/GC-Proto.git
synced 2024-12-23 23:19:26 +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";
|
||||
|
||||
message AISnapshotEntityData {
|
||||
float tick_time = 5;
|
||||
uint32 tactic = 2;
|
||||
repeated AISnapshotEntitySkillCycle finished_skill_cycles = 9;
|
||||
float moved_distance = 4;
|
||||
uint32 ai_target_id = 13;
|
||||
uint32 threat_target_id = 3;
|
||||
uint32 threat_list_size = 1;
|
||||
uint32 entity_id = 15;
|
||||
map<uint32, uint32> hitting_avatars = 7;
|
||||
float distance_to_player = 11;
|
||||
uint32 attack_target_id = 10;
|
||||
float real_time = 14;
|
||||
repeated AISnapshotEntitySkillCycle finished_skill_cycles = 14;
|
||||
uint32 attack_target_id = 2;
|
||||
uint32 entity_id = 6;
|
||||
float Unk3300_ALBMEMMJEJA = 13;
|
||||
uint32 Unk3300_IADJCDJOKND = 5;
|
||||
uint32 Unk3300_FNCIDLDKANO = 7;
|
||||
float Unk3300_GPCFOCIFHCD = 15;
|
||||
float Unk3300_FMBBEIHCCJO = 12;
|
||||
float Unk3300_LIJIDJOLLEB = 11;
|
||||
uint32 Unk3300_GNBOAJHMNJO = 9;
|
||||
map<uint32, uint32> hitting_avatars = 4;
|
||||
uint32 Unk3300_FIKEAEPLOHJ = 3;
|
||||
}
|
||||
|
@ -20,9 +20,9 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AISnapshotEntitySkillCycle {
|
||||
bool failed = 12;
|
||||
bool trydoskill = 8;
|
||||
bool success = 9;
|
||||
bool selected = 1;
|
||||
uint32 skill_id = 2;
|
||||
bool Unk3300_IIOIBLEOHEK = 14;
|
||||
uint32 skill_id = 12;
|
||||
bool Unk3300_ABKFNGIDFMI = 7;
|
||||
bool Unk3300_IFKDIMDJBDH = 2;
|
||||
bool Unk3300_EGIILMJFEBE = 1;
|
||||
}
|
||||
|
@ -22,5 +22,5 @@ import "AISnapshotEntityData.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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";
|
||||
|
||||
message AbilityActionBlink {
|
||||
Vector rot = 11;
|
||||
Vector pos = 10;
|
||||
Vector rot = 8;
|
||||
Vector pos = 3;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionCreateGadget {
|
||||
uint32 room_id = 3;
|
||||
Vector rot = 8;
|
||||
Vector pos = 11;
|
||||
uint32 room_id = 5;
|
||||
Vector rot = 13;
|
||||
Vector pos = 8;
|
||||
}
|
||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionCreateTile {
|
||||
Vector rot = 3;
|
||||
Vector pos = 8;
|
||||
Vector pos = 15;
|
||||
Vector rot = 13;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionDeductStamina {
|
||||
bool is_swim = 1;
|
||||
bool is_swim = 7;
|
||||
}
|
||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionDestroyTile {
|
||||
Vector rot = 3;
|
||||
Vector pos = 1;
|
||||
Vector pos = 13;
|
||||
Vector rot = 5;
|
||||
}
|
||||
|
@ -22,5 +22,5 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionFireAfterImage {
|
||||
Vector dir = 12;
|
||||
Vector dir = 10;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionGenerateElemBall {
|
||||
uint32 room_id = 2;
|
||||
Vector pos = 7;
|
||||
Vector rot = 13;
|
||||
uint32 room_id = 8;
|
||||
Vector rot = 1;
|
||||
Vector pos = 14;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionHitEffect {
|
||||
uint32 trigger_id = 3;
|
||||
uint32 trigger_id = 13;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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";
|
||||
|
||||
message AbilityActionSetCrashDamage {
|
||||
Vector hit_pos = 2;
|
||||
float damage = 15;
|
||||
float damage = 2;
|
||||
Vector hit_pos = 8;
|
||||
}
|
||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionSummon {
|
||||
Vector pos = 10;
|
||||
Vector rot = 1;
|
||||
Vector pos = 3;
|
||||
Vector rot = 10;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityActionTriggerAbility {
|
||||
uint32 other_id = 14;
|
||||
uint32 other_id = 4;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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 {
|
||||
oneof arg {
|
||||
uint32 int_arg = 5;
|
||||
float float_arg = 15;
|
||||
string str_arg = 11;
|
||||
uint32 int_arg = 14;
|
||||
float float_arg = 7;
|
||||
string str_arg = 9;
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityBornType {
|
||||
Vector rot = 2;
|
||||
Vector move_dir = 14;
|
||||
Vector pos = 5;
|
||||
Vector move_dir = 3;
|
||||
Vector rot = 15;
|
||||
Vector pos = 12;
|
||||
}
|
||||
|
@ -21,10 +21,15 @@ import "AbilityControlBlock.proto";
|
||||
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
// CmdId: 1131
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message AbilityChangeNotify {
|
||||
uint32 entity_id = 1;
|
||||
AbilityControlBlock ability_control_block = 15;
|
||||
// enum CmdId {
|
||||
// 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";
|
||||
|
||||
message AbilityIdentifier {
|
||||
uint32 modifier_owner_id = 2;
|
||||
uint32 instanced_modifier_id = 9;
|
||||
uint32 instanced_ability_id = 10;
|
||||
bool is_serverbuff_modifier = 6;
|
||||
uint32 ability_caster_id = 15;
|
||||
int32 local_id = 3;
|
||||
uint32 instanced_ability_id = 4;
|
||||
uint32 Unk3300_IHCKJKLCICI = 10;
|
||||
bool is_serverbuff_modifier = 14;
|
||||
int32 local_id = 7;
|
||||
uint32 Unk3300_OOOLELPBDHJ = 1;
|
||||
uint32 instanced_modifier_id = 5;
|
||||
}
|
||||
|
@ -21,11 +21,16 @@ import "AbilityInvokeEntry.proto";
|
||||
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
// CmdId: 1107
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message AbilityInvocationFailNotify {
|
||||
string reason = 7;
|
||||
uint32 entity_id = 13;
|
||||
AbilityInvokeEntry invoke = 3;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 1172
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
message AbilityInvocationFixedNotify {
|
||||
AbilityInvokeEntry invoke6th = 14;
|
||||
AbilityInvokeEntry invoke5th = 8;
|
||||
AbilityInvokeEntry invoke4th = 1;
|
||||
AbilityInvokeEntry invoke2nd = 5;
|
||||
AbilityInvokeEntry invoke1st = 10;
|
||||
AbilityInvokeEntry invoke3rd = 12;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// NONE = 0;
|
||||
// CMD_ID = 1179;
|
||||
// ENET_CHANNEL_ID = 0;
|
||||
// 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";
|
||||
|
||||
// CmdId: 1198
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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_SHOOT_FROM_CAMERA = 120;
|
||||
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";
|
||||
|
||||
message AbilityInvokeEntry {
|
||||
AbilityInvokeArgument argument_type = 1;
|
||||
AbilityInvokeEntryHead head = 2;
|
||||
uint32 forward_peer = 4;
|
||||
uint32 event_id = 12;
|
||||
ForwardType forward_type = 3;
|
||||
bytes ability_data = 15;
|
||||
double total_tick_time = 14;
|
||||
uint32 entity_id = 9;
|
||||
ForwardType forward_type = 9;
|
||||
uint32 event_id = 13;
|
||||
uint32 entity_id = 7;
|
||||
uint32 forward_peer = 14;
|
||||
double total_tick_time = 10;
|
||||
AbilityInvokeEntryHead head = 3;
|
||||
bytes ability_data = 2;
|
||||
AbilityInvokeArgument argument_type = 8;
|
||||
bool is_ignore_auth = 12;
|
||||
}
|
||||
|
@ -20,11 +20,11 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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;
|
||||
bool is_serverbuff_modifier = 2;
|
||||
uint32 instanced_ability_id = 1;
|
||||
uint32 instanced_modifier_id = 12;
|
||||
int32 local_id = 10;
|
||||
uint32 server_buff_uid = 14;
|
||||
uint32 target_id = 3;
|
||||
bool is_serverbuff_modifier = 15;
|
||||
uint32 instanced_modifier_id = 10;
|
||||
}
|
||||
|
@ -22,5 +22,5 @@ import "AbilityAppliedAbility.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaAddAbility {
|
||||
AbilityAppliedAbility ability = 12;
|
||||
AbilityAppliedAbility ability = 5;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import "AbilityString.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaAddOrGetAbilityAndTrigger {
|
||||
AbilityString ability_name = 13;
|
||||
float trigger_argument = 3;
|
||||
AbilityString ability_override = 8;
|
||||
float trigger_argument = 4;
|
||||
AbilityString ability_name = 12;
|
||||
AbilityString ability_override = 13;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaDurabilityIsZero {
|
||||
bool is_zero = 5;
|
||||
bool is_zero = 6;
|
||||
}
|
||||
|
@ -20,8 +20,8 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaElementReactionVisual {
|
||||
int32 hit_index = 2;
|
||||
uint32 element_source_type = 12;
|
||||
uint32 element_reactor_type = 6;
|
||||
uint32 element_reaction_type = 5;
|
||||
uint32 Unk3300_PHKFGIHELFG = 6;
|
||||
uint32 Unk3300_DGBGNEHDODI = 1;
|
||||
int32 hit_index = 14;
|
||||
uint32 Unk3300_OGILJCJPHPB = 2;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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";
|
||||
|
||||
message AbilityMetaModifierChange {
|
||||
AbilityAttachedModifier attached_instanced_modifier = 7;
|
||||
uint32 server_buff_uid = 4;
|
||||
bool is_attached_parent_ability = 10;
|
||||
ModifierAction action = 13;
|
||||
AbilityAttachedModifier attached_instanced_modifier = 3;
|
||||
bool is_attached_parent_ability = 5;
|
||||
repeated ModifierProperty properties = 14;
|
||||
bool Unk3300_NOPKODKOHJK = 12;
|
||||
int32 modifier_local_id = 2;
|
||||
AbilityString parent_ability_name = 1;
|
||||
bool is_mute_remote = 6;
|
||||
uint32 apply_entity_id = 5;
|
||||
repeated ModifierProperty properties = 3;
|
||||
AbilityString parent_ability_override = 11;
|
||||
bool is_durability_zero = 9;
|
||||
bool Unk3300_PBNENPBMNCI = 8;
|
||||
AbilityString parent_ability_name = 13;
|
||||
uint32 server_buff_uid = 9;
|
||||
uint32 apply_entity_id = 7;
|
||||
AbilityString parent_ability_override = 15;
|
||||
ModifierAction action = 4;
|
||||
}
|
||||
|
@ -20,6 +20,6 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaModifierDurabilityChange {
|
||||
float reduce_durability = 6;
|
||||
float remain_durability = 15;
|
||||
float Unk3300_LDHNFNOGOGF = 13;
|
||||
float Unk3300_IFHFHEHDOIO = 1;
|
||||
}
|
||||
|
@ -22,5 +22,5 @@ import "AbilityScalarValueEntry.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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";
|
||||
|
||||
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";
|
||||
|
||||
message AbilityMetaSetKilledState {
|
||||
bool killed = 2;
|
||||
bool killed = 5;
|
||||
}
|
||||
|
@ -22,5 +22,5 @@ import "AnimatorParameterValueInfoPair.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaSetPoseParameter {
|
||||
AnimatorParameterValueInfoPair value = 6;
|
||||
AnimatorParameterValueInfoPair value = 7;
|
||||
}
|
||||
|
@ -20,6 +20,6 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaSpecialFloatArgument {
|
||||
float argument_value = 14;
|
||||
float argument_value = 4;
|
||||
bool is_on = 10;
|
||||
}
|
||||
|
@ -20,9 +20,9 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaTriggerElementReaction {
|
||||
int32 hit_index = 9;
|
||||
uint32 element_source_type = 7;
|
||||
uint32 element_reactor_type = 12;
|
||||
uint32 trigger_entity_id = 2;
|
||||
uint32 element_reaction_type = 1;
|
||||
int32 hit_index = 7;
|
||||
uint32 trigger_entity_id = 14;
|
||||
uint32 Unk3300_PHKFGIHELFG = 13;
|
||||
uint32 Unk3300_OGILJCJPHPB = 12;
|
||||
uint32 Unk3300_DGBGNEHDODI = 2;
|
||||
}
|
||||
|
@ -22,8 +22,8 @@ import "AbilityString.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMetaUpdateBaseReactionDamage {
|
||||
uint32 source_caster_id = 15;
|
||||
AbilityString ability_name = 1;
|
||||
AbilityString global_value_key = 4;
|
||||
uint32 reaction_type = 8;
|
||||
uint32 Unk3300_OIPAEGAMCLI = 2;
|
||||
uint32 Unk3300_CAKEJCJKHOA = 13;
|
||||
AbilityString ability_name = 6;
|
||||
AbilityString global_value_key = 14;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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 {
|
||||
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";
|
||||
|
||||
message AbilityMixinCostStamina {
|
||||
bool is_swim = 3;
|
||||
bool is_swim = 7;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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";
|
||||
|
||||
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";
|
||||
|
||||
message AbilityMixinElementShield {
|
||||
float sub_shield = 10;
|
||||
float shield = 8;
|
||||
uint32 absorb_type = 1;
|
||||
uint32 player_num = 4;
|
||||
bool is_shield_broken = 9;
|
||||
float max_shield = 12;
|
||||
uint32 player_num = 9;
|
||||
float shield = 5;
|
||||
bool is_shield_broken = 8;
|
||||
float sub_shield = 4;
|
||||
float max_shield = 13;
|
||||
uint32 absorb_type = 10;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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";
|
||||
|
||||
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";
|
||||
|
||||
message AbilityMixinFireworksLauncher {
|
||||
uint32 invoke_type = 2;
|
||||
uint32 start_count_down_time = 3;
|
||||
uint32 fired_bullet_count = 1;
|
||||
uint32 phase = 6;
|
||||
repeated uint32 fireworks_config = 4;
|
||||
uint32 turn_index = 7;
|
||||
uint32 Unk3300_FHGLEJNJIHK = 5;
|
||||
uint32 Unk3300_BFJBDJLAOJL = 4;
|
||||
uint32 Unk3300_LPPKOFHKCPH = 7;
|
||||
uint32 Unk3300_BDGCGLGNAIB = 3;
|
||||
repeated uint32 fireworks_config = 12;
|
||||
uint32 phase = 1;
|
||||
}
|
||||
|
@ -20,10 +20,10 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMixinGlobalShield {
|
||||
float max_shield = 14;
|
||||
bool is_create_effect = 4;
|
||||
float sub_shield = 7;
|
||||
float height_offset = 5;
|
||||
uint32 avatar_id = 11;
|
||||
float max_shield = 10;
|
||||
string shield_effect_name = 2;
|
||||
string shield_effect_name = 12;
|
||||
float sub_shield = 10;
|
||||
uint32 avatar_id = 3;
|
||||
float height_offset = 1;
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
import "BreakoutSnapShot.proto";
|
||||
import "MassivePropSyncInfo.proto";
|
||||
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
@ -26,6 +27,7 @@ message AbilityMixinRecoverInfo {
|
||||
repeated uint32 data_list = 4;
|
||||
bool is_serverbuff_modifier = 5;
|
||||
repeated MassivePropSyncInfo massive_prop_list = 6;
|
||||
BreakoutSnapShot breakout_snap_shot = 7;
|
||||
oneof source {
|
||||
uint32 instanced_ability_id = 1;
|
||||
uint32 instanced_modifier_id = 2;
|
||||
|
@ -22,7 +22,7 @@ import "MassivePropSyncInfo.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMixinScenePropSync {
|
||||
repeated int64 delete_id_list = 5;
|
||||
bool is_clear_all = 12;
|
||||
repeated MassivePropSyncInfo massive_prop_list = 15;
|
||||
repeated MassivePropSyncInfo massive_prop_list = 11;
|
||||
repeated int64 delete_id_list = 12;
|
||||
bool is_clear_all = 3;
|
||||
}
|
||||
|
@ -20,8 +20,8 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMixinShieldBar {
|
||||
uint32 player_num = 14;
|
||||
float max_shield = 15;
|
||||
float shield = 12;
|
||||
uint32 element_type = 13;
|
||||
float max_shield = 8;
|
||||
float shield = 4;
|
||||
uint32 player_num = 3;
|
||||
uint32 element_type = 7;
|
||||
}
|
||||
|
@ -22,6 +22,6 @@ import "Vector.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMixinShootFromCamera {
|
||||
Vector init_pos = 13;
|
||||
Vector forward = 2;
|
||||
Vector forward = 13;
|
||||
Vector init_pos = 9;
|
||||
}
|
||||
|
@ -20,6 +20,6 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message AbilityMixinUGCTimeControl {
|
||||
uint64 start_move_time_ms = 13;
|
||||
uint32 forward = 3;
|
||||
uint64 start_move_time_ms = 12;
|
||||
uint32 start_move_time = 9;
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
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";
|
||||
|
||||
message AbilityMixinWindSeedSpawner {
|
||||
oneof cmd {
|
||||
AddSignal add_signal = 2;
|
||||
RefreshSeed refresh_seed = 15;
|
||||
CatchSeed catch_seed = 11;
|
||||
}
|
||||
|
||||
message AddSignal {}
|
||||
|
||||
message RefreshSeed {
|
||||
repeated Vector pos_list = 6;
|
||||
repeated Vector pos_list = 10;
|
||||
}
|
||||
|
||||
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";
|
||||
|
||||
message AbilityMixinWindZone {
|
||||
repeated uint32 entity_ids = 13;
|
||||
repeated uint32 zone_id_list = 10;
|
||||
repeated uint32 Unk3300_OJPFAIGIBLG = 3;
|
||||
repeated uint32 Unk3300_DJELBGDEDBH = 12;
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ syntax = "proto3";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
enum AbilityScalarType {
|
||||
ABILITY_SCALAR_TYPE_UNKNOW = 0;
|
||||
ABILITY_SCALAR_TYPE_UNKNOWN = 0;
|
||||
ABILITY_SCALAR_TYPE_FLOAT = 1;
|
||||
ABILITY_SCALAR_TYPE_INT = 2;
|
||||
ABILITY_SCALAR_TYPE_BOOL = 3;
|
||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
||||
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
// CmdId: 2890
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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 request_id = 5;
|
||||
uint32 request_id = 8;
|
||||
}
|
||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
||||
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
// CmdId: 2873
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message AcceptCityReputationRequestRsp {
|
||||
uint32 request_id = 5;
|
||||
uint32 city_id = 13;
|
||||
int32 retcode = 2;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
message Achievement {
|
||||
uint32 finish_timestamp = 11;
|
||||
Status status = 13;
|
||||
uint32 cur_progress = 12;
|
||||
uint32 id = 14;
|
||||
uint32 total_progress = 8;
|
||||
|
||||
enum Status {
|
||||
STATUS_INVALID = 0;
|
||||
STATUS_UNFINISHED = 1;
|
||||
STATUS_FINISHED = 2;
|
||||
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";
|
||||
|
||||
// CmdId: 2676
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message AchievementAllDataNotify {
|
||||
repeated Achievement achievement_list = 4;
|
||||
repeated uint32 reward_taken_goal_id_list = 2;
|
||||
// enum CmdId {
|
||||
// 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";
|
||||
|
||||
// CmdId: 2668
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
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";
|
||||
|
||||
// CmdId: 8113
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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";
|
||||
|
||||
// CmdId: 8132
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityAcceptAllGiveGiftRsp {
|
||||
repeated ActivityAcceptGiftResultInfo accept_gift_result_info_list = 5;
|
||||
uint32 schedule_id = 10;
|
||||
int32 retcode = 9;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
message ActivityAcceptGiftResultInfo {
|
||||
map<uint32, uint32> unaccept_gift_num_map = 3;
|
||||
uint32 uid = 6;
|
||||
map<uint32, uint32> accept_gift_num_map = 13;
|
||||
map<uint32, uint32> Unk3300_JFHLEBLOFMA = 1;
|
||||
map<uint32, uint32> Unk3300_COCFNBJCFGP = 9;
|
||||
uint32 uid = 12;
|
||||
}
|
||||
|
@ -19,11 +19,16 @@ syntax = "proto3";
|
||||
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
// CmdId: 8095
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
message ActivityAcceptGiveGiftReq {
|
||||
uint32 schedule_id = 3;
|
||||
uint32 uid = 12;
|
||||
// enum CmdId {
|
||||
// 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";
|
||||
|
||||
// CmdId: 8502
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityAcceptGiveGiftRsp {
|
||||
ActivityAcceptGiftResultInfo accept_gift_result_info = 4;
|
||||
int32 retcode = 11;
|
||||
uint32 schedule_id = 10;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 2009
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
message ActivityBannerClearReq {
|
||||
uint32 schedule_id = 15;
|
||||
uint32 activity_id = 12;
|
||||
// enum CmdId {
|
||||
// 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";
|
||||
|
||||
// CmdId: 2163
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityBannerClearRsp {
|
||||
uint32 activity_id = 4;
|
||||
int32 retcode = 6;
|
||||
uint32 schedule_id = 11;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 2155
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityBannerNotify {
|
||||
uint32 schedule_id = 1;
|
||||
uint32 activity_id = 3;
|
||||
// enum CmdId {
|
||||
// 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";
|
||||
|
||||
// CmdId: 2008
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
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 activity_id = 10;
|
||||
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";
|
||||
|
||||
// CmdId: 2140
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityCondStateChangeNotify {
|
||||
repeated uint32 activated_sale_id_list = 9;
|
||||
uint32 activity_id = 4;
|
||||
uint32 schedule_id = 5;
|
||||
repeated uint32 expire_cond_list = 11;
|
||||
repeated Uint32Pair disable_transfer_point_interaction_list = 12;
|
||||
repeated uint32 meet_cond_list = 1;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// NONE = 0;
|
||||
// CMD_ID = 2194;
|
||||
// ENET_CHANNEL_ID = 0;
|
||||
// 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";
|
||||
|
||||
// CmdId: 8982
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityDisableTransferPointInteractionNotify {
|
||||
bool is_disable = 10;
|
||||
Uint32Pair scene_point_pair = 5;
|
||||
// enum CmdId {
|
||||
// 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";
|
||||
|
||||
message ActivityFriendGiftWishData {
|
||||
string nickname = 7;
|
||||
string remark_name = 3;
|
||||
map<uint32, uint32> gift_num_map = 5;
|
||||
uint32 uid = 7;
|
||||
ProfilePicture profile_picture = 11;
|
||||
map<uint32, uint32> gift_num_map = 9;
|
||||
uint32 uid = 8;
|
||||
string remark_name = 12;
|
||||
string nickname = 2;
|
||||
}
|
||||
|
@ -19,10 +19,15 @@ syntax = "proto3";
|
||||
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
// CmdId: 8559
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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";
|
||||
|
||||
// CmdId: 8848
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityGetCanGiveFriendGiftRsp {
|
||||
uint32 schedule_id = 7;
|
||||
int32 retcode = 3;
|
||||
map<uint32, uint32> gift_num_map = 14;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 8806
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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";
|
||||
|
||||
// CmdId: 8253
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityGetFriendGiftWishListRsp {
|
||||
int32 retcode = 6;
|
||||
repeated ActivityFriendGiftWishData friend_gift_wish_list = 11;
|
||||
uint32 schedule_id = 10;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 8725
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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";
|
||||
|
||||
// CmdId: 8120
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityGetRecvGiftListRsp {
|
||||
int32 retcode = 15;
|
||||
repeated ActivityRecvGiftData recv_gift_list = 11;
|
||||
uint32 schedule_id = 6;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 8233
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
message ActivityGiveFriendGiftReq {
|
||||
uint32 uid = 5;
|
||||
uint32 schedule_id = 1;
|
||||
map<uint32, uint32> gift_num_map = 4;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 8696
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
message ActivityGiveFriendGiftRsp {
|
||||
repeated uint32 limit_gift_list = 3;
|
||||
uint32 schedule_id = 4;
|
||||
int32 retcode = 10;
|
||||
// enum CmdId {
|
||||
// option allow_alias = true;
|
||||
// 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";
|
||||
|
||||
// CmdId: 8733
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
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 "BlitzRushActivityDetailInfo.proto";
|
||||
import "BounceConjuringActivityDetailInfo.proto";
|
||||
import "BrickBreakerDetailInfo.proto";
|
||||
import "BuoyantCombatDetailInfo.proto";
|
||||
import "ChannelerSlabActivityDetailInfo.proto";
|
||||
import "CharAmusementDetailInfo.proto";
|
||||
import "ChessActivityDetailInfo.proto";
|
||||
import "CoinCollectDetailInfo.proto";
|
||||
import "CrucibleActivityDetailInfo.proto";
|
||||
import "CrystalLinkActivityDetailInfo.proto";
|
||||
import "DeliveryActivityDetailInfo.proto";
|
||||
@ -76,7 +78,7 @@ import "TreasureMapActivityDetailInfo.proto";
|
||||
import "TreasureSeelieActivityDetailInfo.proto";
|
||||
import "TrialAvatarActivityDetailInfo.proto";
|
||||
import "UgcActivityDetailInfo.proto";
|
||||
import "VintageDetailInfo.proto";
|
||||
import "VintageActivityDetailInfo.proto";
|
||||
import "WaterSpiritActivityDetailInfo.proto";
|
||||
import "WindFieldDetailInfo.proto";
|
||||
import "WinterCampActivityDetailInfo.proto";
|
||||
@ -84,90 +86,92 @@ import "WinterCampActivityDetailInfo.proto";
|
||||
option java_package = "emu.grasscutter.net.proto";
|
||||
|
||||
message ActivityInfo {
|
||||
bool is_finished = 6;
|
||||
uint32 activity_type = 4;
|
||||
uint32 begin_time = 8;
|
||||
repeated uint32 taken_reward_list = 329;
|
||||
bool is_hidden = 919;
|
||||
bool is_quick_open = 1449;
|
||||
repeated uint32 meet_cond_list = 10;
|
||||
map<uint32, uint32> activity_coin_map = 682;
|
||||
bool is_banner_cleared = 102;
|
||||
uint32 cur_score = 1906;
|
||||
uint32 first_day_start_time = 592;
|
||||
uint32 activity_id = 12;
|
||||
bool is_play_open_anim = 13;
|
||||
uint32 end_time = 5;
|
||||
uint32 score_limit = 1958;
|
||||
map<uint32, uint32> wish_gift_num_map = 1399;
|
||||
uint32 selected_avatar_reward_id = 1290;
|
||||
bool is_common_content_closed = 1963;
|
||||
repeated uint32 expire_cond_list = 3;
|
||||
repeated ActivityPushTipsData activity_push_tips_data_list = 864;
|
||||
repeated ActivityWatcherInfo watcher_info_list = 2;
|
||||
uint32 schedule_id = 15;
|
||||
bool is_starting = 9;
|
||||
bool Unk3300_MJNPGEKLOCG = 360;
|
||||
bool is_finished = 8;
|
||||
uint32 cur_score = 1268;
|
||||
uint32 schedule_id = 7;
|
||||
uint32 Unk3300_JAEALAIOOID = 1870;
|
||||
bool Unk3300_ICNJJKDHPCH = 14;
|
||||
repeated uint32 Unk3300_BGNIBLKCPCA = 11;
|
||||
bool Unk3300_NEPKLLBJFKK = 1645;
|
||||
repeated ActivityWatcherInfo watcher_info_list = 6;
|
||||
repeated ActivityPushTipsData activity_push_tips_data_list = 1867;
|
||||
uint32 activity_id = 13;
|
||||
repeated uint32 taken_reward_list = 1889;
|
||||
uint32 Unk3300_GCEAKEMMJEA = 697;
|
||||
map<uint32, uint32> activity_coin_map = 36;
|
||||
uint32 first_day_start_time = 786;
|
||||
bool Unk3300_ABJKLALKLDG = 1486;
|
||||
uint32 Unk3300_DMILOONBELH = 3;
|
||||
bool Unk3300_CBCEHLJJOGI = 1375;
|
||||
uint32 begin_time = 1;
|
||||
bool Unk3300_MDBDPIBEGGH = 12;
|
||||
map<uint32, uint32> wish_gift_num_map = 939;
|
||||
uint32 end_time = 10;
|
||||
repeated uint32 Unk3300_HKKNIHNBHAE = 5;
|
||||
oneof detail {
|
||||
SeaLampActivityDetailInfo sam_lamp_info = 7;
|
||||
CrucibleActivityDetailInfo crucible_info = 14;
|
||||
SalesmanActivityDetailInfo salesman_info = 11;
|
||||
TrialAvatarActivityDetailInfo trial_avatar_info = 1;
|
||||
DeliveryActivityDetailInfo delivery_info = 1092;
|
||||
AsterActivityDetailInfo aster_info = 557;
|
||||
FlightActivityDetailInfo flight_info = 1365;
|
||||
DragonSpineActivityDetailInfo dragon_spine_info = 1727;
|
||||
EffigyActivityDetailInfo effigy_info = 391;
|
||||
TreasureMapActivityDetailInfo treasure_map_info = 1114;
|
||||
BlessingActivityDetailInfo blessing_info = 1869;
|
||||
SeaLampActivityInfo sea_lamp_info = 494;
|
||||
ExpeditionActivityDetailInfo expedition_info = 202;
|
||||
ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
|
||||
FleurFairActivityDetailInfo fleur_fair_info = 857;
|
||||
WaterSpiritActivityDetailInfo water_spirit_info = 1675;
|
||||
ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
|
||||
MistTrialActivityDetailInfo mist_trial_activity_info = 156;
|
||||
HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
|
||||
FindHilichurlDetailInfo find_hilichurl_info = 1411;
|
||||
SummerTimeDetailInfo summer_time_info = 1372;
|
||||
BuoyantCombatDetailInfo buoyant_combat_info = 1842;
|
||||
EchoShellDetailInfo echo_shell_info = 1113;
|
||||
BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
|
||||
BlitzRushActivityDetailInfo blitz_rush_info = 794;
|
||||
ChessActivityDetailInfo chess_info = 927;
|
||||
SumoActivityDetailInfo sumo_info = 1261;
|
||||
MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
|
||||
LunaRiteDetailInfo luna_rite_info = 814;
|
||||
PlantFlowerActivityDetailInfo plant_flower_info = 54;
|
||||
MusicGameActivityDetailInfo music_game_info = 460;
|
||||
RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 219;
|
||||
DigActivityDetailInfo dig_info = 403;
|
||||
HachiActivityDetailInfo hachi_info = 491;
|
||||
WinterCampActivityDetailInfo winter_camp_info = 1083;
|
||||
PotionActivityDetailInfo potion_info = 1273;
|
||||
TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1796;
|
||||
LanternRiteActivityDetailInfo lantern_rite_activity_info = 1876;
|
||||
MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 194;
|
||||
BartenderActivityDetailInfo bartender_info = 1725;
|
||||
UgcActivityDetailInfo ugc_info = 703;
|
||||
CrystalLinkActivityDetailInfo crystal_link_info = 1226;
|
||||
IrodoriActivityDetailInfo irodori_info = 750;
|
||||
PhotoActivityDetailInfo photo_info = 328;
|
||||
SpiceActivityDetailInfo spice_info = 1891;
|
||||
GachaActivityDetailInfo gacha_info = 825;
|
||||
LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 1308;
|
||||
RogueDiaryActivityDetailInfo rogue_diary_info = 812;
|
||||
SummerTimeV2DetailInfo summer_time_v2_info = 622;
|
||||
IslandPartyDetailInfo island_party_info = 1885;
|
||||
GearActivityDetailInfo gear_info = 722;
|
||||
GravenInnocenceDetailInfo graven_innocence_info = 1911;
|
||||
InstableSprayDetailInfo instable_spray_info = 1043;
|
||||
MuqadasPotionActivityDetailInfo muqadas_potion_info = 1157;
|
||||
TreasureSeelieActivityDetailInfo treasure_seelie_info = 966;
|
||||
RockBoardExploreDetailInfo rock_board_explore_info = 1078;
|
||||
VintageDetailInfo vintage_info = 445;
|
||||
WindFieldDetailInfo wind_field_info = 352;
|
||||
FungusFighterDetailInfo fungus_fighter_info = 490;
|
||||
CharAmusementDetailInfo char_amusement_info = 1496;
|
||||
EffigyChallengeV2DetailInfo effigy_challenge_info = 1025;
|
||||
SeaLampActivityDetailInfo sam_lamp_info = 2;
|
||||
CrucibleActivityDetailInfo crucible_info = 15;
|
||||
SalesmanActivityDetailInfo salesman_info = 9;
|
||||
TrialAvatarActivityDetailInfo trial_avatar_info = 4;
|
||||
DeliveryActivityDetailInfo delivery_info = 1141;
|
||||
AsterActivityDetailInfo aster_info = 1977;
|
||||
FlightActivityDetailInfo flight_info = 2011;
|
||||
DragonSpineActivityDetailInfo dragon_spine_info = 1310;
|
||||
EffigyActivityDetailInfo effigy_info = 1374;
|
||||
TreasureMapActivityDetailInfo treasure_map_info = 1925;
|
||||
BlessingActivityDetailInfo blessing_info = 1962;
|
||||
SeaLampActivityInfo sea_lamp_info = 247;
|
||||
ExpeditionActivityDetailInfo expedition_info = 1752;
|
||||
ArenaChallengeActivityDetailInfo arena_challenge_info = 538;
|
||||
FleurFairActivityDetailInfo fleur_fair_info = 1447;
|
||||
WaterSpiritActivityDetailInfo water_spirit_info = 635;
|
||||
ChannelerSlabActivityDetailInfo channeler_slab_info = 846;
|
||||
MistTrialActivityDetailInfo mist_trial_activity_info = 432;
|
||||
HideAndSeekActivityDetailInfo hide_and_seek_info = 839;
|
||||
FindHilichurlDetailInfo find_hilichurl_info = 378;
|
||||
SummerTimeDetailInfo summer_time_info = 1910;
|
||||
BuoyantCombatDetailInfo buoyant_combat_info = 686;
|
||||
EchoShellDetailInfo echo_shell_info = 1162;
|
||||
BounceConjuringActivityDetailInfo bounce_conjuring_info = 922;
|
||||
BlitzRushActivityDetailInfo blitz_rush_info = 64;
|
||||
ChessActivityDetailInfo chess_info = 1006;
|
||||
SumoActivityDetailInfo sumo_info = 505;
|
||||
MoonfinTrialActivityDetailInfo moonfin_trial_info = 766;
|
||||
LunaRiteDetailInfo luna_rite_info = 1545;
|
||||
PlantFlowerActivityDetailInfo plant_flower_info = 1274;
|
||||
MusicGameActivityDetailInfo music_game_info = 1989;
|
||||
RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 970;
|
||||
DigActivityDetailInfo dig_info = 1862;
|
||||
HachiActivityDetailInfo hachi_info = 511;
|
||||
WinterCampActivityDetailInfo winter_camp_info = 699;
|
||||
PotionActivityDetailInfo potion_info = 1567;
|
||||
TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1348;
|
||||
LanternRiteActivityDetailInfo lantern_rite_activity_info = 237;
|
||||
MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 1839;
|
||||
BartenderActivityDetailInfo bartender_info = 551;
|
||||
UgcActivityDetailInfo ugc_info = 1182;
|
||||
CrystalLinkActivityDetailInfo crystal_link_info = 812;
|
||||
IrodoriActivityDetailInfo irodori_info = 1056;
|
||||
PhotoActivityDetailInfo photo_info = 1822;
|
||||
SpiceActivityDetailInfo spice_info = 789;
|
||||
GachaActivityDetailInfo gacha_info = 1297;
|
||||
LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 444;
|
||||
RogueDiaryActivityDetailInfo rogue_diary_info = 560;
|
||||
SummerTimeV2DetailInfo summer_time_v2_info = 411;
|
||||
IslandPartyDetailInfo island_party_info = 740;
|
||||
GearActivityDetailInfo gear_info = 1482;
|
||||
GravenInnocenceDetailInfo graven_innocence_info = 1928;
|
||||
InstableSprayDetailInfo instable_spray_info = 1145;
|
||||
MuqadasPotionActivityDetailInfo muqadas_potion_info = 1662;
|
||||
TreasureSeelieActivityDetailInfo treasure_seelie_info = 1032;
|
||||
RockBoardExploreDetailInfo rock_board_explore_info = 1265;
|
||||
VintageActivityDetailInfo vintage_info = 1308;
|
||||
WindFieldDetailInfo wind_field_info = 468;
|
||||
FungusFighterDetailInfo fungus_fighter_info = 1757;
|
||||
CharAmusementDetailInfo char_amusement_info = 621;
|
||||
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";
|
||||
|
||||
// CmdId: 2060
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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";
|
||||
|
||||
// CmdId: 2157
|
||||
// EnetChannelId: 0
|
||||
// EnetIsReliable: true
|
||||
// IsAllowClient: true
|
||||
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…
Reference in New Issue
Block a user