From b9631c1442fdf7439f19bf12857b031f7bec24b6 Mon Sep 17 00:00:00 2001 From: xeon Date: Thu, 11 Apr 2024 18:23:13 +0300 Subject: [PATCH] use OpenStateConfig excel --- .../ExcelBinOutput/OpenStateConfigData.json | 2871 +++++++++++++++++ gameserver/src/data/excels.rs | 9 + gameserver/src/data/mod.rs | 7 +- gameserver/src/game/constants.rs | 6 - gameserver/src/net/handlers/authentication.rs | 9 +- 5 files changed, 2890 insertions(+), 12 deletions(-) create mode 100644 gameserver/assets/ExcelBinOutput/OpenStateConfigData.json diff --git a/gameserver/assets/ExcelBinOutput/OpenStateConfigData.json b/gameserver/assets/ExcelBinOutput/OpenStateConfigData.json new file mode 100644 index 0000000..571830d --- /dev/null +++ b/gameserver/assets/ExcelBinOutput/OpenStateConfigData.json @@ -0,0 +1,2871 @@ +[ + { + "id": 1, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 10, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 5, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 6, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 7, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 8, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 9, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 11, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 12, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 31, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 2010001 + }, + {} + ], + "systemOpenUiId": 1 + }, + { + "id": 30, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 2 + }, + {} + ] + }, + { + "id": 37, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 2 + }, + {} + ] + }, + { + "id": 39, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 14 + }, + {} + ] + }, + { + "id": 45, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 54, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 35723 + }, + {} + ], + "systemOpenUiId": 13 + }, + { + "id": 2100, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 7 + }, + {} + ] + }, + { + "id": 13, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 14, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 15, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 16, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 17, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 18, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 19, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 20, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 21, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 22, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 23, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 24, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 25, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 26, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 27, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 28, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 29, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 32, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 33, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 34, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 35, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 36, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 38, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 40, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 41, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 50, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 51, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 59, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 52, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 53, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 8 + }, + {} + ], + "systemOpenUiId": 11 + }, + { + "id": 56, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 58, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 76, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 60, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 61, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 62, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 63, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 64, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 66, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 67, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 68, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 69, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 70, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 71, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 72, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 73, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 74, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 75, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 77, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 78, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 79, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 80, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 81, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 82, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 83, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 84, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2001, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2002, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2003, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2004, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2104, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2105, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2106, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1411, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1412, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2205, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2206, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2400, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2401, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2402, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2210, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2211, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2212, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2601, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2700, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2701, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2702, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2703, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3500, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3501, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3502, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3503, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2800, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2704, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3006, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3007, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3100, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3101, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3102, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3103, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3201, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3312, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3313, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3314, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3400, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3504, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3601, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3611, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3612, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3613, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3614, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3615, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3616, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3701, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3703, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3704, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3705, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3710, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3711, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3712, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3713, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3714, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3715, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3716, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3717, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3718, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3719, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3720, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3721, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3722, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3723, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3750, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4100, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4101, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4102, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4200, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4201, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4202, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4301, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4302, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4303, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4304, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 57, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 26 + }, + {} + ], + "systemOpenUiId": 17 + }, + { + "id": 43, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1001, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1002, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 1 + }, + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 31101 + } + ] + }, + { + "id": 1003, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1004, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 5 + }, + {} + ] + }, + { + "id": 1005, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 5 + }, + {} + ] + }, + { + "id": 1006, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 13 + }, + {} + ] + }, + { + "id": 1007, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1008, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 5 + }, + {} + ] + }, + { + "id": 1009, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 1 + }, + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 31101 + } + ] + }, + { + "id": 1010, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 5 + }, + {} + ] + }, + { + "id": 903, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 901, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 902, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 900, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 2010001 + }, + {} + ], + "systemOpenUiId": 12 + }, + { + "id": 1011, + "cond": [ + { + "condType": "OPEN_STATE_OFFERING_LEVEL", + "param": 2, + "param2": 50 + }, + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 31101 + } + ] + }, + { + "id": 1013, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3004, + "cond": [ + { + "condType": "OPEN_STATE_OFFERING_LEVEL", + "param": 5, + "param2": 50 + }, + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 31101 + } + ] + }, + { + "id": 3005, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4006, + "cond": [ + { + "condType": "OPEN_STATE_OFFERING_LEVEL", + "param": 7, + "param2": 50 + }, + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 31101 + } + ] + }, + { + "id": 4007, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1100, + "cond": [ + {}, + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 2003003 + } + ] + }, + { + "id": 1103, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 8 + }, + {} + ] + }, + { + "id": 1101, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1102, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 2211102 + }, + {} + ] + }, + { + "id": 1104, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 39303 + }, + {} + ] + }, + { + "id": 2801, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 16 + }, + {} + ] + }, + { + "id": 44, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 47, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 35001 + }, + {} + ] + }, + { + "id": 48, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 99902 + }, + {} + ] + }, + { + "id": 49, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 16 + }, + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 35001 + } + ], + "systemOpenUiId": 9 + }, + { + "id": 1403, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 35311 + }, + {} + ] + }, + { + "id": 1200, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 4000100 + }, + {} + ], + "systemOpenUiId": 2 + }, + { + "id": 1201, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 4000110 + }, + {} + ] + }, + { + "id": 1202, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 4000104 + }, + {} + ] + }, + { + "id": 1300, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 1301, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 20 + }, + {} + ], + "systemOpenUiId": 10 + }, + { + "id": 55, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1401, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 35802 + }, + {} + ] + }, + { + "id": 1402, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 39403 + }, + {} + ] + }, + { + "id": 802, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 25 + }, + {} + ], + "systemOpenUiId": 14 + }, + { + "id": 800, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7065001 + }, + {} + ] + }, + { + "id": 801, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7165001 + }, + {} + ] + }, + { + "id": 803, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7265701 + }, + {} + ] + }, + { + "id": 3000, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7367301 + }, + {} + ] + }, + { + "id": 4000, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7465001 + }, + {} + ] + }, + { + "id": 1404, + "cond": [ + { + "condType": "OPEN_STATE_CITY_REPUTATION_LEVEL", + "param": 1, + "param2": 2 + }, + {} + ] + }, + { + "id": 1405, + "cond": [ + { + "condType": "OPEN_STATE_CITY_REPUTATION_LEVEL", + "param": 2, + "param2": 2 + }, + {} + ] + }, + { + "id": 1409, + "cond": [ + { + "condType": "OPEN_STATE_CITY_REPUTATION_LEVEL", + "param": 3, + "param2": 2 + }, + {} + ] + }, + { + "id": 3002, + "cond": [ + { + "condType": "OPEN_STATE_CITY_REPUTATION_LEVEL", + "param": 4, + "param2": 2 + }, + {} + ] + }, + { + "id": 4001, + "cond": [ + { + "condType": "OPEN_STATE_CITY_REPUTATION_LEVEL", + "param": 5, + "param2": 2 + }, + {} + ] + }, + { + "id": 65, + "defaultState": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1406, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7014118 + }, + {} + ], + "systemOpenUiId": 15 + }, + { + "id": 1407, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7181210 + }, + {} + ] + }, + { + "id": 1408, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 26 + }, + {} + ] + }, + { + "id": 1410, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7066103 + }, + {} + ], + "systemOpenUiId": 19 + }, + { + "id": 2200, + "cond": [ + { + "condType": "OPEN_STATE_COND_PARENT_QUEST", + "param": 1025 + }, + {} + ] + }, + { + "id": 2201, + "cond": [ + { + "condType": "OPEN_STATE_COND_PARENT_QUEST", + "param": 70661 + }, + {} + ] + }, + { + "id": 1502, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 1100811 + }, + {} + ], + "systemOpenUiId": 16 + }, + { + "id": 1500, + "cond": [ + {}, + {} + ] + }, + { + "id": 1501, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 28 + }, + {} + ] + }, + { + "id": 1700, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 10 + }, + {} + ] + }, + { + "id": 1600, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 45 + }, + {} + ] + }, + { + "id": 1504, + "cond": [ + { + "condType": "OPEN_STATE_COND_PARENT_QUEST", + "param": 71654 + }, + {} + ] + }, + { + "id": 1505, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2000, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 201310 + }, + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 30 + } + ], + "systemOpenUiId": 18 + }, + { + "id": 1012, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 1201812 + }, + {} + ] + }, + { + "id": 2600, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7103711 + }, + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 28 + } + ], + "systemOpenUiId": 20 + }, + { + "id": 3001, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7322902 + }, + {} + ], + "systemOpenUiId": 21 + }, + { + "id": 3600, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7334101 + }, + {} + ], + "systemOpenUiId": 23 + }, + { + "id": 4004, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 400617 + }, + {} + ], + "systemOpenUiId": 24 + }, + { + "id": 4005, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4400, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7112704 + }, + {} + ], + "systemOpenUiId": 25 + }, + { + "id": 4401, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 1503, + "cond": [ + { + "condType": "OPEN_STATE_COND_PARENT_QUEST", + "param": 71655 + }, + {} + ] + }, + { + "id": 85, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 86, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2101, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 2 + }, + {} + ] + }, + { + "id": 2103, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2102, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2005, + "allowClientOpen": true, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 201310 + }, + {} + ] + }, + { + "id": 87, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 88, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 89, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 2500, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 30 + }, + {} + ] + }, + { + "id": 2403, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7217716 + }, + {} + ] + }, + { + "id": 2501, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 91, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 92, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 90, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3003, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7303510 + }, + {} + ] + }, + { + "id": 3300, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7066521 + }, + {} + ], + "systemOpenUiId": 22 + }, + { + "id": 3301, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 3302, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 4 + }, + {} + ] + }, + { + "id": 3303, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 3304, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7066510 + }, + {} + ] + }, + { + "id": 3305, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 3306, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 3 + }, + {} + ] + }, + { + "id": 3307, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7066510 + }, + {} + ] + }, + { + "id": 3308, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 2 + }, + {} + ] + }, + { + "id": 3309, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7066521 + }, + {} + ] + }, + { + "id": 3200, + "defaultState": true, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3311, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 3700, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 4 + }, + {} + ] + }, + { + "id": 4008, + "cond": [ + { + "condType": "OPEN_STATE_COND_GCG_LEVEL", + "param": 1 + }, + {} + ] + }, + { + "id": 4204, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3505, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3506, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3702, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3800, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 4011314 + }, + {} + ] + }, + { + "id": 3801, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 4011501 + }, + {} + ] + }, + { + "id": 3802, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 4011602 + }, + {} + ] + }, + { + "id": 3805, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3751, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3760, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3761, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4002, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4003, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4009, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4010, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3803, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 3804, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4103, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4104, + "cond": [ + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 35 + }, + {} + ] + }, + { + "id": 4105, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 202102 + }, + {} + ] + }, + { + "id": 4106, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4107, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4108, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4109, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4203, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4300, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4110, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4111, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4206, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4207, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4208, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4112, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4210, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4211, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4212, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4213, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4214, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4215, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4216, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4217, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4218, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4219, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4220, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4402, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 7110082 + }, + {} + ] + }, + { + "id": 4501, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4502, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4403, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4404, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4504, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4503, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4509, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4505, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4506, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4507, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4508, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4526, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4520, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4510, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 2003004 + }, + { + "condType": "OPEN_STATE_COND_PLAYER_LEVEL", + "param": 12 + } + ] + }, + { + "id": 4511, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4512, + "cond": [ + { + "condType": "OPEN_STATE_COND_QUEST", + "param": 2500902 + }, + {} + ] + }, + { + "id": 4513, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4514, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4515, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4516, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4517, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4519, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4525, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4521, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4522, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + }, + { + "id": 4523, + "allowClientOpen": true, + "cond": [ + {}, + {} + ] + } +] \ No newline at end of file diff --git a/gameserver/src/data/excels.rs b/gameserver/src/data/excels.rs index 19a9290..3276ec9 100644 --- a/gameserver/src/data/excels.rs +++ b/gameserver/src/data/excels.rs @@ -37,6 +37,15 @@ pub struct AvatarExcelConfig { pub lodpattern_name: String, } +#[derive(Deserialize, Default)] +#[serde(default)] +#[serde(rename_all = "camelCase")] +pub struct OpenStateConfig { + pub id: u32, + pub default_state: bool, + pub allow_client_open: bool, +} + #[derive(Deserialize)] #[serde(rename_all = "camelCase")] pub struct PropGrowCurve { diff --git a/gameserver/src/data/mod.rs b/gameserver/src/data/mod.rs index e5f3dcf..e663180 100644 --- a/gameserver/src/data/mod.rs +++ b/gameserver/src/data/mod.rs @@ -20,6 +20,7 @@ lazy_static! { pub struct ExcelCollection { pub avatar_configs: Vec, + pub open_state_configs: Vec, } pub struct GameConfigCollection { @@ -33,11 +34,15 @@ impl ExcelCollection { "assets/ExcelBinOutput/AvatarExcelConfigData.json", )) .unwrap(), + open_state_configs: from_str(&load_asset( + "assets/ExcelBinOutput/OpenStateConfigData.json", + )) + .unwrap(), } } pub fn table_count(&self) -> usize { - 1 + 2 } } diff --git a/gameserver/src/game/constants.rs b/gameserver/src/game/constants.rs index be21a9c..6e4e730 100644 --- a/gameserver/src/game/constants.rs +++ b/gameserver/src/game/constants.rs @@ -1,11 +1,5 @@ use proto::Vector; -pub static OPEN_STATES: [u32; 58] = [ - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 27, 28, 29, 30, 31, 32, 33, 37, 38, 45, 47, - 53, 54, 55, 59, 62, 65, 900, 901, 902, 903, 1001, 1002, 1003, 1004, 1005, 1007, 1008, 1009, - 1010, 1100, 1103, 1300, 1401, 1403, 1700, 2100, 2101, 2103, 2400, 3701, 3702, 4100, -]; - pub static INITIAL_POS: Vector = Vector { x: 2336.789, y: 249.98996, diff --git a/gameserver/src/net/handlers/authentication.rs b/gameserver/src/net/handlers/authentication.rs index 867f3cc..13405d3 100644 --- a/gameserver/src/net/handlers/authentication.rs +++ b/gameserver/src/net/handlers/authentication.rs @@ -5,8 +5,7 @@ use rand::RngCore; use super::*; use crate::{ - game::{constants, entity::Entity, prop_types::*}, - util, + data::EXCEL_COLLECTION, game::{constants, entity::Entity, prop_types::*}, util }; pub async fn on_get_player_token_req( @@ -75,9 +74,9 @@ pub async fn on_player_login_req(session: &PlayerSession, _body: &PlayerLoginReq .send( OPEN_STATE_UPDATE_NOTIFY, OpenStateUpdateNotify { - open_state_map: constants::OPEN_STATES - .into_iter() - .map(|id| (id, 1)) + open_state_map: EXCEL_COLLECTION.open_state_configs + .iter() + .map(|op| (op.id, 1)) .collect(), }, )