update proto part 9

This commit is contained in:
Akbar Yahya 2023-03-11 23:42:44 +08:00
parent 37d8c65b1d
commit 9f3f542d24
42 changed files with 319 additions and 180 deletions

104
op.js
View File

@ -701,6 +701,10 @@ function clean_proto_gen_v2() {
// Use regular expressions to extract the desired part // Use regular expressions to extract the desired part
const match = fileName.match(/^(.*)\.proto$/); const match = fileName.match(/^(.*)\.proto$/);
if(match == null)
{
return;
}
const messageName = match[1]; const messageName = match[1];
// Check if the string is all uppercase // Check if the string is all uppercase
@ -857,6 +861,101 @@ function clean_proto_event() {
); );
} }
function clean_proto_event_v2() {
var torequire = [
"ParamList",
"StrengthenPointData",
"TowerLevelEndNotify",
"TrialAvatarFirstPassDungeonNotify"
];
var filedonotdelete = [];
let dir = "./proto";
let file = "./proto/DungeonSettleNotify.proto";
var rd;
const files = getAllFiles(dir);
// read file
try {
const read = fs.readFileSync(file);
rd = read.toString();
} catch (error) {
console.log(error);
return;
}
//console.log(rd);
while ((m = regex_import.exec(rd)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex_import.lastIndex) {
regex_import.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
// only index 1 grup
if (groupIndex == 1) {
//console.log(`t: ${match}`);
var found_rt = torequire.find((j) => j === match);
if (found_rt) {
//console.log(`Skip ${match}`);
} else {
//console.log(`add ${match}`);
var sub = find_import(dir + "/" + match + ".proto");
//console.log(sub);
if (sub) {
sub.forEach(function (k) {
var v = torequire.find((j) => j === k);
if (!v) {
torequire.push(k);
}
});
}
filedonotdelete.push(match);
torequire.push(match);
}
}
});
}
console.log(filedonotdelete);
// last
files.forEach(function (file) {
var name_file = path.parse(file).name;
var toskip = filedonotdelete.find((j) => name_file === j);
if (toskip) {
found_needclean++;
console.log(name_file);
try {
fs.unlinkSync(file);
console.log("Remove file: " + file);
//file removed
} catch (err) {
//console.error(err);
}
} else {
found_noclean++;
//console.log("skip "+name_file);
}
});
console.log(
"No clean: " +
found_noclean +
" | Need to clean: " +
found_needclean +
" | Related " +
found_maybe_related
);
}
// Update GC Proto // Update GC Proto
// get_cmdid_gc(); // 1. get cmd old gc // get_cmdid_gc(); // 1. get cmd old gc
// read_cmdid_ht_json(); // 2 or // read_cmdid_ht_json(); // 2 or
@ -867,5 +966,8 @@ function clean_proto_event() {
// npx prettier --write PacketOpcodes.java // npx prettier --write PacketOpcodes.java
// scan_gc(); // 5. scan gc // scan_gc(); // 5. scan gc
// clean_proto_event(); // 6. clean event, need manual // clean_proto_event(); // 6. clean event, need manual
// clean_proto_gen(); // 6. clean proto clean_proto_gen(); // 6. clean proto
// clean_proto_gen_v2(); // clean_proto_gen_v2();
// TODO: clean DungeonSettleNotify
// clean_proto_event_v2();

View File

@ -9,16 +9,15 @@ import "ModifierAction.proto";
// Name: IPPNBIDINLA // Name: IPPNBIDINLA
message AbilityMetaModifierChange { message AbilityMetaModifierChange {
bool is_durability_zero = 8; bool isAttachedParentAbility = 8;
int32 modifier_local_id = 11; int32 modifier_local_id = 11;
repeated ModifierProperty properties = 4; repeated ModifierProperty properties = 4;
uint32 apply_entity_id = 3; uint32 apply_entity_id = 3;
AbilityAttachedModifier attached_instanced_modifier = 1; AbilityAttachedModifier attached_instanced_modifier = 1;
ModifierAction action = 9; // NOAJNAPDEMN ModifierAction action = 9; // NOAJNAPDEMN
bool is_attached_parent_ability = 15; bool is_durability_zero = 15;
AbilityString parent_ability_name = 6; AbilityString parent_ability_name = 6;
bool is_mute_remote = 2; bool is_mute_remote = 2;
AbilityString parent_ability_override = 12; AbilityString parent_ability_override = 12;
uint32 server_buff_uid = 13; uint32 server_buff_uid = 13;
} }

View File

@ -14,13 +14,13 @@ message ActivityInfo {
bool FLFGIDFALEK = 15; bool FLFGIDFALEK = 15;
uint32 LPOCNCICJHM = 485; uint32 LPOCNCICJHM = 485;
map<uint32, uint32> activity_coin_map = 703; map<uint32, uint32> activity_coin_map = 703;
repeated uint32 expireCondList = 2; repeated uint32 meet_cond_list = 2; //PAGIONJOCJN
uint32 end_time = 4; uint32 end_time = 4;
bool GLOONPBGOHM = 1331; bool GLOONPBGOHM = 1331;
repeated ActivityPushTipsData activity_push_tips_data_list = 1827; repeated ActivityPushTipsData activity_push_tips_data_list = 1827;
repeated uint32 meet_cond_list = 13; // LGCJBENHFOB repeated uint32 expire_cond_list = 13; // LGCJBENHFOB
bool is_finished = 6; bool is_finished = 6;
repeated uint32 EOPFKDBBOII = 894; repeated uint32 taken_reward_list = 894; //EOPFKDBBOII
repeated ActivityWatcherInfo watcher_info_list = 8; repeated ActivityWatcherInfo watcher_info_list = 8;
uint32 activity_type = 5; // KMOFHMKLGHD uint32 activity_type = 5; // KMOFHMKLGHD
uint32 activity_id = 7; uint32 activity_id = 7;
@ -29,7 +29,7 @@ message ActivityInfo {
bool OEBHLKFBCOG = 696; bool OEBHLKFBCOG = 696;
bool LGKOJCGDGBH = 1736; bool LGKOJCGDGBH = 1736;
uint32 begin_time = 9; uint32 begin_time = 9;
repeated uint32 takenRewardList = 778; repeated uint32 DDBJAKPEPLC = 778;
uint32 first_day_start_time = 1677; uint32 first_day_start_time = 1677;
uint32 cur_score = 1005; uint32 cur_score = 1005;
bool EFJOLIOFLBG = 514; bool EFJOLIOFLBG = 514;

View File

@ -2,14 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: KPDGACKMNJA
message AttackHitEffectResult { message AttackHitEffectResult {
uint32 Unk3300_KLNGDAMMFIF = 3; float hitHaltTime = 14;
float airStrength = 6; float airStrength = 7;
uint32 Unk3300_LCKECJCKKJK = 13; uint32 NCIHLNFLAAF = 10;
float hitHaltTime = 15;
float retreatStrength = 4; float retreatStrength = 4;
float hitHaltTimeScale = 7; float hitHaltTimeScale = 2;
uint32 LDDDDFHEMBA = 3;
} }

View File

@ -22,7 +22,7 @@ message AttackResult {
float GCKKIKJLCKG = 1030; float GCKKIKJLCKG = 1030;
uint32 GFAODFMIIIB = 278; uint32 GFAODFMIIIB = 278;
float AEIPHPGEFAN = 474; float AEIPHPGEFAN = 474;
HitCollision hitCollision = 7; AttackHitEffectResult hit_eff_result = 10;
uint32 IPPPOLACNMI = 13; uint32 IPPPOLACNMI = 13;
bool ANNLKCIDPEC = 1534; bool ANNLKCIDPEC = 1534;
uint32 attacker_id = 2; uint32 attacker_id = 2;
@ -30,7 +30,7 @@ message AttackResult {
bool JKJBOKBIIBI = 196; bool JKJBOKBIIBI = 196;
string anim_event_id = 5; string anim_event_id = 5;
Vector resolved_dir = 15; Vector resolved_dir = 15;
AttackHitEffectResult hitEffResult = 10; HitCollision hit_collision = 7;
uint32 BIHIHLDIPOK = 6; uint32 BIHIHLDIPOK = 6;
uint32 element_type = 4; uint32 element_type = 4;
uint32 OOLJHPBLPDL = 352; uint32 OOLJHPBLPDL = 352;

View File

@ -5,9 +5,9 @@ option java_package = "emu.grasscutter.net.proto";
// Name: LLKMMEJJNNF // Name: LLKMMEJJNNF
message AvatarTeamResonanceInfo { message AvatarTeamResonanceInfo {
repeated uint32 INOIJMMCNEF = 8; repeated uint32 add_team_resonance_id_list = 8; //INOIJMMCNEF
uint32 entity_id = 2; uint32 entity_id = 2;
repeated uint32 MJMEKGPPGIO = 10; repeated uint32 del_team_resonance_id_list = 10; //MJMEKGPPGIO
uint64 avatar_guid = 3; uint64 avatar_guid = 3;
} }

View File

@ -10,7 +10,7 @@ message AvatarUpgradeRsp {
uint32 cur_level = 15; uint32 cur_level = 15;
int32 retcode = 1; int32 retcode = 1;
uint64 avatar_guid = 13; uint64 avatar_guid = 13;
map<uint32, float> oldFightPropMap = 7; map<uint32, float> cur_fight_prop_map = 7; //GEKBLKPMJCG
map<uint32, float> curFightPropMap = 12; map<uint32, float> old_fight_prop_map = 12; //AFEDLAOGFOC
} }

View File

@ -3,7 +3,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: GFDBMHNEOFL
enum ChangeHpReason { enum ChangeHpReason {
CHANGE_HP_REASON_NONE = 0; CHANGE_HP_REASON_NONE = 0;
CHANGE_HP_REASON_SUB_AVATAR = 1; CHANGE_HP_REASON_SUB_AVATAR = 1;

View File

@ -7,13 +7,13 @@ import "ChapterState.proto";
// Name: EGGHDNJDFIM // Name: EGGHDNJDFIM
// CmdId: 427 // CmdId: 427
message ChapterStateNotify { message ChapterStateNotify {
// Name: POAIPEHKEHE // Name: POAIPEHKEHE > NeedPlayerLevel
message NeedPlayerLevel { message NeedPlayerLevel {
bool is_limit = 12; bool is_limit = 12;
uint32 configNeedPlayerLevel = 11; uint32 configNeedPlayerLevel = 11;
} }
// Name: OKNHDJOIJFI // Name: OKNHDJOIJFI > NeedBeginTime
message NeedBeginTime { message NeedBeginTime {
bool is_limit = 10; bool is_limit = 10;
uint32 configNeedBeginTime = 3; uint32 configNeedBeginTime = 3;

View File

@ -7,8 +7,8 @@ import "DungeonEntryInfo.proto";
// Name: ILBGCAPNDLF // Name: ILBGCAPNDLF
message DailyDungeonEntryInfo { message DailyDungeonEntryInfo {
uint32 recommend_dungeon_id = 3; uint32 recommend_dungeon_id = 3;
uint32 dungeonEntryId = 1; uint32 dungeon_entry_config_id = 1; //GGGEMNHNCNJ
uint32 dungeonEntryConfigId = 14; uint32 dungeon_entry_id = 14; //MNDEGGLANGF
DungeonEntryInfo recommend_dungeon_entry_info = 7; DungeonEntryInfo recommend_dungeon_entry_info = 7;
} }

View File

@ -8,10 +8,10 @@ import "WeeklyBossResinDiscountInfo.proto";
message DungeonEntryInfo { message DungeonEntryInfo {
uint32 start_time = 4; uint32 start_time = 4;
uint32 next_refresh_time = 2; uint32 next_refresh_time = 2;
uint32 HFEFHDCOMLB = 12; uint32 max_boss_chest_num = 12; //HFEFHDCOMLB
uint32 EIMBMLKPONH = 7; uint32 EIMBMLKPONH = 7; //not used
bool is_passed = 15; bool is_passed = 15;
uint32 JPBJFFCFINC = 6; uint32 JPBJFFCFINC = 6; //not used
WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 10; WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 10;
uint32 dungeon_id = 11; uint32 dungeon_id = 11;
uint32 end_time = 9; uint32 end_time = 9;

View File

@ -15,7 +15,7 @@ message DungeonSettleNotify {
uint32 close_time = 11; uint32 close_time = 11;
uint32 createPlayerUid = 10; uint32 createPlayerUid = 10;
repeated uint32 fail_cond_list = 3; repeated uint32 fail_cond_list = 3;
map<uint32, ParamList> settleShow = 6; map<uint32, ParamList> settleShow = 14;
map<uint32, StrengthenPointData> strengthen_point_data_map = 9; map<uint32, StrengthenPointData> strengthen_point_data_map = 9;
bool is_success = 15; bool is_success = 15;
uint32 result = 12; uint32 result = 12;

View File

@ -6,6 +6,6 @@ import "FurnitureMakeData.proto";
// Name: DIIKFAIPKGG // Name: DIIKFAIPKGG
message FurnitureMakeSlot { message FurnitureMakeSlot {
repeated FurnitureMakeData furnitureMakeDataList = 1; repeated FurnitureMakeData furniture_make_data_list = 1;
} }

View File

@ -9,8 +9,8 @@ import "ItemParam.proto";
message GachaItem { message GachaItem {
repeated ItemParam token_item_list = 13; repeated ItemParam token_item_list = 13;
ItemParam gacha_item = 15; ItemParam gacha_item = 15;
bool isGachaItemNew = 4; bool is_flash_card = 4; //ECDEIIANGJN
repeated GachaTransferItem transfer_items = 7; repeated GachaTransferItem transfer_items = 7;
bool isFlashCard = 10; bool is_gacha_item_new = 10; //HFDPDGIDDLB
} }

View File

@ -6,8 +6,8 @@ option java_package = "emu.grasscutter.net.proto";
// Name: HEEOPFJGOKN // Name: HEEOPFJGOKN
// CmdId: 1514 // CmdId: 1514
message GachaWishReq { message GachaWishReq {
uint32 gachaScheduleId = 9; uint32 gachaScheduleId = 9; //NMKGGDOKHLF
uint32 item_id = 11; uint32 item_id = 11;
uint32 gachaType = 5; uint32 gachaType = 5; //DGIFMDIADJF
} }

View File

@ -10,12 +10,12 @@ message GetScenePointRsp {
repeated uint32 toBeExploreDungeonEntryList = 13; //FKDLJELPPOJ repeated uint32 toBeExploreDungeonEntryList = 13; //FKDLJELPPOJ
int32 retcode = 2; int32 retcode = 2;
repeated uint32 hide_point_list = 12; repeated uint32 hide_point_list = 12;
repeated uint32 unhide_point_list = 7; //LLLIACPHNEH repeated uint32 locked_point_list = 7; //LLLIACPHNEH
uint32 belong_uid = 8; uint32 belong_uid = 8;
repeated uint32 unlockAreaList = 11; //KBGDANIJLFK repeated uint32 notExploredDungeonEntryList = 11; //KBGDANIJLFK
repeated uint32 notExploredDungeonEntryList = 14; //LEAMLBEEBMN repeated uint32 unlockAreaList = 14; //LEAMLBEEBMN
bool PGBKOMBKBKG = 5; // new field bool PGBKOMBKBKG = 5; // new field
repeated uint32 locked_point_list = 10; //JOMDNANCHND repeated uint32 unhide_point_list = 10; //JOMDNANCHND
repeated uint32 groupUnlimitPointList = 15; //HJLALADBFAC repeated uint32 groupUnlimitPointList = 15; //HJLALADBFAC
uint32 scene_id = 6; uint32 scene_id = 6;
repeated uint32 unlocked_point_list = 4; repeated uint32 unlocked_point_list = 4;

View File

@ -5,11 +5,14 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
import "HitColliderType.proto"; import "HitColliderType.proto";
// Name: CPAKHCFDGLO
message HitCollision { message HitCollision {
float attackeeHitForceAngle = 7; float attackeeHitForceAngle = 7;
Vector hitDir = 5; Vector hit_point = 5;
float attackeeHitEntityAngle = 9; float attackeeHitEntityAngle = 9;
int32 hit_box_index = 2; int32 hit_box_index = 2;
Vector hitPoint = 4; Vector hit_dir = 4;
HitColliderType hit_collider_type = 8; HitColliderType hit_collider_type = 8;
} }

View File

@ -8,11 +8,11 @@ import "HomeLimitedShopInfo.proto";
message HomeBasicInfo { message HomeBasicInfo {
uint32 level = 14; uint32 level = 14;
uint64 exp = 8; uint64 exp = 8;
uint32 curRoomSceneId = 3; uint32 cur_module_id = 3; //FBNCMGADPOF
string owner_nick_name = 7; string owner_nick_name = 7;
uint32 curModuleId = 2; uint32 cur_room_scene_id = 2; //PGOLLEEPPFI
HomeLimitedShopInfo limited_shop_info = 5; HomeLimitedShopInfo limited_shop_info = 5;
uint32 homeOwnerUid = 6; uint32 home_owner_uid = 6; //PGOONNIGDEH
bool is_in_edit_mode = 9; bool is_in_edit_mode = 9;
} }

View File

@ -8,9 +8,8 @@ import "Vector.proto";
message HomeLimitedShopInfo { message HomeLimitedShopInfo {
uint32 nextGuestOpenTime = 12; uint32 nextGuestOpenTime = 12;
uint32 nextOpenTime = 11; uint32 nextOpenTime = 11;
Vector djinnPos = 1; Vector djinn_pos = 1; //CKJKPEEKOGG
uint32 nextCloseTime = 6; uint32 nextCloseTime = 6;
uint32 uid = 14; uint32 uid = 14;
Vector djinnRot = 9; Vector djinn_rot = 9; //GMPJFCODOLK
} }

View File

@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: FHCMHOPJELB
message HomeResource { message HomeResource {
uint32 storeLimit = 14; uint32 next_refresh_time = 1;
uint32 storeValue = 3; uint32 store_limit = 14; //MEKKKFKHOPD
uint32 nextRefreshTime = 1; uint32 store_value = 3; //JECDNACMJKP
} }

View File

@ -7,7 +7,6 @@ import "HomeResource.proto";
// Name: PEPNHFLKBLG // Name: PEPNHFLKBLG
// CmdId: 4753 // CmdId: 4753
message HomeResourceNotify { message HomeResourceNotify {
HomeResource homeCoin = 5; HomeResource fetter_exp = 5; //DPCGMOMFNCD
HomeResource fetterExp = 14; HomeResource home_coin = 14; //ONMIIOIPGAI
} }

View File

@ -8,6 +8,6 @@ import "HomeResource.proto";
// CmdId: 4808 // CmdId: 4808
message HomeResourceTakeFetterExpRsp { message HomeResourceTakeFetterExpRsp {
int32 retcode = 2; int32 retcode = 2;
HomeResource fetterExp = 9; HomeResource fetter_exp = 9;
} }

View File

@ -8,6 +8,6 @@ import "HomeResource.proto";
// CmdId: 4554 // CmdId: 4554
message HomeResourceTakeHomeCoinRsp { message HomeResourceTakeHomeCoinRsp {
int32 retcode = 3; int32 retcode = 3;
HomeResource homeCoin = 9; HomeResource home_coin = 9;
} }

View File

@ -15,7 +15,7 @@ message InvestigationMonster {
uint32 max_boss_chest_num = 13; //HFEFHDCOMLB uint32 max_boss_chest_num = 13; //HFEFHDCOMLB
bool is_area_locked = 14; // MFGIMDGKDHH bool is_area_locked = 14; // MFGIMDGKDHH
uint32 NKADJMFOMGB = 3; uint32 refresh_interval = 3; //NKADJMFOMGB
bool is_alive = 11; // ABCENJAFGOF bool is_alive = 11; // ABCENJAFGOF
WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 9; WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 9;
uint32 next_refresh_time = 8; uint32 next_refresh_time = 8;
@ -24,7 +24,7 @@ message InvestigationMonster {
uint32 scene_id = 7; uint32 scene_id = 7;
uint32 level = 5; uint32 level = 5;
LockState lock_state = 10; LockState lock_state = 10;
uint32 refresh_interval = 4; // JPBJFFCFINC uint32 JPBJFFCFINC = 4; // JPBJFFCFINC
uint32 resin = 15; uint32 resin = 15;
uint32 monster_id = 308; uint32 monster_id = 308;
uint32 boss_chest_num = 1; // HDIBPIICNBB uint32 boss_chest_num = 1; // HDIBPIICNBB

View File

@ -1,10 +1,12 @@
syntax = "proto3"; syntax = "proto3";
import "AbilityString.proto";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityString.proto";
// Name: HBMJGKJKIGL
message ModifierProperty { message ModifierProperty {
AbilityString key = 8;
float value = 9; float value = 9;
AbilityString key = 8;
} }

View File

@ -11,7 +11,6 @@ message PersonalLineAllDataRsp {
uint32 cur_finished_daily_task_count = 2; uint32 cur_finished_daily_task_count = 2;
uint32 legendary_key_count = 7; uint32 legendary_key_count = 7;
int32 retcode = 14; int32 retcode = 14;
repeated uint32 ongoingPersonalLineList = 12; repeated uint32 can_be_unlocked_personal_line_list = 12; // LFBFDPFCOGN
repeated uint32 canBeUnlockedPersonalLineList = 6; repeated uint32 ongoing_personal_line_list = 6; // NEBDFELPDCO
} }

View File

@ -7,7 +7,7 @@ option java_package = "emu.grasscutter.net.proto";
// CmdId: 4984 // CmdId: 4984
message PullPrivateChatReq { message PullPrivateChatReq {
uint32 target_uid = 9; uint32 target_uid = 9;
uint32 JBKDCKFOAGH = 11; uint32 pull_num = 11;
uint32 JJDCBKLFOGK = 7; uint32 from_sequence = 7;
} }

View File

@ -6,7 +6,7 @@ option java_package = "emu.grasscutter.net.proto";
// Name: MNJBPJGKHLJ // Name: MNJBPJGKHLJ
// CmdId: 5032 // CmdId: 5032
message PullRecentChatReq { message PullRecentChatReq {
uint32 GODLNLIJKDE = 15; uint32 begin_sequence = 15; //GODLNLIJKDE
uint32 JBKDCKFOAGH = 8; uint32 pull_num = 8; //JBKDCKFOAGH
} }

View File

@ -6,8 +6,7 @@ option java_package = "emu.grasscutter.net.proto";
// Name: APPHCCAKOKB // Name: APPHCCAKOKB
// CmdId: 466 // CmdId: 466
message QuestProgressUpdateNotify { message QuestProgressUpdateNotify {
repeated uint32 failProgressList = 7; repeated uint32 finish_progress_list = 7; //DOFGANFLADG
repeated uint32 finishProgressList = 2; repeated uint32 fail_progress_list = 2; //NAJLNEMFEGA
uint32 quest_id = 3; uint32 quest_id = 3;
} }

View File

@ -0,0 +1,19 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "SeaLampSectionInfo.proto";
// Name: FPJLKJADJAC
message SeaLampActivityInfo {
repeated SeaLampSectionInfo section_info_list = 8;
uint32 sea_lamp_coin = 9;
uint32 mechanicus_id = 11;
bool IAIGGMMDBIH = 7;
uint32 day_index = 6;
bool is_content_closed = 15;
uint32 popularity = 13;
bool KHJFGGCODAG = 14;
uint32 first_day_start_time = 4;
}

View File

@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Name: KKEHCHJODDD
message SeaLampSectionInfo {
uint32 section_id = 14;
}

View File

@ -2,20 +2,20 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ShopMcoinProduct.proto";
import "ShopCardProduct.proto";
import "ShopConcertProduct.proto"; import "ShopConcertProduct.proto";
import "ShopCardProduct.proto";
import "ShopMcoinProduct.proto";
import "ShopGoods.proto"; import "ShopGoods.proto";
// Name: HNDMELNBJGE // Name: HNDMELNBJGE
message Shop { message Shop {
uint32 city_reputation_level = 11; uint32 city_reputation_level = 11;
uint32 city_id = 4; uint32 city_id = 4;
repeated ShopMcoinProduct mcoin_product_list = 1; repeated ShopConcertProduct concert_product_list = 1;
uint32 next_refresh_time = 10; uint32 next_refresh_time = 10;
repeated ShopGoods goods_list = 8; repeated ShopGoods goods_list = 8;
repeated ShopConcertProduct concert_product_list = 7; repeated ShopMcoinProduct mcoin_product_list = 7;
uint32 shop_type = 9; uint32 shop_type = 9;
repeated ShopCardProduct card_product_list = 12; repeated ShopCardProduct card_product_list = 12; // FPPKBMBBHOD
} }

View File

@ -2,24 +2,25 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto"; import "ItemParam.proto";
// Name: FINEJDCEECI
message ShopCardProduct { message ShopCardProduct {
// Name: KPKPFMLBAOL
message ResinCard { message ResinCard {
repeated ItemParam baseItemList = 1; repeated ItemParam base_item_list = 1; // GFLEMFDCFIM
repeated ItemParam perDayItemList = 2; repeated ItemParam per_day_item_list = 2; // HBANPLNDOJA
} }
string productId = 1; string product_id = 1;
string priceTier = 2; string price_tier = 2;
uint32 mcoinBase = 3; uint32 mcoin_base = 3;
uint32 hcoinPerDay = 4; uint32 hcoin_per_day = 4;
uint32 days = 5; uint32 days = 5;
uint32 remainRewardDays = 6; uint32 remain_reward_days = 6;
uint32 cardProductType = 7; uint32 card_product_type = 7;
oneof extra_card_data { oneof extra_card_data {
ResinCard resin_card = 101; ResinCard resin_card = 101;
} }
} }

View File

@ -3,14 +3,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: FIMJMLPLPAC
message ShopConcertProduct { message ShopConcertProduct {
string productId = 1; string product_id = 1;
string priceTier = 2; string price_tier = 2;
uint32 obtainCount = 3; uint32 obtain_count = 3;
uint32 obtainLimit = 4; uint32 obtain_limit = 4;
uint32 beginTime = 5; uint32 begin_time = 5;
uint32 endTime = 6; uint32 end_time = 6;
uint32 buyTimes = 7; uint32 buy_times = 7;
} }

View File

@ -6,25 +6,25 @@ import "ItemParam.proto";
// Name: EFLDHGLFIDD // Name: EFLDHGLFIDD
message ShopGoods { message ShopGoods {
uint32 disableType = 7; // OCIGJMBPIMN uint32 min_level = 7; //OCIGJMBPIMN
uint32 JAFFFHILNCD = 1817; uint32 JAFFFHILNCD = 1817;
ItemParam goods_item = 8; ItemParam goods_item = 8;
uint32 end_time = 12; uint32 end_time = 12; //ok
uint32 hcoin = 14; //JPCBEPKDBGA uint32 scoin = 14; //JPCBEPKDBGA
repeated uint32 pre_goods_id_list = 3; repeated uint32 pre_goods_id_list = 3; //ok
uint32 ALOPKNFLFBE = 570; uint32 secondarySheetId = 570; // ALOPKNFLFBE ???
uint32 boughtNum = 4; //KCHMFBKCLKO uint32 boughtNum = 4; //KCHMFBKCLKO ???
uint32 goodsId = 9; //GOMAIIJPDKD uint32 goods_id = 9; //GOMAIIJPDKD
uint32 HBAEGHNDCKB = 11; // HBAEGHNDCKB uint32 max_level = 11; //HBAEGHNDCKB
uint32 secondarySheetId = 505; //KKINAOMJKAD uint32 disableType = 505;
uint32 maxLevel = 6; // FGACANHEBMH uint32 buy_limit = 6; //FGACANHEBMH
uint32 begin_time = 5; uint32 begin_time = 5; //ok
uint32 next_refresh_time = 10; uint32 next_refresh_time = 10; //ok
repeated ItemParam cost_item_list = 1; repeated ItemParam cost_item_list = 1; //ok
uint32 minLevel = 1467; //LMOPLEOOIJM uint32 LMOPLEOOIJM = 1467;
uint32 LLJPJOEMPFE = 15; // LLJPJOEMPFE, hcoin=coin wrong uint32 LLJPJOEMPFE = 15;
uint32 mcoin = 2; // MIBMBPJHBBM // fix uint32 hcoin = 2; //MIBMBPJHBBM
uint32 buyLimit = 1344; // LLCOFLCEKDB uint32 LLCOFLCEKDB = 1344;
uint32 scoin = 13; //CABPCJFGBLJ // fix uint32 mcoin = 13; //CABPCJFGBLJ
} }

View File

@ -3,14 +3,14 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: LIJKGGFCHOB
message ShopMcoinProduct { message ShopMcoinProduct {
string productId = 1; string product_id = 1;
string priceTier = 2; string price_tier = 2;
uint32 mcoinBase = 3; uint32 mcoin_base = 3;
uint32 mcoinNonFirst = 4; uint32 mcoin_non_first = 4;
uint32 mcoinFirst = 5; uint32 mcoin_first = 5;
uint32 boughtNum = 6; uint32 bought_num = 6;
bool isAudit = 7; bool is_audit = 7;
} }

View File

@ -2,8 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: MJMGAGMFAOO
// CmdId: 196
message SkipPlayerGameTimeReq { message SkipPlayerGameTimeReq {
bool isForceSet = 3; uint32 game_time = 14;
uint32 clientGameTime = 1; uint32 client_game_time = 7;
uint32 gameTime = 15; bool is_force_set = 11;
} }

View File

@ -2,8 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: BHNBOAEFEGL
// CmdId: 163
message SkipPlayerGameTimeRsp { message SkipPlayerGameTimeRsp {
uint32 clientGameTime = 14; uint32 client_game_time = 9;
uint32 gameTime = 15; uint32 game_time = 2;
int32 retcode = 12; int32 retcode = 7;
} }

View File

@ -9,22 +9,22 @@ import "TowerFloorRecord.proto";
// Name: NFDBAJIDFBG // Name: NFDBAJIDFBG
// CmdId: 2465 // CmdId: 2465
message TowerAllDataRsp { message TowerAllDataRsp {
map<uint32, uint32> skipFloorGrantedRewardItemMap = 6; map<uint32, uint32> floor_open_time_map = 6; //BPOEDICFILA
TowerMonthlyBrief monthlyBrief = 2; TowerMonthlyBrief last_schedule_monthly_brief = 2; //GPCJOCOKPCL
uint32 nextScheduleChangeTime = 11; // BAJALPKLOHN uint32 BAJALPKLOHN = 11; //not used
uint32 OGLKMJOBNAK = 3; // OGLKMJOBNAK uint32 OGLKMJOBNAK = 3; //not used
int32 retcode = 9; int32 retcode = 9;
uint32 scheduleStartTime = 15; //CKCFIIGKHMJ uint32 CKCFIIGKHMJ = 15; //not used
bool is_first_interact = 14; bool is_first_interact = 14;
uint32 EJMAMALGICG = 12; // EJMAMALGICG uint32 EJMAMALGICG = 12;
uint32 IOOHBFIGKHH = 13; uint32 tower_schedule_id = 13; //IOOHBFIGKHH
map<uint32, uint32> floorOpenTimeMap = 10; map<uint32, uint32> AHFICLOPFLC = 10; //AHFICLOPFLC
repeated TowerFloorRecord tower_floor_record_list = 1; repeated TowerFloorRecord tower_floor_record_list = 1;
bool is_finished_entrance_floor = 4; bool is_finished_entrance_floor = 4;
uint32 CFEHKIFIKFB = 7; uint32 next_schedule_change_time = 7; //CFEHKIFIKFB
uint32 AMFOBDDCIHK = 1758; uint32 schedule_start_time = 1758; //AMFOBDDCIHK
TowerMonthlyBrief lastScheduleMonthlyBrief = 622; TowerMonthlyBrief monthly_brief = 622; //HCLHNDJDAPC
uint32 towerScheduleId = 8; uint32 AKANNMFELNA = 8; ////not used
TowerCurLevelRecord cur_level_record = 5; TowerCurLevelRecord cur_level_record = 5;
} }

View File

@ -3,11 +3,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
// Name: TowerMonthlyBrief
message TowerMonthlyBrief { message TowerMonthlyBrief {
uint32 bestLevelIndex = 11; uint32 tower_schedule_id = 11; //IOOHBFIGKHH
uint32 towerScheduleId = 7; uint32 total_star_count = 12; //BNODKLKHBPA
uint32 totalStarCount = 14; uint32 best_level_index = 14; //JILIANEOBAP
uint32 bestFloorIndex = 8; uint32 best_floor_index = 10; //GIMMDPJPPNH
} }

View File

@ -6,21 +6,21 @@ option java_package = "emu.grasscutter.net.proto";
// Name: FINJPJBDGIK // Name: FINJPJBDGIK
message TrialAvatarGrantRecord { message TrialAvatarGrantRecord {
// Name: FJBKKFJNBHD // Name: FJBKKFJNBHD
enum FJBKKFJNBHD { enum GrantReason {
FJBKKFJNBHD_MLBFMJIBJEP = 0; GRANT_REASON_INVALID = 0;
FJBKKFJNBHD_NDIBKKFOJKH = 1; GRANT_REASON_BY_QUEST = 1;
FJBKKFJNBHD_CBHCDCFMGJC = 2; GRANT_REASON_BY_TRIAL_AVATAR_ACTIVITY = 2;
FJBKKFJNBHD_CJONEJKHGGD = 3; GRANT_REASON_BY_DUNGEON_ELEMENT_CHALLENGE = 3;
FJBKKFJNBHD_LKFLHJBKDAL = 4; GRANT_REASON_BY_MIST_TRIAL_ACTIVITY = 4;
FJBKKFJNBHD_KEDGKBAANHA = 5; GRANT_REASON_BY_SUMO_ACTIVITY = 5;
FJBKKFJNBHD_NGEADLFHLPL = 6; GRANT_REASON_BY_POTION_ACTIVITY = 6;
FJBKKFJNBHD_HGIMGKGCPFP = 7; GRANT_REASON_BY_CRYSTAL_LINK_ACTIVITY = 7;
FJBKKFJNBHD_IENCKFHOCGO = 8; GRANT_REASON_BY_IRODORI_MASTER = 8;
FJBKKFJNBHD_JGNOOBCCHGL = 9; GRANT_REASON_BY_GM = 9;
FJBKKFJNBHD_KBOHKIPDMAB = 10; GRANT_REASON_BY_INSTABLE_SPRAY_ACTIVITY = 10;
FJBKKFJNBHD_DKCNBCHPJOA = 11; GRANT_REASON_BY_MUQADAS_POTION_ACTIVITY = 11;
FJBKKFJNBHD_FKMOBKNNLLK = 12; GRANT_REASON_BY_VINTAGE_HUNTING = 12;
FJBKKFJNBHD_ENDFNEMHAKM = 13; GRANT_REASON_BY_CHAR_AMUSEMENT = 13;
FJBKKFJNBHD_HMLDNDBKNFL = 14; FJBKKFJNBHD_HMLDNDBKNFL = 14;
FJBKKFJNBHD_PJDEJIHFCPP = 15; FJBKKFJNBHD_PJDEJIHFCPP = 15;
} }

View File

@ -7,8 +7,8 @@ import "DailyTaskInfo.proto";
// Name: IHPCDCEIDJD // Name: IHPCDCEIDJD
// CmdId: 130 // CmdId: 130
message WorldOwnerDailyTaskNotify { message WorldOwnerDailyTaskNotify {
uint32 finishedDailyTaskNum = 10; uint32 finished_daily_task_num = 10;
uint32 filterCityId = 8; uint32 filter_city_id = 8;
repeated DailyTaskInfo task_list = 6; repeated DailyTaskInfo task_list = 6;
} }