diff --git a/proto/AccountType.proto b/proto/AccountType.proto new file mode 100644 index 00000000..82a06df3 --- /dev/null +++ b/proto/AccountType.proto @@ -0,0 +1,40 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum AccountType { + ACCOUNT_TYPE_MIHOYO_GUEST = 0; + ACCOUNT_TYPE_MIHOYO = 1; + ACCOUNT_TYPE_XIAOMI = 11; + ACCOUNT_TYPE_COOLPAD = 12; + ACCOUNT_TYPE_YYB = 13; + ACCOUNT_TYPE_BILI = 14; + ACCOUNT_TYPE_HUAWEI = 15; + ACCOUNT_TYPE_MEIZU = 16; + ACCOUNT_TYPE_360 = 17; + ACCOUNT_TYPE_OPPO = 18; + ACCOUNT_TYPE_VIVO = 19; + ACCOUNT_TYPE_UC = 20; + ACCOUNT_TYPE_WANDOJIA = 21; + ACCOUNT_TYPE_LENOVO = 22; + ACCOUNT_TYPE_JINLI = 23; + ACCOUNT_TYPE_BAIDU = 25; + ACCOUNT_TYPE_DANGLE = 26; +} diff --git a/proto/ActionReasonType.proto b/proto/ActionReasonType.proto index 88304a44..fa1cd6f9 100644 --- a/proto/ActionReasonType.proto +++ b/proto/ActionReasonType.proto @@ -1,212 +1,269 @@ // 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 . + syntax = "proto3"; option java_package = "emu.grasscutter.net.proto"; enum ActionReasonType { - ACTION_REASON_NONE = 0; - ACTION_REASON_QUEST_ITEM = 1; - ACTION_REASON_QUEST_REWARD = 2; - ACTION_REASON_TRIFLE = 3; - ACTION_REASON_SHOP = 4; - ACTION_REASON_PLAYER_UPGRADE_REWARD = 5; - ACTION_REASON_ADD_AVATAR = 6; - ACTION_REASON_GADGET_ENV_ANIMAL = 7; - ACTION_REASON_MONSTER_ENV_ANIMAL = 8; - ACTION_REASON_COMPOUND = 9; - ACTION_REASON_COOK = 10; - ACTION_REASON_GATHER = 11; - ACTION_REASON_MAIL_ATTACHMENT = 12; - ACTION_REASON_CITY_LEVELUP_RETURN = 15; - ACTION_REASON_CITY_LEVELUP_REWARD = 17; - ACTION_REASON_AREA_EXPLORE_REWARD = 18; - ACTION_REASON_UNLOCK_POINT_REWARD = 19; - ACTION_REASON_DUNGEON_FIRST_PASS = 20; - ACTION_REASON_DUNGEON_PASS = 21; - ACTION_REASON_CHANGE_ELEM_TYPE = 23; - ACTION_REASON_FETTER_OPEN = 25; - ACTION_REASON_DAILY_TASK_SCORE = 26; - ACTION_REASON_DAILY_TASK_HOST = 27; - ACTION_REASON_RAND_TASK_HOST = 28; - ACTION_REASON_EXPEDITION = 29; - ACTION_REASON_GACHA = 30; - ACTION_REASON_COMBINE = 31; - ACTION_REASON_RAND_TASK_GUEST = 32; - ACTION_REASON_DAILY_TASK_GUEST = 33; - ACTION_REASON_FORGE_OUTPUT = 34; - ACTION_REASON_FORGE_RETURN = 35; - ACTION_REASON_INIT_AVATAR = 36; - ACTION_REASON_MONSTER_DIE = 37; - ACTION_REASON_GM = 38; - ACTION_REASON_OPEN_CHEST = 39; - ACTION_REASON_GADGET_DIE = 40; - ACTION_REASON_MONSTER_CHANGE_HP = 41; - ACTION_REASON_SUBFIELD_DROP = 42; - ACTION_REASON_PUSH_TIPS_REWARD = 43; - ACTION_REASON_ACTIVITY_MONSTER_DROP = 44; - ACTION_REASON_ACTIVITY_GATHER = 45; - ACTION_REASON_ACTIVITY_SUBFIELD_DROP = 46; - ACTION_REASON_TOWER_SCHEDULE_REWARD = 47; - ACTION_REASON_TOWER_FLOOR_STAR_REWARD = 48; - ACTION_REASON_TOWER_FIRST_PASS_REWARD = 49; - ACTION_REASON_TOWER_DAILY_REWARD = 50; - ACTION_REASON_HIT_CLIENT_TRIVIAL_ENTITY = 51; - ACTION_REASON_OPEN_WORLD_BOSS_CHEST = 52; - ACTION_REASON_MATERIAL_DELETE_RETURN = 53; - ACTION_REASON_SIGN_IN_REWARD = 54; - ACTION_REASON_OPEN_BLOSSOM_CHEST = 55; - ACTION_REASON_RECHARGE = 56; - ACTION_REASON_BONUS_ACTIVITY_REWARD = 57; - ACTION_REASON_TOWER_COMMEMORATIVE_REWARD = 58; - ACTION_REASON_TOWER_SKIP_FLOOR_REWARD = 59; - ACTION_REASON_RECHARGE_BONUS = 60; - ACTION_REASON_RECHARGE_CARD = 61; - ACTION_REASON_RECHARGE_CARD_DAILY = 62; - ACTION_REASON_RECHARGE_CARD_REPLACE = 63; - ACTION_REASON_RECHARGE_CARD_REPLACE_FREE = 64; - ACTION_REASON_RECHARGE_PLAY_REPLACE = 65; - ACTION_REASON_MP_PLAY_TAKE_REWARD = 66; - ACTION_REASON_ACTIVITY_WATCHER = 67; - ACTION_REASON_SALESMAN_DELIVER_ITEM = 68; - ACTION_REASON_SALESMAN_REWARD = 69; - ACTION_REASON_REBATE = 70; - ACTION_REASON_MCOIN_EXCHANGE_HCOIN = 71; - ACTION_REASON_DAILY_TASK_EXCHANGE_LEGENDARY_KEY = 72; - ACTION_REASON_UNLOCK_PERSON_LINE = 73; - ACTION_REASON_FETTER_LEVEL_REWARD = 74; - ACTION_REASON_BUY_RESIN = 75; - ACTION_REASON_RECHARGE_PACKAGE = 76; - ACTION_REASON_DELIVERY_DAILY_REWARD = 77; - ACTION_REASON_CITY_REPUTATION_LEVEL = 78; - ACTION_REASON_CITY_REPUTATION_QUEST = 79; - ACTION_REASON_CITY_REPUTATION_REQUEST = 80; - ACTION_REASON_CITY_REPUTATION_EXPLORE = 81; - ACTION_REASON_OFFERGING_LEVEL = 82; - ACTION_REASON_ROUTINE_HOST = 83; - ACTION_REASON_ROUTINE_GUEST = 84; - ACTION_REASON_TREASURE_MAP_SPOT_TOKEN = 89; - ACTION_REASON_TREASURE_MAP_BONUS_LEVEL_REWARD = 90; - ACTION_REASON_TREASURE_MAP_MP_REWARD = 91; - ACTION_REASON_CONVERT = 92; - ACTION_REASON_OVERFLOW_TRANSFORM = 93; - ACTION_REASON_ACTIVITY_AVATAR_SELECTION_REWARD = 96; - ACTION_REASON_ACTIVITY_WATCHER_BATCH = 97; - ACTION_REASON_HIT_TREE_DROP = 98; - ACTION_REASON_GET_HOME_LEVELUP_REWARD = 99; - ACTION_REASON_HOME_DEFAULT_FURNITURE = 100; - ACTION_REASON_ACTIVITY_COND = 101; - ACTION_REASON_BATTLE_PASS_NOTIFY = 102; - ACTION_REASON_RELIQUARY_DECOMPOSE = 103; - ACTION_REASON_RECHARGE_GOOGLE_GIFT_GARD = 104; - ACTION_REASON_RECHARGE_CONCERT_PRODUCT = 105; - ACTION_REASON_RECHARGE_CONCERT_PRODUCT_REPLACE = 106; - ACTION_REASON_SEND_CONCERT_PRODUCT_BY_MUIP = 107; - ACTION_REASON_RECHARGE_APPLE_GIFT_GARD = 108; - ACTION_REASON_PLAYER_USE_ITEM = 1001; - ACTION_REASON_DROP_ITEM = 1002; - ACTION_REASON_WEAPON_UPGRADE = 1011; - ACTION_REASON_WEAPON_PROMOTE = 1012; - ACTION_REASON_WEAPON_AWAKEN = 1013; - ACTION_REASON_RELIC_UPGRADE = 1014; - ACTION_REASON_ABILITY = 1015; - ACTION_REASON_DUNGEON_STATUE_DROP = 1016; - ACTION_REASON_OFFLINE_MSG = 1017; - ACTION_REASON_AVATAR_UPGRADE = 1018; - ACTION_REASON_AVATAR_PROMOTE = 1019; - ACTION_REASON_QUEST_ACTION = 1021; - ACTION_REASON_CITY_LEVELUP = 1022; - ACTION_REASON_UPGRADE_SKILL = 1024; - ACTION_REASON_UNLOCK_TALENT = 1025; - ACTION_REASON_UPGRADE_PROUD_SKILL = 1026; - ACTION_REASON_PLAYER_LEVEL_LIMIT_UP = 1027; - ACTION_REASON_DUNGEON_DAILY = 1028; - ACTION_REASON_ITEM_GIVING = 1030; - ACTION_REASON_FORGE_COST = 1031; - ACTION_REASON_INVESTIGATION_REWARD = 1032; - ACTION_REASON_INVESTIGATION_TARGET_REWARD = 1033; - ACTION_REASON_GADGET_INTERACT = 1034; - ACTION_REASON_SEA_LAMP_CI_MATERIAL = 1036; - ACTION_REASON_SEA_LAMP_CONTRIBUTION_REWARD = 1037; - ACTION_REASON_SEA_LAMP_PHASE_REWARD = 1038; - ACTION_REASON_SEA_LAMP_FLY_LAMP = 1039; - ACTION_REASON_AUTO_RECOVER = 1040; - ACTION_REASON_ACTIVITY_EXPIRE_ITEM = 1041; - ACTION_REASON_SUB_COIN_NEGATIVE = 1042; - ACTION_REASON_BARGAIN_DEDUCT = 1043; - ACTION_REASON_BATTLE_PASS_PAID_REWARD = 1044; - ACTION_REASON_BATTLE_PASS_LEVEL_REWARD = 1045; - ACTION_REASON_TRIAL_AVATAR_ACTIVITY_FIRST_PASS_REWARD = 1046; - ACTION_REASON_BUY_BATTLE_PASS_LEVEL = 1047; - ACTION_REASON_GRANT_BIRTHDAY_BENEFIT = 1048; - ACTION_REASON_ACHIEVEMENT_REWARD = 1049; - ACTION_REASON_ACHIEVEMENT_GOAL_REWARD = 1050; - ACTION_REASON_FIRST_SHARE_TO_SOCIAL_NETWORK = 1051; - ACTION_REASON_DESTROY_MATERIAL = 1052; - ACTION_REASON_CODEX_LEVELUP_REWARD = 1053; - ACTION_REASON_HUNTING_OFFER_REWARD = 1054; - ACTION_REASON_USE_WIDGET_ANCHOR_POINT = 1055; - ACTION_REASON_USE_WIDGET_BONFIRE = 1056; - ACTION_REASON_UNGRADE_WEAPON_RETURN_MATERIAL = 1057; - ACTION_REASON_USE_WIDGET_ONEOFF_GATHER_POINT_DETECTOR = 1058; - ACTION_REASON_USE_WIDGET_CLIENT_COLLECTOR = 1059; - ACTION_REASON_USE_WIDGET_CLIENT_DETECTOR = 1060; - ACTION_REASON_TAKE_GENERAL_REWARD = 1061; - ACTION_REASON_ASTER_TAKE_SPECIAL_REWARD = 1062; - ACTION_REASON_REMOVE_CODEX_BOOK = 1063; - ACTION_REASON_OFFERING_ITEM = 1064; - ACTION_REASON_USE_WIDGET_GADGET_BUILDER = 1065; - ACTION_REASON_EFFIGY_FIRST_PASS_REWARD = 1066; - ACTION_REASON_EFFIGY_REWARD = 1067; - ACTION_REASON_REUNION_FIRST_GIFT_REWARD = 1068; - ACTION_REASON_REUNION_SIGN_IN_REWARD = 1069; - ACTION_REASON_REUNION_WATCHER_REWARD = 1070; - ACTION_REASON_SALESMAN_MP_REWARD = 1071; - ACTION_REASION_AVATAR_PROMOTE_REWARD = 1072; - ACTION_REASON_BLESSING_REDEEM_REWARD = 1073; - ACTION_MIRACLE_RING_REWARD = 1074; - ACTION_REASON_EXPEDITION_REWARD = 1075; - ACTION_REASON_TREASURE_MAP_REMOVE_DETECTOR = 1076; - ACTION_REASON_MECHANICUS_DUNGEON_TICKET = 1077; - ACTION_REASON_MECHANICUS_LEVELUP_GEAR = 1078; - ACTION_REASON_MECHANICUS_BATTLE_SETTLE = 1079; - ACTION_REASON_REGION_SEARCH_REWARD = 1080; - ACTION_REASON_UNLOCK_COOP_CHAPTER = 1081; - ACTION_REASON_TAKE_COOP_REWARD = 1082; - ACTION_REASON_FLEUR_FAIR_DUNGEON_REWARD = 1083; - ACTION_REASON_ACTIVITY_SCORE = 1084; - ACTION_REASON_CHANNELLER_SLAB_ONEOFF_DUNGEON_REWARD = 1085; - ACTION_REASON_FURNITURE_MAKE_START = 1086; - ACTION_REASON_FURNITURE_MAKE_TAKE = 1087; - ACTION_REASON_FURNITURE_MAKE_CANCEL = 1088; - ACTION_REASON_FURNITURE_MAKE_FAST_FINISH = 1089; - ACTION_REASON_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD = 1090; - ACTION_REASON_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD = 1091; - ACTION_REASON_HOME_LIMITED_SHOP_BUY = 1092; - ACTION_REASON_HOME_COIN_COLLECT = 1093; - ACTION_REASON_SUMMER_TIME_SENTRY_TOWER_REWARD = 1094; - ACTION_REASON_SUMMER_TIME_SPRINT_BOAT_REWARD = 1095; - ACTION_REASON_SUMMER_TIME_BOSS_REWARD = 1096; - ACTION_REASON_SUMMER_TIME_BOMB_REWARD = 1097; - ACTION_REASON_HOME_FETTER_COLLECT = 1098; - ACTION_REASON_ECHO_SHELL_REWARD = 1099; - ACTION_REASON_HOME_EVENT_REWARD = 1100; - ACTION_REASON_BLITZ_RUSH_DUNGEON_REWARD = 1101; - ACTION_REASON_FURNITURE_MAKE_RETURN = 1102; - ACTION_REASON_HOME_PLANT_BOX_GATHER = 1103; - ACTION_REASON_HOME_PLANT_SEED = 1104; - ACTION_REASON_HOME_PLANT_GATHER = 1105; - ACTION_REASON_CHESS_DUNGEON_REWARD = 1106; - ACTION_REASON_GROUP_LINK_BUNDLE_FINISH = 1107; - ACTION_REASON_LUNA_RITE_SACRIFICE = 1108; - ACTION_REASON_LUNA_RITE_TAKE_SACRIFICE_REWARD = 1109; - ACTION_REASON_FISH_BITE = 1110; - ACTION_REASON_FISH_SUCC = 1111; - ACTION_REASON_PLANT_FLOWER_REWARD = 1112; - ACTION_REASON_PLANT_FLOWER_DELIVER_ITEM = 1113; - ACTION_REASON_PLANT_FLOWER_GIVE_FLOWER = 1114; - ACTION_REASON_PLANT_FLOWER_RECV_FLOWER = 1115; - ACTION_REASON_ROGUE_CHALLENGE_SETTLE = 1116; - ACTION_REASON_ROGUE_TAKE_FIRST_PASS_REWARD = 1117; - ACTION_REASON_ROGUE_UPGRADE_SHIKIGAMI = 1118; - ACTION_REASON_ROGUE_REFRESH_CARD = 1119; + ACTION_REASON_TYPE_NONE = 0; + ACTION_REASON_TYPE_QUEST_ITEM = 1; + ACTION_REASON_TYPE_QUEST_REWARD = 2; + ACTION_REASON_TYPE_TRIFLE = 3; + ACTION_REASON_TYPE_SHOP = 4; + ACTION_REASON_TYPE_PLAYER_UPGRADE_REWARD = 5; + ACTION_REASON_TYPE_ADD_AVATAR = 6; + ACTION_REASON_TYPE_GADGET_ENV_ANIMAL = 7; + ACTION_REASON_TYPE_MONSTER_ENV_ANIMAL = 8; + ACTION_REASON_TYPE_COMPOUND = 9; + ACTION_REASON_TYPE_COOK = 10; + ACTION_REASON_TYPE_GATHER = 11; + ACTION_REASON_TYPE_MAIL_ATTACHMENT = 12; + ACTION_REASON_TYPE_CITY_LEVELUP_RETURN = 15; + ACTION_REASON_TYPE_CITY_LEVELUP_REWARD = 17; + ACTION_REASON_TYPE_AREA_EXPLORE_REWARD = 18; + ACTION_REASON_TYPE_UNLOCK_POINT_REWARD = 19; + ACTION_REASON_TYPE_DUNGEON_FIRST_PASS = 20; + ACTION_REASON_TYPE_DUNGEON_PASS = 21; + ACTION_REASON_TYPE_CHANGE_ELEM_TYPE = 23; + ACTION_REASON_TYPE_FETTER_OPEN = 25; + ACTION_REASON_TYPE_DAILY_TASK_SCORE = 26; + ACTION_REASON_TYPE_DAILY_TASK_HOST = 27; + ACTION_REASON_TYPE_RAND_TASK_HOST = 28; + ACTION_REASON_TYPE_EXPEDITION = 29; + ACTION_REASON_TYPE_GACHA = 30; + ACTION_REASON_TYPE_COMBINE = 31; + ACTION_REASON_TYPE_RAND_TASK_GUEST = 32; + ACTION_REASON_TYPE_DAILY_TASK_GUEST = 33; + ACTION_REASON_TYPE_FORGE_OUTPUT = 34; + ACTION_REASON_TYPE_FORGE_RETURN = 35; + ACTION_REASON_TYPE_INIT_AVATAR = 36; + ACTION_REASON_TYPE_MONSTER_DIE = 37; + ACTION_REASON_TYPE_GM = 38; + ACTION_REASON_TYPE_OPEN_CHEST = 39; + ACTION_REASON_TYPE_GADGET_DIE = 40; + ACTION_REASON_TYPE_MONSTER_CHANGE_HP = 41; + ACTION_REASON_TYPE_SUBFIELD_DROP = 42; + ACTION_REASON_TYPE_PUSH_TIPS_REWARD = 43; + ACTION_REASON_TYPE_ACTIVITY_MONSTER_DROP = 44; + ACTION_REASON_TYPE_ACTIVITY_GATHER = 45; + ACTION_REASON_TYPE_ACTIVITY_SUBFIELD_DROP = 46; + ACTION_REASON_TYPE_TOWER_SCHEDULE_REWARD = 47; + ACTION_REASON_TYPE_TOWER_FLOOR_STAR_REWARD = 48; + ACTION_REASON_TYPE_TOWER_FIRST_PASS_REWARD = 49; + ACTION_REASON_TYPE_TOWER_DAILY_REWARD = 50; + ACTION_REASON_TYPE_HIT_CLIENT_TRIVIAL_ENTITY = 51; + ACTION_REASON_TYPE_OPEN_WORLD_BOSS_CHEST = 52; + ACTION_REASON_TYPE_MATERIAL_DELETE_RETURN = 53; + ACTION_REASON_TYPE_SIGN_IN_REWARD = 54; + ACTION_REASON_TYPE_OPEN_BLOSSOM_CHEST = 55; + ACTION_REASON_TYPE_RECHARGE = 56; + ACTION_REASON_TYPE_BONUS_ACTIVITY_REWARD = 57; + ACTION_REASON_TYPE_TOWER_COMMEMORATIVE_REWARD = 58; + ACTION_REASON_TYPE_TOWER_SKIP_FLOOR_REWARD = 59; + ACTION_REASON_TYPE_RECHARGE_BONUS = 60; + ACTION_REASON_TYPE_RECHARGE_CARD = 61; + ACTION_REASON_TYPE_RECHARGE_CARD_DAILY = 62; + ACTION_REASON_TYPE_RECHARGE_CARD_REPLACE = 63; + ACTION_REASON_TYPE_RECHARGE_CARD_REPLACE_FREE = 64; + ACTION_REASON_TYPE_RECHARGE_PLAY_REPLACE = 65; + ACTION_REASON_TYPE_MP_PLAY_TAKE_REWARD = 66; + ACTION_REASON_TYPE_ACTIVITY_WATCHER = 67; + ACTION_REASON_TYPE_SALESMAN_DELIVER_ITEM = 68; + ACTION_REASON_TYPE_SALESMAN_REWARD = 69; + ACTION_REASON_TYPE_REBATE = 70; + ACTION_REASON_TYPE_MCOIN_EXCHANGE_HCOIN = 71; + ACTION_REASON_TYPE_DAILY_TASK_EXCHANGE_LEGENDARY_KEY = 72; + ACTION_REASON_TYPE_UNLOCK_PERSON_LINE = 73; + ACTION_REASON_TYPE_FETTER_LEVEL_REWARD = 74; + ACTION_REASON_TYPE_BUY_RESIN = 75; + ACTION_REASON_TYPE_RECHARGE_PACKAGE = 76; + ACTION_REASON_TYPE_DELIVERY_DAILY_REWARD = 77; + ACTION_REASON_TYPE_CITY_REPUTATION_LEVEL = 78; + ACTION_REASON_TYPE_CITY_REPUTATION_QUEST = 79; + ACTION_REASON_TYPE_CITY_REPUTATION_REQUEST = 80; + ACTION_REASON_TYPE_CITY_REPUTATION_EXPLORE = 81; + ACTION_REASON_TYPE_OFFERGING_LEVEL = 82; + ACTION_REASON_TYPE_ROUTINE_HOST = 83; + ACTION_REASON_TYPE_ROUTINE_GUEST = 84; + ACTION_REASON_TYPE_TREASURE_MAP_SPOT_TOKEN = 89; + ACTION_REASON_TYPE_TREASURE_MAP_BONUS_LEVEL_REWARD = 90; + ACTION_REASON_TYPE_TREASURE_MAP_MP_REWARD = 91; + ACTION_REASON_TYPE_CONVERT = 92; + ACTION_REASON_TYPE_OVERFLOW_TRANSFORM = 93; + ACTION_REASON_TYPE_ACTIVITY_AVATAR_SELECTION_REWARD = 96; + ACTION_REASON_TYPE_ACTIVITY_WATCHER_BATCH = 97; + ACTION_REASON_TYPE_HIT_TREE_DROP = 98; + ACTION_REASON_TYPE_GET_HOME_LEVELUP_REWARD = 99; + ACTION_REASON_TYPE_HOME_DEFAULT_FURNITURE = 100; + ACTION_REASON_TYPE_ACTIVITY_COND = 101; + ACTION_REASON_TYPE_BATTLE_PASS_NOTIFY = 102; + ACTION_REASON_TYPE_RELIQUARY_DECOMPOSE = 103; + ACTION_REASON_TYPE_RECHARGE_GOOGLE_GIFT_GARD = 104; + ACTION_REASON_TYPE_RECHARGE_CONCERT_PRODUCT = 105; + ACTION_REASON_TYPE_RECHARGE_CONCERT_PRODUCT_REPLACE = 106; + ACTION_REASON_TYPE_SEND_CONCERT_PRODUCT_BY_MUIP = 107; + ACTION_REASON_TYPE_RECHARGE_APPLE_GIFT_GARD = 108; + ACTION_REASON_TYPE_RECHARGE_PSN_COMPENSATION_PRODUCT = 109; + ACTION_REASON_TYPE_COMPOUND_BOOST = 110; + ACTION_REASON_TYPE_WOOD_EXCHANGE = 111; + ACTION_REASON_TYPE_AVATAR_RENAME_AUDIT_FAILED = 112; + ACTION_REASON_TYPE_AVATAR_RENAME_RESET = 113; + ACTION_REASON_TYPE_PLAYER_USE_ITEM = 1001; + ACTION_REASON_TYPE_DROP_ITEM = 1002; + ACTION_REASON_TYPE_WEAPON_UPGRADE = 1011; + ACTION_REASON_TYPE_WEAPON_PROMOTE = 1012; + ACTION_REASON_TYPE_WEAPON_AWAKEN = 1013; + ACTION_REASON_TYPE_RELIC_UPGRADE = 1014; + ACTION_REASON_TYPE_ABILITY = 1015; + ACTION_REASON_TYPE_DUNGEON_STATUE_DROP = 1016; + ACTION_REASON_TYPE_OFFLINE_MSG = 1017; + ACTION_REASON_TYPE_AVATAR_UPGRADE = 1018; + ACTION_REASON_TYPE_AVATAR_PROMOTE = 1019; + ACTION_REASON_TYPE_QUEST_ACTION = 1021; + ACTION_REASON_TYPE_CITY_LEVELUP = 1022; + ACTION_REASON_TYPE_UPGRADE_SKILL = 1024; + ACTION_REASON_TYPE_UNLOCK_TALENT = 1025; + ACTION_REASON_TYPE_UPGRADE_PROUD_SKILL = 1026; + ACTION_REASON_TYPE_PLAYER_LEVEL_LIMIT_UP = 1027; + ACTION_REASON_TYPE_DUNGEON_DAILY = 1028; + ACTION_REASON_TYPE_ITEM_GIVING = 1030; + ACTION_REASON_TYPE_FORGE_COST = 1031; + ACTION_REASON_TYPE_INVESTIGATION_REWARD = 1032; + ACTION_REASON_TYPE_INVESTIGATION_TARGET_REWARD = 1033; + ACTION_REASON_TYPE_GADGET_INTERACT = 1034; + ACTION_REASON_TYPE_SEA_LAMP_CI_MATERIAL = 1036; + ACTION_REASON_TYPE_SEA_LAMP_CONTRIBUTION_REWARD = 1037; + ACTION_REASON_TYPE_SEA_LAMP_PHASE_REWARD = 1038; + ACTION_REASON_TYPE_SEA_LAMP_FLY_LAMP = 1039; + ACTION_REASON_TYPE_AUTO_RECOVER = 1040; + ACTION_REASON_TYPE_ACTIVITY_EXPIRE_ITEM = 1041; + ACTION_REASON_TYPE_SUB_COIN_NEGATIVE = 1042; + ACTION_REASON_TYPE_BARGAIN_DEDUCT = 1043; + ACTION_REASON_TYPE_BATTLE_PASS_PAID_REWARD = 1044; + ACTION_REASON_TYPE_BATTLE_PASS_LEVEL_REWARD = 1045; + ACTION_REASON_TYPE_TRIAL_AVATAR_ACTIVITY_FIRST_PASS_REWARD = 1046; + ACTION_REASON_TYPE_BUY_BATTLE_PASS_LEVEL = 1047; + ACTION_REASON_TYPE_GRANT_BIRTHDAY_BENEFIT = 1048; + ACTION_REASON_TYPE_ACHIEVEMENT_REWARD = 1049; + ACTION_REASON_TYPE_ACHIEVEMENT_GOAL_REWARD = 1050; + ACTION_REASON_TYPE_FIRST_SHARE_TO_SOCIAL_NETWORK = 1051; + ACTION_REASON_TYPE_DESTROY_MATERIAL = 1052; + ACTION_REASON_TYPE_CODEX_LEVELUP_REWARD = 1053; + ACTION_REASON_TYPE_HUNTING_OFFER_REWARD = 1054; + ACTION_REASON_TYPE_USE_WIDGET_ANCHOR_POINT = 1055; + ACTION_REASON_TYPE_USE_WIDGET_BONFIRE = 1056; + ACTION_REASON_TYPE_UNGRADE_WEAPON_RETURN_MATERIAL = 1057; + ACTION_REASON_TYPE_USE_WIDGET_ONEOFF_GATHER_POINT_DETECTOR = 1058; + ACTION_REASON_TYPE_USE_WIDGET_CLIENT_COLLECTOR = 1059; + ACTION_REASON_TYPE_USE_WIDGET_CLIENT_DETECTOR = 1060; + ACTION_REASON_TYPE_TAKE_GENERAL_REWARD = 1061; + ACTION_REASON_TYPE_ASTER_TAKE_SPECIAL_REWARD = 1062; + ACTION_REASON_TYPE_REMOVE_CODEX_BOOK = 1063; + ACTION_REASON_TYPE_OFFERING_ITEM = 1064; + ACTION_REASON_TYPE_USE_WIDGET_GADGET_BUILDER = 1065; + ACTION_REASON_TYPE_EFFIGY_FIRST_PASS_REWARD = 1066; + ACTION_REASON_TYPE_EFFIGY_REWARD = 1067; + ACTION_REASON_TYPE_REUNION_FIRST_GIFT_REWARD = 1068; + ACTION_REASON_TYPE_REUNION_SIGN_IN_REWARD = 1069; + ACTION_REASON_TYPE_REUNION_WATCHER_REWARD = 1070; + ACTION_REASON_TYPE_SALESMAN_MP_REWARD = 1071; + ACTION_REASON_TYPE_AVATAR_PROMOTE_REWARD = 1072; + ACTION_REASON_TYPE_BLESSING_REDEEM_REWARD = 1073; + ACTION_REASON_TYPE_MIRACLE_RING_REWARD = 1074; + ACTION_REASON_TYPE_EXPEDITION_REWARD = 1075; + ACTION_REASON_TYPE_TREASURE_MAP_REMOVE_DETECTOR = 1076; + ACTION_REASON_TYPE_MECHANICUS_DUNGEON_TICKET = 1077; + ACTION_REASON_TYPE_MECHANICUS_LEVELUP_GEAR = 1078; + ACTION_REASON_TYPE_MECHANICUS_BATTLE_SETTLE = 1079; + ACTION_REASON_TYPE_REGION_SEARCH_REWARD = 1080; + ACTION_REASON_TYPE_UNLOCK_COOP_CHAPTER = 1081; + ACTION_REASON_TYPE_TAKE_COOP_REWARD = 1082; + ACTION_REASON_TYPE_FLEUR_FAIR_DUNGEON_REWARD = 1083; + ACTION_REASON_TYPE_ACTIVITY_SCORE = 1084; + ACTION_REASON_TYPE_CHANNELLER_SLAB_ONEOFF_DUNGEON_REWARD = 1085; + ACTION_REASON_TYPE_FURNITURE_MAKE_START = 1086; + ACTION_REASON_TYPE_FURNITURE_MAKE_TAKE = 1087; + ACTION_REASON_TYPE_FURNITURE_MAKE_CANCEL = 1088; + ACTION_REASON_TYPE_FURNITURE_MAKE_FAST_FINISH = 1089; + ACTION_REASON_TYPE_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD = 1090; + ACTION_REASON_TYPE_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD = 1091; + ACTION_REASON_TYPE_HOME_LIMITED_SHOP_BUY = 1092; + ACTION_REASON_TYPE_HOME_COIN_COLLECT = 1093; + ACTION_REASON_TYPE_SUMMER_TIME_SENTRY_TOWER_REWARD = 1094; + ACTION_REASON_TYPE_SUMMER_TIME_SPRINT_BOAT_REWARD = 1095; + ACTION_REASON_TYPE_SUMMER_TIME_BOSS_REWARD = 1096; + ACTION_REASON_TYPE_SUMMER_TIME_BOMB_REWARD = 1097; + ACTION_REASON_TYPE_HOME_FETTER_COLLECT = 1098; + ACTION_REASON_TYPE_ECHO_SHELL_REWARD = 1099; + ACTION_REASON_TYPE_HOME_EVENT_REWARD = 1100; + ACTION_REASON_TYPE_BLITZ_RUSH_DUNGEON_REWARD = 1101; + ACTION_REASON_TYPE_FURNITURE_MAKE_RETURN = 1102; + ACTION_REASON_TYPE_HOME_PLANT_BOX_GATHER = 1103; + ACTION_REASON_TYPE_HOME_PLANT_SEED = 1104; + ACTION_REASON_TYPE_HOME_PLANT_GATHER = 1105; + ACTION_REASON_TYPE_CHESS_DUNGEON_REWARD = 1106; + ACTION_REASON_TYPE_GROUP_LINK_BUNDLE_FINISH = 1107; + ACTION_REASON_TYPE_LUNA_RITE_SACRIFICE = 1108; + ACTION_REASON_TYPE_LUNA_RITE_TAKE_SACRIFICE_REWARD = 1109; + ACTION_REASON_TYPE_FISH_BITE = 1110; + ACTION_REASON_TYPE_FISH_SUCC = 1111; + ACTION_REASON_TYPE_PLANT_FLOWER_REWARD = 1112; + ACTION_REASON_TYPE_PLANT_FLOWER_DELIVER_ITEM = 1113; + ACTION_REASON_TYPE_PLANT_FLOWER_GIVE_FLOWER = 1114; + ACTION_REASON_TYPE_PLANT_FLOWER_RECV_FLOWER = 1115; + ACTION_REASON_TYPE_ROGUE_CHALLENGE_SETTLE = 1116; + ACTION_REASON_TYPE_ROGUE_TAKE_FIRST_PASS_REWARD = 1117; + ACTION_REASON_TYPE_ROGUE_UPGRADE_SHIKIGAMI = 1118; + ACTION_REASON_TYPE_ROGUE_REFRESH_CARD = 1119; + ACTION_REASON_TYPE_USE_WIDGET_CAPTURE_ANIMAL = 1120; + ACTION_REASON_TYPE_CAPTURE_ANIMAL_SUCC = 1121; + ACTION_REASON_TYPE_SNOW_DRIFTS = 1122; + ACTION_REASON_TYPE_WINTER_CAMP_GIVE_ITEM = 1123; + ACTION_REASON_TYPE_WINTER_CAMP_RECV_ITEM = 1124; + ACTION_REASON_TYPE_WINTER_CAMP_EXPLORE_REWARD = 1125; + ACTION_REASON_TYPE_WINTER_CAMP_BATTLE_REWARD = 1126; + ACTION_REASON_TYPE_LANTERN_RITE_SKIN_REWARD = 1127; + ACTION_REASON_TYPE_LANTERN_RITE_DUNGEON_REWARD = 1128; + ACTION_REASON_TYPE_MICHIAE_MATSURI_DARK_CHALLENGE_REWARD = 1129; + ACTION_REASON_TYPE_MICHIAE_MATSURI_UNLOCK_CRYSTAL_SKILL = 1130; + ACTION_REASON_TYPE_LANTERN_RITE_GROUP_REWARD = 1131; + ACTION_REASON_TYPE_COSTUME_DEFAULT_UNLOCK = 1132; + ACTION_REASON_TYPE_SPICE_ACTIVITY_MAKE_SPICE = 1133; + ACTION_REASON_TYPE_SPICE_ACTIVITY_PROCESS_FOOD = 1134; + ACTION_REASON_TYPE_SPICE_ADD_AVATAR_FETTER = 1135; + ACTION_REASON_TYPE_GACHA_ACTIVITY_ROBOT_REWARD = 1136; + ACTION_REASON_TYPE_GIVING_TAKE_BACK = 1137; + ACTION_REASON_TYPE_SUMMER_TIME_V2_DUNGEON_REWARD = 1138; + ACTION_REASON_TYPE_GRAVEN_INNOCENCE_CAMP_REWARD = 1139; + ACTION_REASON_TYPE_TREASURE_SEELIE_CHEST_REWARD = 1140; + ACTION_REASON_TYPE_GCG_TAVERN_CHALLENGE_UNLOCK_CHARACTER = 1141; + ACTION_REASON_TYPE_GCG_LEVEL_REWARD = 1143; + ACTION_REASON_TYPE_GCG_CHALLENGE_FINISH = 1144; + ACTION_REASON_TYPE_VINTAGE_MARKET_DEAL = 1145; + ACTION_REASON_TYPE_VINTAGE_MARKET_BARGAIN = 1146; + ACTION_REASON_TYPE_VINTAGE_MARKET_STORE = 1147; + ACTION_REASON_TYPE_VINTAGE_PRESENT = 1148; + ACTION_REASON_TYPE_VINTAGE_OPEN_STORE = 1149; + ACTION_REASON_TYPE_VINTAGE_STORE_UNLOCK_SLOT = 1150; + ACTION_REASON_TYPE_VINTAGE_STORE_NPC_EVENT = 1151; + ACTION_REASON_TYPE_ROCK_BOARD_EXPLORE_REWARD = 1152; + ACTION_REASON_TYPE_VINTAGE_STORE_DIVIDEND = 1153; + ACTION_REASON_TYPE_AVATAR_RENAME = 1154; + ACTION_REASON_TYPE_GCG_FINISH_LEVEL_QUEST = 1155; + ACTION_REASON_TYPE_GCG_PROFICIENCY_REWARD = 1156; } diff --git a/proto/AvatarDataNotify.proto b/proto/AvatarDataNotify.proto index 50e90417..1c5329d0 100644 --- a/proto/AvatarDataNotify.proto +++ b/proto/AvatarDataNotify.proto @@ -35,10 +35,10 @@ message AvatarDataNotify { repeated AvatarInfo avatar_list = 14; repeated AvatarRenameInfo avatar_rename_list = 8; uint32 cur_avatar_team_id = 7; - repeated uint32 Unk3300_HHKJBGKHIEJ = 6; + repeated uint32 owned_flycloak_list = 6; repeated uint64 temp_avatar_guid_list = 15; uint64 choose_avatar_guid = 1; map avatar_team_map = 11; - repeated uint32 Unk3300_MDNLGGMGHAF = 5; + repeated uint32 owned_costume_list = 5; repeated uint32 backup_avatar_team_order_list = 3; } diff --git a/proto/BattlePassMission.proto b/proto/BattlePassMission.proto index a2f5e6a4..b4aac19d 100644 --- a/proto/BattlePassMission.proto +++ b/proto/BattlePassMission.proto @@ -28,8 +28,8 @@ message BattlePassMission { } uint32 cur_progress = 10; - uint32 Unk3300_MBOMOLFKPPO = 9; - uint32 Unk3300_DAHDCJNCALE = 14; + uint32 mission_type = 9; + uint32 reward_battle_pass_point = 14; uint32 total_progress = 12; uint32 mission_id = 15; MissionStatus mission_status = 11; diff --git a/proto/ChannelIdType.proto b/proto/ChannelIdType.proto new file mode 100644 index 00000000..a8324671 --- /dev/null +++ b/proto/ChannelIdType.proto @@ -0,0 +1,39 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ChannelIdType { + CHANNEL_ID_TYPE_NONE = 0; + CHANNEL_ID_TYPE_MIHOYO = 1; + CHANNEL_ID_TYPE_XIAOMI = 11; + CHANNEL_ID_TYPE_COOLPAD = 12; + CHANNEL_ID_TYPE_YYB = 13; + CHANNEL_ID_TYPE_BILI = 14; + CHANNEL_ID_TYPE_HUAWEI = 15; + CHANNEL_ID_TYPE_MEIZU = 16; + CHANNEL_ID_TYPE_360 = 17; + CHANNEL_ID_TYPE_OPPO = 18; + CHANNEL_ID_TYPE_VIVO = 19; + CHANNEL_ID_TYPE_UC = 20; + CHANNEL_ID_TYPE_LENOVO = 22; + CHANNEL_ID_TYPE_JINLI = 23; + CHANNEL_ID_TYPE_BAIDU = 25; + CHANNEL_ID_TYPE_DANGLE = 26; +} diff --git a/proto/ChatChannel.proto b/proto/ChatChannel.proto new file mode 100644 index 00000000..735a8f44 --- /dev/null +++ b/proto/ChatChannel.proto @@ -0,0 +1,30 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ChatChannel { + CHAT_CHANNEL_TEAM = 0; + CHAT_CHANNEL_FRIEND = 1; + CHAT_CHANNEL_NONE = 2; + CHAT_CHANNEL_HIDEANDSEEK = 3; + CHAT_CHANNEL_HIDEANDSEEK_TEAM = 5; + CHAT_CHANNEL_ALL = 10; + CHAT_CHANNEL_TEST = 100; +} diff --git a/proto/ChatInfo.proto b/proto/ChatInfo.proto index 04536c2c..e406d26b 100644 --- a/proto/ChatInfo.proto +++ b/proto/ChatInfo.proto @@ -32,9 +32,9 @@ message ChatInfo { bool is_read = 3; uint32 time = 1; - uint32 Unk3300_HENLDIJMIOE = 10; + uint32 to_uid = 10; uint32 uid = 11; - uint32 Unk3300_PHBEHIGHOCD = 5; + uint32 sequence = 5; oneof content { string text = 909; uint32 icon = 990; diff --git a/proto/CityidConstValue.proto b/proto/CityidConstValue.proto new file mode 100644 index 00000000..d9d5b977 --- /dev/null +++ b/proto/CityidConstValue.proto @@ -0,0 +1,28 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum CityidConstValue { + CITYID_CONST_VALUE_NONE = 0; + CITYID_CONST_VALUE_MENGDE = 1; + CITYID_CONST_VALUE_LIYUE = 2; + CITYID_CONST_VALUE_DAOQI = 3; + CITYID_CONST_VALUE_XUMI = 4; +} diff --git a/proto/ClientType.proto b/proto/ClientType.proto new file mode 100644 index 00000000..184eae9a --- /dev/null +++ b/proto/ClientType.proto @@ -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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ClientType { + CLIENT_TYPE_PRODUCT = 0; + CLIENT_TYPE_DEV = 1; +} diff --git a/proto/CreateGadgetReason.proto b/proto/CreateGadgetReason.proto new file mode 100644 index 00000000..8f90809d --- /dev/null +++ b/proto/CreateGadgetReason.proto @@ -0,0 +1,27 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum CreateGadgetReason { + CREATE_GADGET_REASON_NONE = 0; + CREATE_GADGET_REASON_PLAYER = 1; + CREATE_GADGET_REASON_MISSION = 2; + CREATE_GADGET_REASON_GM = 3; +} diff --git a/proto/CustomDungeonEvent.proto b/proto/CustomDungeonEvent.proto new file mode 100644 index 00000000..1ab37ce0 --- /dev/null +++ b/proto/CustomDungeonEvent.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum CustomDungeonEvent { + CUSTOM_DUNGEON_EVENT_NONE = 0; + CUSTOM_DUNGEON_EVENT_OFFICIAL_RESTART = 1; + CUSTOM_DUNGEON_EVENT_OUT_STUCK = 2; +} diff --git a/proto/DataResVersionNotify.proto b/proto/DataResVersionNotify.proto index 9d48c2b5..ca96ed67 100644 --- a/proto/DataResVersionNotify.proto +++ b/proto/DataResVersionNotify.proto @@ -41,8 +41,8 @@ message DataResVersionNotify { string client_silence_version_suffix = 3; string client_version_suffix = 9; bool is_data_need_relogin = 15; - string Unk3300_HMGCPAGLDHB = 12; + string client_silence_md5 = 12; uint32 client_data_version = 5; - string Unk3300_OPGDBOLKLJA = 2; + string client_md5 = 2; ResVersionConfig res_version_config = 7; } diff --git a/proto/DebugNotify.proto b/proto/DebugNotify.proto index f27fa48d..22c826c6 100644 --- a/proto/DebugNotify.proto +++ b/proto/DebugNotify.proto @@ -30,8 +30,8 @@ message DebugNotify { // } enum Retcode { - RETCODE_SUCC = 0; - RETCODE_FAIL = 1; + SUCC = 0; + FAIL = 1; } uint32 id = 1; diff --git a/proto/DungeonCandidateTeamInviteState.proto b/proto/DungeonCandidateTeamInviteState.proto new file mode 100644 index 00000000..fbb9ae2f --- /dev/null +++ b/proto/DungeonCandidateTeamInviteState.proto @@ -0,0 +1,27 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum DungeonCandidateTeamInviteState { + DUNGEON_CANDIDATE_TEAM_INVITE_STATE_NONE = 0; + DUNGEON_CANDIDATE_TEAM_INVITE_STATE_SEND = 1; + DUNGEON_CANDIDATE_TEAM_INVITE_STATE_ACCEPT = 2; + DUNGEON_CANDIDATE_TEAM_INVITE_STATE_REFUSE = 3; +} diff --git a/proto/ENetReason.proto b/proto/ENetReason.proto new file mode 100644 index 00000000..1d073d6e --- /dev/null +++ b/proto/ENetReason.proto @@ -0,0 +1,46 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ENetReason { + E_NET_REASON_ENET_TIMEOUT = 0; + E_NET_REASON_ENET_CLIENT_CLOSE = 1; + E_NET_REASON_ENET_CLIENT_REBIND_FAIL = 2; + E_NET_REASON_ENET_CLIENT_SHUTDOWN = 3; + E_NET_REASON_ENET_SERVER_RELOGIN = 4; + E_NET_REASON_ENET_SERVER_KICK = 5; + E_NET_REASON_ENET_SERVER_SHUTDOWN = 6; + E_NET_REASON_ENET_NOT_FOUND_SESSION = 7; + E_NET_REASON_ENET_LOGIN_UNFINISHED = 8; + E_NET_REASON_ENET_PACKET_FREQ_TOO_HIGH = 9; + E_NET_REASON_ENET_PING_TIMEOUT = 10; + E_NET_REASON_ENET_TRANFER_FAILED = 11; + E_NET_REASON_ENET_SERVER_KILL_CLIENT = 12; + E_NET_REASON_ENET_CHECK_MOVE_SPEED = 13; + E_NET_REASON_ENET_ACCOUNT_PASSWORD_CHANGE = 14; + E_NET_REASON_ENET_SECURITY_KICK = 15; + E_NET_REASON_ENET_LUA_SHELL_TIMEOUT = 16; + E_NET_REASON_ENET_SDKFAIL_KICK = 17; + E_NET_REASON_ENET_PACKET_COST_TIME = 18; + E_NET_REASON_ENET_PACKET_UNION_FREQ = 19; + E_NET_REASON_ENET_WAIT_SND_MAX = 20; + E_NET_REASON_ENET_CLIENT_CONNECT_KEY = 1234567890; + E_NET_REASON_ENET_CLIENT_EDITOR_CONNECT_KEY = 987654321; +} diff --git a/proto/EnterReason.proto b/proto/EnterReason.proto new file mode 100644 index 00000000..c772f098 --- /dev/null +++ b/proto/EnterReason.proto @@ -0,0 +1,78 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum EnterReason { + ENTER_REASON_NONE = 0; + ENTER_REASON_LOGIN = 1; + ENTER_REASON_DUNGEON_REPLAY = 11; + ENTER_REASON_DUNGEON_REVIVE_ON_WAYPOINT = 12; + ENTER_REASON_DUNGEON_ENTER = 13; + ENTER_REASON_DUNGEON_QUIT = 14; + ENTER_REASON_GM = 21; + ENTER_REASON_QUEST_ROLLBACK = 31; + ENTER_REASON_REVIVAL = 32; + ENTER_REASON_PERSONAL_SCENE = 41; + ENTER_REASON_TRANS_POINT = 42; + ENTER_REASON_CLIENT_TRANSMIT = 43; + ENTER_REASON_FORCE_DRAG_BACK = 44; + ENTER_REASON_TEAM_KICK = 51; + ENTER_REASON_TEAM_JOIN = 52; + ENTER_REASON_TEAM_BACK = 53; + ENTER_REASON_MUIP = 54; + ENTER_REASON_DUNGEON_INVITE_ACCEPT = 55; + ENTER_REASON_LUA = 56; + ENTER_REASON_ACTIVITY_LOAD_TERRAIN = 57; + ENTER_REASON_HOST_FROM_SINGLE_TO_MP = 58; + ENTER_REASON_MP_PLAY = 59; + ENTER_REASON_ANCHOR_POINT = 60; + ENTER_REASON_LUA_SKIP_UI = 61; + ENTER_REASON_RELOAD_TERRAIN = 62; + ENTER_REASON_DRAFT_TRANSFER = 63; + ENTER_REASON_ENTER_HOME = 64; + ENTER_REASON_EXIT_HOME = 65; + ENTER_REASON_CHANGE_HOME_MODULE = 66; + ENTER_REASON_GALLERY = 67; + ENTER_REASON_HOME_SCENE_JUMP = 68; + ENTER_REASON_HIDE_AND_SEEK = 69; + ENTER_REASON_SUMMER_TIME_MIST_ZONE = 70; + ENTER_REASON_FORCE_QUIT_SCENE = 71; + ENTER_REASON_HERO_COURSE = 72; + ENTER_REASON_TRANS_CLIMATE = 73; + ENTER_REASON_SUMMER_TIME_BOAT_RESTART = 74; + ENTER_REASON_TSURUMI_MIST_CLIMATE = 75; + ENTER_REASON_TSURUMI_REGIONAL_MIST_CLIMATE = 76; + ENTER_REASON_WINTER_CAMP_RESTART = 77; + ENTER_REASON_TALK_EXEC_TRANSFER = 78; + ENTER_REASON_SEALAMP_BOAT_RESTART = 79; + ENTER_REASON_SEALAMP_BOAT_BACK = 80; + ENTER_REASON_CHALLENGE_INTERRUPT_BACK = 81; + ENTER_REASON_IRODORI_MASTER_TRANSFER = 82; + ENTER_REASON_GALLERY_BACK = 83; + ENTER_REASON_SUMMER_TIME_V2_BOAT_RESTART = 84; + ENTER_REASON_ISLAND_PARTY_GALLERY_START_FAILED = 85; + ENTER_REASON_GRAVEN_INNOCENCE_RACE_RESTART = 86; + ENTER_REASON_VINTAGE_HUNTING_TRANSFER = 87; + ENTER_REASON_FUNGUS_FIGHTER_TRANSFER = 88; + ENTER_REASON_BRICK_BREAKER = 89; + ENTER_REASON_BRICK_BREAKER_SINGLE = 90; + ENTER_REASON_TRANSFER_GUARD_STOP = 91; + ENTER_REASON_COIN_COLLECT_SINGLE = 92; +} diff --git a/proto/ExchangeMcoinType.proto b/proto/ExchangeMcoinType.proto new file mode 100644 index 00000000..74f80bec --- /dev/null +++ b/proto/ExchangeMcoinType.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ExchangeMcoinType { + EXCHANGE_MCOIN_TYPE_NONE = 0; + EXCHANGE_MCOIN_TYPE_PCM_TO_PSN = 1; + EXCHANGE_MCOIN_TYPE_PSN_TO_PCM = 2; +} diff --git a/proto/ExploreType.proto b/proto/ExploreType.proto new file mode 100644 index 00000000..eade9742 --- /dev/null +++ b/proto/ExploreType.proto @@ -0,0 +1,28 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ExploreType { + EXPLORE_TYPE_NONE = 0; + EXPLORE_TYPE_CRYSTAL = 1; + EXPLORE_TYPE_CHEST = 2; + EXPLORE_TYPE_TEMPLE = 3; + EXPLORE_TYPE_TELEPORT = 4; +} diff --git a/proto/FeatureBlockType.proto b/proto/FeatureBlockType.proto new file mode 100644 index 00000000..9fff6a6d --- /dev/null +++ b/proto/FeatureBlockType.proto @@ -0,0 +1,28 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum FeatureBlockType { + FEATURE_BLOCK_TYPE_NONE = 0; + FEATURE_BLOCK_TYPE_CHAT = 1; + FEATURE_BLOCK_TYPE_MP = 2; + FEATURE_BLOCK_TYPE_CRC = 3; + FEATURE_BLOCK_TYPE_HOME = 4; +} diff --git a/proto/FetterState.proto b/proto/FetterState.proto new file mode 100644 index 00000000..fe7f869d --- /dev/null +++ b/proto/FetterState.proto @@ -0,0 +1,28 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum FetterState { + FETTER_STATE_NONE = 0; + FETTER_STATE_NOT_OPEN = 1; + FETTER_STATE_OPEN = 2; + FETTER_STATE_FINISH = 3; + FETTER_STATE_CONCEAL = 4; +} diff --git a/proto/FleurFairActivityDetailInfo.proto b/proto/FleurFairActivityDetailInfo.proto index b95002e0..1fa445d6 100644 --- a/proto/FleurFairActivityDetailInfo.proto +++ b/proto/FleurFairActivityDetailInfo.proto @@ -27,9 +27,9 @@ message FleurFairActivityDetailInfo { uint32 Unk3300_KONOCAMIIIE = 3; repeated FleurFairChapterInfo chapter_info_list = 5; bool is_dungeon_unlocked = 6; - map Unk3300_HNFNMCKHAJK = 8; + map dungeon_section_info_map = 8; bool is_content_closed = 13; - map Unk3300_FICFGHJNCOA = 9; + map minigame_info_map = 9; uint32 Unk3300_LOFLGOOIMNH = 10; uint32 content_close_time = 4; } diff --git a/proto/GadgetGuestBanDrop.proto b/proto/GadgetGuestBanDrop.proto new file mode 100644 index 00000000..b4dd4e6e --- /dev/null +++ b/proto/GadgetGuestBanDrop.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum GadgetGuestBanDrop { + GADGET_GUEST_BAN_DROP_NONE = 0; + GADGET_GUEST_BAN_DROP_DIE_LUA = 1; + GADGET_GUEST_BAN_DROP_SUBFIELD = 2; +} diff --git a/proto/GadgetPlayType.proto b/proto/GadgetPlayType.proto new file mode 100644 index 00000000..969d17f0 --- /dev/null +++ b/proto/GadgetPlayType.proto @@ -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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum GadgetPlayType { + GADGET_PLAY_TYPE_NONE = 0; + GADGET_PLAY_TYPE_CRUSIBLE = 1; +} diff --git a/proto/GetPlayerTokenRsp.proto b/proto/GetPlayerTokenRsp.proto index fb829126..05769cbd 100644 --- a/proto/GetPlayerTokenRsp.proto +++ b/proto/GetPlayerTokenRsp.proto @@ -51,7 +51,7 @@ message GetPlayerTokenRsp { int32 retcode = 2; string client_version_random_key = 1152; string psn_id = 242; - bool Unk3300_PPGJMLBGJED = 9; + bool is_proficient_player = 9; uint32 platform_type = 10; uint32 reg_platform = 646; StopServerInfo stop_server = 1897; diff --git a/proto/GroupLoadStrategy.proto b/proto/GroupLoadStrategy.proto new file mode 100644 index 00000000..1f841690 --- /dev/null +++ b/proto/GroupLoadStrategy.proto @@ -0,0 +1,27 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum GroupLoadStrategy { + GROUP_LOAD_STRATEGY_NONE = 0; + GROUP_LOAD_STRATEGY_SINGLE = 1; + GROUP_LOAD_STRATEGY_MULTI = 2; + GROUP_LOAD_STRATEGY_ALL = 3; +} diff --git a/proto/GroupVariableType.proto b/proto/GroupVariableType.proto new file mode 100644 index 00000000..50509716 --- /dev/null +++ b/proto/GroupVariableType.proto @@ -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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum GroupVariableType { + GROUP_VARIABLE_TYPE_NORMAL = 0; + GROUP_VARIABLE_TYPE_LOGIC_STATE = 1; +} diff --git a/proto/HomeBasicInfo.proto b/proto/HomeBasicInfo.proto index 8dbe5c6c..5702989a 100644 --- a/proto/HomeBasicInfo.proto +++ b/proto/HomeBasicInfo.proto @@ -23,10 +23,10 @@ option java_package = "emu.grasscutter.net.proto"; message HomeBasicInfo { uint64 exp = 3; - uint32 Unk3300_AKPAPPGOFGN = 11; - uint32 Unk3300_GNFGFIIGHEA = 14; + uint32 home_owner_uid = 11; + uint32 cur_room_scene_id = 14; string owner_nick_name = 6; - uint32 Unk3300_KGCBFKGGHDD = 4; + uint32 cur_module_id = 4; HomeLimitedShopInfo limited_shop_info = 13; bool is_in_edit_mode = 7; uint32 level = 9; diff --git a/proto/HomeLimitedShopInfo.proto b/proto/HomeLimitedShopInfo.proto index 3d393427..a6df3ee3 100644 --- a/proto/HomeLimitedShopInfo.proto +++ b/proto/HomeLimitedShopInfo.proto @@ -23,9 +23,9 @@ option java_package = "emu.grasscutter.net.proto"; message HomeLimitedShopInfo { uint32 uid = 9; - uint32 Unk3300_FKGDIDFIBAA = 8; + fixed32 next_guest_open_time = 8; Vector djinn_rot = 11; - uint32 Unk3300_DLIEFPNMGFC = 5; + fixed32 next_open_time = 5; Vector djinn_pos = 2; - uint32 Unk3300_NOJPDKDPPPA = 15; + fixed32 next_close_time = 15; } diff --git a/proto/HomeResource.proto b/proto/HomeResource.proto index 787076dd..0eeabf52 100644 --- a/proto/HomeResource.proto +++ b/proto/HomeResource.proto @@ -20,7 +20,7 @@ syntax = "proto3"; option java_package = "emu.grasscutter.net.proto"; message HomeResource { - uint32 Unk3300_LJCAIDECBND = 6; + uint32 store_limit = 6; fixed32 next_refresh_time = 13; - uint32 Unk3300_LINAPIIPNOB = 1; + uint32 store_value = 1; } diff --git a/proto/LeaveWorldReason.proto b/proto/LeaveWorldReason.proto new file mode 100644 index 00000000..f005f6fe --- /dev/null +++ b/proto/LeaveWorldReason.proto @@ -0,0 +1,27 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum LeaveWorldReason { + LEAVE_WORLD_REASON_NONE = 0; + LEAVE_WORLD_REASON_LOGOUT = 1; + LEAVE_WORLD_REASON_BACK_MY_WORLD = 2; + LEAVE_WORLD_REASON_KICK_BY_OWNER = 3; +} diff --git a/proto/LoginRewardConfigType.proto b/proto/LoginRewardConfigType.proto new file mode 100644 index 00000000..24cd537a --- /dev/null +++ b/proto/LoginRewardConfigType.proto @@ -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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum LoginRewardConfigType { + LOGIN_REWARD_CONFIG_TYPE_IMMEDIDATE = 0; + LOGIN_REWARD_CONFIG_TYPE_FIRST = 1; +} diff --git a/proto/LuaShellNotifyType.proto b/proto/LuaShellNotifyType.proto new file mode 100644 index 00000000..752e216a --- /dev/null +++ b/proto/LuaShellNotifyType.proto @@ -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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum LuaShellNotifyType { + LUA_SHELL_NOTIFY_TYPE_LUASHELL_NOTIFY = 0; + LUA_SHELL_NOTIFY_TYPE_LUASHELL_HIDE = 1; +} diff --git a/proto/MathExpressionType.proto b/proto/MathExpressionType.proto new file mode 100644 index 00000000..c934ac47 --- /dev/null +++ b/proto/MathExpressionType.proto @@ -0,0 +1,29 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum MathExpressionType { + MATH_EXPRESSION_TYPE_EXPR_NONE = 0; + MATH_EXPRESSION_TYPE_EXPR_LEVEL = 1; + MATH_EXPRESSION_TYPE_EXPR_REGISTER_TIME = 2; + MATH_EXPRESSION_TYPE_EXPR_LAST_LOGIN_TIME = 3; + MATH_EXPRESSION_TYPE_EXPR_TOTAL_LOGIN_DAYS = 4; + MATH_EXPRESSION_TYPE_EXPR_PLATFORM = 5; +} diff --git a/proto/MonsterGuestBanDrop.proto b/proto/MonsterGuestBanDrop.proto new file mode 100644 index 00000000..05dbdb80 --- /dev/null +++ b/proto/MonsterGuestBanDrop.proto @@ -0,0 +1,30 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum MonsterGuestBanDrop { + MONSTER_GUEST_BAN_DROP_NONE = 0; + MONSTER_GUEST_BAN_DROP_DIE_EXP = 1; + MONSTER_GUEST_BAN_DROP_DIE_LUA = 2; + MONSTER_GUEST_BAN_DROP_DIE_EXCEL = 4; + MONSTER_GUEST_BAN_DROP_DIE_ACTIVITY = 8; + MONSTER_GUEST_BAN_DROP_HP = 16; + MONSTER_GUEST_BAN_DROP_SUBFIELD = 32; +} diff --git a/proto/MpPlayType.proto b/proto/MpPlayType.proto new file mode 100644 index 00000000..241aa2a3 --- /dev/null +++ b/proto/MpPlayType.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum MpPlayType { + MP_PLAY_TYPE_NONE = 0; + MP_PLAY_TYPE_DUNGEON = 1; + MP_PLAY_TYPE_CRUCIBLE = 2; +} diff --git a/proto/NpcTalkState.proto b/proto/NpcTalkState.proto new file mode 100644 index 00000000..b4b9043e --- /dev/null +++ b/proto/NpcTalkState.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum NpcTalkState { + NPC_TALK_STATE_NONE = 0; + NPC_TALK_STATE_AUTO = 1; + NPC_TALK_STATE_MANUAL = 2; +} diff --git a/proto/OpActivityType.proto b/proto/OpActivityType.proto new file mode 100644 index 00000000..d1d40f71 --- /dev/null +++ b/proto/OpActivityType.proto @@ -0,0 +1,28 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum OpActivityType { + OP_ACTIVITY_TYPE_NONE = 0; + OP_ACTIVITY_TYPE_SIGN_IN = 1; + OP_ACTIVITY_TYPE_BONUS = 2; + OP_ACTIVITY_TYPE_TRAVEL_BUSINESS = 3; + OP_ACTIVITY_TYPE_CRUCIBLE = 4; +} diff --git a/proto/PlatformCategory.proto b/proto/PlatformCategory.proto new file mode 100644 index 00000000..175b698c --- /dev/null +++ b/proto/PlatformCategory.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum PlatformCategory { + PLATFORM_CATEGORY_NONE = 0; + PLATFORM_CATEGORY_PCM = 1; + PLATFORM_CATEGORY_PSN = 2; +} diff --git a/proto/PlayerEnterSceneNotify.proto b/proto/PlayerEnterSceneNotify.proto index eed0c98b..37599cf1 100644 --- a/proto/PlayerEnterSceneNotify.proto +++ b/proto/PlayerEnterSceneNotify.proto @@ -43,7 +43,7 @@ message PlayerEnterSceneNotify { EnterType type = 12; repeated uint32 scene_tag_id_list = 5; uint64 scene_begin_time = 9; - uint32 Unk3300_OOLKIEKNKKN = 287; + uint32 enter_reason = 287; uint32 target_uid = 8; Vector prev_pos = 10; string scene_transaction = 370; diff --git a/proto/PlayerLoginReq.proto b/proto/PlayerLoginReq.proto index 83188c4b..06a5601c 100644 --- a/proto/PlayerLoginReq.proto +++ b/proto/PlayerLoginReq.proto @@ -42,7 +42,7 @@ message PlayerLoginReq { uint32 language_type = 11; uint32 client_data_version = 847; uint32 account_type = 7; - string Unk3300_BBAABEHNFOE = 868; + string security_library_md5 = 868; string online_id = 577; uint32 Unk3300_PMGFBMJNNCL = 82; string device_name = 12; @@ -61,7 +61,7 @@ message PlayerLoginReq { uint32 Unk3300_PIPLDEAPMMN = 1790; TrackingIOInfo tracking_io_info = 1713; bool is_transfer = 624; - string Unk3300_BIAKNIALBFJ = 828; + string security_library_version = 828; string client_version = 2; bool is_guest = 13; string system_version = 6; diff --git a/proto/PlayerLoginRsp.proto b/proto/PlayerLoginRsp.proto index 3f990171..85be5faf 100644 --- a/proto/PlayerLoginRsp.proto +++ b/proto/PlayerLoginRsp.proto @@ -34,10 +34,10 @@ message PlayerLoginRsp { // } uint64 login_rand = 9; - bytes Unk3300_DHCMDHHDLFF = 2; - string Unk3300_HMGCPAGLDHB = 16; + bytes player_data = 2; + string client_silence_md5 = 16; double total_tick_time = 530; - bool Unk3300_LLIJKLDBHNN = 5; + bool is_use_ability_hash = 5; bool is_audit = 930; string birthday = 1387; bool Unk3300_HGFNECIJDLN = 13; @@ -50,11 +50,11 @@ message PlayerLoginRsp { ResVersionConfig res_version_config = 808; uint32 client_silence_data_version = 1; uint32 target_uid = 15; - string Unk3300_NEICPFBPNPD = 99; - bool Unk3300_CANONIPHMDI = 1522; + string register_cps = 99; + bool is_sc_open = 1522; bool Unk3300_IIHDKKNJPGD = 8; uint32 player_data_version = 14; - bytes Unk3300_MOPDDGHMKBD = 1888; + bytes sc_info = 1888; string country_code = 360; ResVersionConfig next_res_version_config = 1688; bool Unk3300_IADLIIMGDMC = 17; @@ -65,7 +65,7 @@ message PlayerLoginRsp { map ability_hash_map = 3; int32 ability_hash_code = 12; uint32 client_data_version = 10; - string Unk3300_OPGDBOLKLJA = 1299; + string client_md5 = 1299; int32 retcode = 7; repeated FeatureBlockInfo feature_block_info_list = 138; } diff --git a/proto/PlayerTag.proto b/proto/PlayerTag.proto new file mode 100644 index 00000000..1cee8f13 --- /dev/null +++ b/proto/PlayerTag.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum PlayerTag { + PLAYER_TAG_NORMAL = 0; + PLAYER_TAG_SUB_ACCOUNT = 3; + PLAYER_TAG_SUB_ACCOUNT_TRANS_TO_NORMAL = 5; +} diff --git a/proto/RegionType.proto b/proto/RegionType.proto new file mode 100644 index 00000000..91d03e0b --- /dev/null +++ b/proto/RegionType.proto @@ -0,0 +1,27 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum RegionType { + REGION_TYPE_PRODUCT = 0; + REGION_TYPE_EXAM = 1; + REGION_TYPE_DEV_PUB = 2; + REGION_TYPE_DEV_PRI = 3; +} diff --git a/proto/ReliquaryFilterKey.proto b/proto/ReliquaryFilterKey.proto new file mode 100644 index 00000000..468c8a5b --- /dev/null +++ b/proto/ReliquaryFilterKey.proto @@ -0,0 +1,27 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ReliquaryFilterKey { + RELIQUARY_FILTER_KEY_NONE = 0; + RELIQUARY_FILTER_KEY_LOCK = 1; + RELIQUARY_FILTER_KEY_LEVEL = 2; + RELIQUARY_FILTER_KEY_WEARING = 3; +} diff --git a/proto/ReliquaryFilterLevelState.proto b/proto/ReliquaryFilterLevelState.proto new file mode 100644 index 00000000..d543bce6 --- /dev/null +++ b/proto/ReliquaryFilterLevelState.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ReliquaryFilterLevelState { + RELIQUARY_FILTER_LEVEL_STATE_NONE = 0; + RELIQUARY_FILTER_LEVEL_STATE_FULL_LEVEL = 1; + RELIQUARY_FILTER_LEVEL_STATE_NOT_FULL_LEVEL = 2; +} diff --git a/proto/ReliquaryFilterLockState.proto b/proto/ReliquaryFilterLockState.proto new file mode 100644 index 00000000..16515744 --- /dev/null +++ b/proto/ReliquaryFilterLockState.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ReliquaryFilterLockState { + RELIQUARY_FILTER_LOCK_STATE_NONE = 0; + RELIQUARY_FILTER_LOCK_STATE_LOCK = 1; + RELIQUARY_FILTER_LOCK_STATE_UNLOCK = 2; +} diff --git a/proto/ReliquaryFilterWearedState.proto b/proto/ReliquaryFilterWearedState.proto new file mode 100644 index 00000000..eab270ad --- /dev/null +++ b/proto/ReliquaryFilterWearedState.proto @@ -0,0 +1,26 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ReliquaryFilterWearedState { + RELIQUARY_FILTER_WEARED_STATE_NONE = 0; + RELIQUARY_FILTER_WEARED_STATE_HAS_BEEN_WEARED = 1; + RELIQUARY_FILTER_WEARED_STATE_HAS_NOT_BEEN_WEARED = 2; +} diff --git a/proto/SceneidConstValue.proto b/proto/SceneidConstValue.proto new file mode 100644 index 00000000..6f6d8fd5 --- /dev/null +++ b/proto/SceneidConstValue.proto @@ -0,0 +1,29 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum SceneidConstValue { + SCENEID_CONST_VALUE_NONE = 0; + SCENEID_CONST_VALUE_MAIN = 3; + SCENEID_CONST_VALUE_ISLAND = 4; + SCENEID_CONST_VALUE_ENKANOMIYA = 5; + SCENEID_CONST_VALUE_MICHIAE_MATSURI = 7; + SCENEID_CONST_VALUE_28_ISLAND = 9; +} diff --git a/proto/SecurityCheckType.proto b/proto/SecurityCheckType.proto new file mode 100644 index 00000000..7072a8d9 --- /dev/null +++ b/proto/SecurityCheckType.proto @@ -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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum SecurityCheckType { + SECURITY_CHECK_TYPE_NONE = 0; + SECURITY_CHECK_TYPE_LOGIN = 1; +} diff --git a/proto/SegmentCRCModuleType.proto b/proto/SegmentCRCModuleType.proto new file mode 100644 index 00000000..1b61655c --- /dev/null +++ b/proto/SegmentCRCModuleType.proto @@ -0,0 +1,31 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum SegmentCRCModuleType { + SEGMENT_CRC_MODULE_TYPE_NONE = 0; + SEGMENT_CRC_MODULE_TYPE_PC_UNITYPLAYER = 1; + SEGMENT_CRC_MODULE_TYPE_PC_USERASSEMBLY = 2; + SEGMENT_CRC_MODULE_TYPE_PC_XLUA = 3; + SEGMENT_CRC_MODULE_TYPE_ANDROID_LIBIL2CPP = 11; + SEGMENT_CRC_MODULE_TYPE_ANDROID_LIBUNITY = 12; + SEGMENT_CRC_MODULE_TYPE_ANDROID_LIBXLUA = 13; + SEGMENT_CRC_MODULE_TYPE_IOS_HK4E = 21; +} diff --git a/proto/ServiceType.proto b/proto/ServiceType.proto new file mode 100644 index 00000000..05145d46 --- /dev/null +++ b/proto/ServiceType.proto @@ -0,0 +1,44 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum ServiceType { + SERVICE_TYPE_NONE = 0; + SERVICE_TYPE_CLIENT = 1; + SERVICE_TYPE_GATE = 2; + SERVICE_TYPE_GAME = 3; + SERVICE_TYPE_NODE = 4; + SERVICE_TYPE_DB = 5; + SERVICE_TYPE_SNS = 6; + SERVICE_TYPE_DISPATCH = 7; + SERVICE_TYPE_MUIP = 8; + SERVICE_TYPE_OFFLINE_MSG = 9; + SERVICE_TYPE_MAIL = 10; + SERVICE_TYPE_MP = 11; + SERVICE_TYPE_HTTPPROXY = 12; + SERVICE_TYPE_ACTIVITY = 13; + SERVICE_TYPE_PATHFINDING = 14; + SERVICE_TYPE_SOCIAL = 15; + SERVICE_TYPE_OA = 16; + SERVICE_TYPE_MATCH = 17; + SERVICE_TYPE_OFFLINE_OP = 18; + SERVICE_TYPE_TOTHEMOON = 19; + SERVICE_TYPE_GCG = 20; +} diff --git a/proto/StoreWeightLimitNotify.proto b/proto/StoreWeightLimitNotify.proto index eaab88f2..3d3c999d 100644 --- a/proto/StoreWeightLimitNotify.proto +++ b/proto/StoreWeightLimitNotify.proto @@ -30,7 +30,7 @@ message StoreWeightLimitNotify { // ENET_IS_RELIABLE = 1; // } - uint32 Unk3300_ICDKCEOJKKG = 14; + uint32 reliquary_count_limit = 14; uint32 Unk3300_NIKMCBLHFNJ = 10; uint32 Unk3300_OONMFCGDMMF = 5; uint32 Unk3300_JGPODDEKAPB = 1; diff --git a/proto/TowerAllDataRsp.proto b/proto/TowerAllDataRsp.proto index 27dbc678..be24b386 100644 --- a/proto/TowerAllDataRsp.proto +++ b/proto/TowerAllDataRsp.proto @@ -33,11 +33,11 @@ message TowerAllDataRsp { // } uint32 Unk3300_HCDFJBHMHHF = 6; - uint32 Unk3300_ILDODKDADMI = 8; + uint32 next_schedule_change_time = 8; bool is_first_interact = 5; uint32 tower_schedule_id = 1; uint32 Unk3300_JBACKENDHDG = 10; - uint32 Unk3300_KGHOIIAEIHH = 610; + uint32 schedule_start_time = 610; int32 retcode = 11; uint32 Unk3300_OHCHCJGJIDK = 4; uint32 Unk3300_BBHKBDDFPFE = 2; diff --git a/proto/TowerBriefDataNotify.proto b/proto/TowerBriefDataNotify.proto index 2f850112..121ceb98 100644 --- a/proto/TowerBriefDataNotify.proto +++ b/proto/TowerBriefDataNotify.proto @@ -28,11 +28,11 @@ message TowerBriefDataNotify { // ENET_IS_RELIABLE = 1; // } - uint32 Unk3300_OLBDJEGPDFE = 6; - uint32 Unk3300_ILDODKDADMI = 9; + uint32 last_level_index = 6; + uint32 next_schedule_change_time = 9; bool is_finished_entrance_floor = 14; - uint32 Unk3300_CFKJBOIJDBD = 1; + uint32 last_floor_index = 1; uint32 tower_schedule_id = 11; - uint32 Unk3300_KGHOIIAEIHH = 8; - uint32 Unk3300_CNMMBJABMKA = 7; + uint32 schedule_start_time = 8; + uint32 total_star_num = 7; } diff --git a/proto/VehicleSlot.proto b/proto/VehicleSlot.proto new file mode 100644 index 00000000..72b48e69 --- /dev/null +++ b/proto/VehicleSlot.proto @@ -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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum VehicleSlot { + VEHICLE_SLOT_OPERATOR = 0; +} diff --git a/proto/VirtualItem.proto b/proto/VirtualItem.proto new file mode 100644 index 00000000..76dab844 --- /dev/null +++ b/proto/VirtualItem.proto @@ -0,0 +1,85 @@ +// 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 . + +syntax = "proto3"; + +option java_package = "emu.grasscutter.net.proto"; + +enum VirtualItem { + VIRTUAL_ITEM_VIRTUAL_NONE = 0; + VIRTUAL_ITEM_VIRTUAL_AVATAR_EXP = 101; + VIRTUAL_ITEM_VIRTUAL_PLAYER_EXP = 102; + VIRTUAL_ITEM_VIRTUAL_FETTER_EXP = 105; + VIRTUAL_ITEM_VIRTUAL_RESIN = 106; + VIRTUAL_ITEM_VIRTUAL_LEGENDARY_KEY = 107; + VIRTUAL_ITEM_VIRTUAL_ASTER_PROGRESS = 108; + VIRTUAL_ITEM_VIRTUAL_ASTER_CREDIT = 109; + VIRTUAL_ITEM_VIRTUAL_ASTER_TOKEN = 110; + VIRTUAL_ITEM_VIRTUAL_SHIMMERING_ESSENCE = 111; + VIRTUAL_ITEM_VIRTUAL_WARM_ESSENCE = 112; + VIRTUAL_ITEM_VIRTUAL_WONDROUS_ESSENCE = 113; + VIRTUAL_ITEM_VIRTUAL_TREASURE_MAP_TOKEN = 114; + VIRTUAL_ITEM_VIRTUAL_SEA_LAMP_COIN = 115; + VIRTUAL_ITEM_VIRTUAL_SEA_LAMP_POPULARITY = 116; + VIRTUAL_ITEM_VIRTUAL_MECHANICUS_COIN = 117; + VIRTUAL_ITEM_VIRTUAL_FLEUR_FAIR_CREDIT = 118; + VIRTUAL_ITEM_VIRTUAL_FLEUR_FAIR_TOKEN = 119; + VIRTUAL_ITEM_VIRTUAL_WATER_SPIRIT_COIN = 120; + VIRTUAL_ITEM_VIRTUAL_HOME_EXP = 121; + VIRTUAL_ITEM_VIRTUAL_CHANNELLER_SLAB_TOKEN = 122; + VIRTUAL_ITEM_VIRTUAL_HIDE_AND_SEEK_COIN = 123; + VIRTUAL_ITEM_VIRTUAL_SUMMER_TIME_DRAFT_WOOD = 124; + VIRTUAL_ITEM_VIRTUAL_SUMMER_TIME_MINI_HARPASTUM = 125; + VIRTUAL_ITEM_VIRTUAL_BOUNCE_CONJURING_COIN = 126; + VIRTUAL_ITEM_VIRTUAL_BLITZ_RUSH_COIN_A = 127; + VIRTUAL_ITEM_VIRTUAL_BLITZ_RUSH_COIN_B = 128; + VIRTUAL_ITEM_VIRTUAL_CHESS_EXP = 129; + VIRTUAL_ITEM_VIRTUAL_CHESS_COIN = 130; + VIRTUAL_ITEM_VIRTUAL_LUNA_RITE_ATMOSPHERE = 131; + VIRTUAL_ITEM_VIRTUAL_ROGUELIKE_COIN_A = 132; + VIRTUAL_ITEM_VIRTUAL_ROGUELIKE_COIN_B = 133; + VIRTUAL_ITEM_VIRTUAL_ROGUELIKE_COIN_C = 134; + VIRTUAL_ITEM_VIRTUAL_WINTER_CAMP_COIN_A = 135; + VIRTUAL_ITEM_VIRTUAL_WINTER_CAMP_COIN_B = 136; + VIRTUAL_ITEM_VIRTUAL_LANTERN_RITE_COIN_A = 137; + VIRTUAL_ITEM_VIRTUAL_LANTERN_RITE_COIN_B = 138; + VIRTUAL_ITEM_VIRTUAL_LANTERN_RITE_COIN_C = 139; + VIRTUAL_ITEM_VIRTUAL_ROGUE_DIARY_COIN = 140; + VIRTUAL_ITEM_VIRTUAL_SUMMER_TIME_V2_COIN = 141; + VIRTUAL_ITEM_VIRTUAL_ROGUE_DIARY_DUNGEON_COIN = 142; + VIRTUAL_ITEM_VIRTUAL_GRAVEN_INNOCENCE_COIN_A = 143; + VIRTUAL_ITEM_VIRTUAL_GRAVEN_INNOCENCE_COIN_B = 144; + VIRTUAL_ITEM_VIRTUAL_TREASURE_SEELIE_COIN = 145; + VIRTUAL_ITEM_VIRTUAL_VINTAGE_POPULARITY = 147; + VIRTUAL_ITEM_VIRTUAL_GCG_EXP = 146; + VIRTUAL_ITEM_VIRTUAL_VINTAGE_MARKET_COIN_A = 148; + VIRTUAL_ITEM_VIRTUAL_VINTAGE_MARKET_COIN_B = 149; + VIRTUAL_ITEM_VIRTUAL_VINTAGE_MARKET_COIN_C = 150; + VIRTUAL_ITEM_VIRTUAL_FUNGUS_FIGHTER_CAPTURE_COIN = 151; + VIRTUAL_ITEM_VIRTUAL_FUNGUS_FIGHTER_TRAINING_COIN = 152; + VIRTUAL_ITEM_VIRTUAL_EFFIGY_CHALLENGE_V2_COIN = 153; + VIRTUAL_ITEM_VIRTUAL_BRICK_BREAKER_COIN = 155; + VIRTUAL_ITEM_VIRTUAL_HCOIN = 201; + VIRTUAL_ITEM_VIRTUAL_SCOIN = 202; + VIRTUAL_ITEM_VIRTUAL_MCOIN = 203; + VIRTUAL_ITEM_VIRTUAL_HOME_COIN = 204; + VIRTUAL_ITEM_VIRTUAL_GCG_COIN = 205; + VIRTUAL_ITEM_VIRTUAL_INAZUMA_REPUTATION = 314; + VIRTUAL_ITEM_VIRTUAL_MENGDE_REPUTATION = 315; + VIRTUAL_ITEM_VIRTUAL_SUMERU_REPUTATION = 316; + VIRTUAL_ITEM_VIRTUAL_LIYUE_REPUTATION = 317; +}