├── Library ├── idmaps │ ├── ManaCircleMap.js │ ├── Quest.zip │ ├── DModeMap │ │ ├── DModeCrestMap.json │ │ ├── DModeParamMap.json │ │ ├── DModeSkillMap.json │ │ ├── DModeWeaponMap.json │ │ ├── DModeAbilityMap.json │ │ └── DModeServitorPassive.json │ ├── MissionMap.js │ ├── QuestMap.js │ └── LevelMap.js ├── event │ ├── url_list.msg │ ├── get_mission_list │ ├── BannerList.json │ ├── Support.json │ └── QuestMainRotationBonusDrops.json └── support │ ├── help_10.json │ ├── help_11.json │ ├── help_12.json │ ├── help_13.json │ ├── save_11.json │ ├── save_13.json │ ├── save_10.json │ └── save_12.json ├── conf.json ├── package.json ├── README.md └── LICENSE /Library/idmaps/ManaCircleMap.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Library/idmaps/Quest.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CerisWhite/Orchis-Lite/HEAD/Library/idmaps/Quest.zip -------------------------------------------------------------------------------- /Library/event/url_list.msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CerisWhite/Orchis-Lite/HEAD/Library/event/url_list.msg -------------------------------------------------------------------------------- /Library/event/get_mission_list: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CerisWhite/Orchis-Lite/HEAD/Library/event/get_mission_list -------------------------------------------------------------------------------- /conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "ssl": false, 3 | "cert": "./cert/cert.pem", 4 | "chain": "./cert/chain.pem", 5 | "key": "./cert/privkey.pem", 6 | "port": 3000, 7 | "is_unified_login": true, 8 | "cdn_url": "http://127.0.0.1" 9 | } -------------------------------------------------------------------------------- /Library/event/BannerList.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "summon_id": 1020138, 4 | "summon_type": 2, 5 | "summon_cost": 100, 6 | "start_time": 1691902800, 7 | "end_time": 2721797200, 8 | "campaign_type": 0, 9 | "boost_rate": [], 10 | "characters": [], 11 | "dragons": [], 12 | "wyrmprints": [], 13 | "sigil": [], 14 | "sigil_cost": 300, 15 | "add_sigil_crystal": 0, 16 | "add_sigil_stone": 0 17 | } 18 | ] -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Server", 3 | "version": "1.0.0", 4 | "private": true, 5 | "scripts": { 6 | "start": "node ./Server.js" 7 | }, 8 | "dependencies": { 9 | "body-parser": "^1.20.1", 10 | "compression": "^1.7.4", 11 | "express": "^4.18.2", 12 | "express-async-handler": "^1.2.0", 13 | "fs-extra": "^11.1.0", 14 | "jwt-decode": "^3.1.2", 15 | "msgpackr": "^1.8.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Library/support/help_10.json: -------------------------------------------------------------------------------- 1 | { 2 | "last_active_time": 1669767714, 3 | "chara_id": 10550103, 4 | "equip_dragon_key_id": 1, 5 | "equip_weapon_body_id": 30560104, 6 | "equip_crest_slot_type_1_crest_id_1": 40050100, 7 | "equip_crest_slot_type_1_crest_id_2": 40050060, 8 | "equip_crest_slot_type_1_crest_id_3": 40050034, 9 | "equip_crest_slot_type_2_crest_id_1": 40040062, 10 | "equip_crest_slot_type_2_crest_id_2": 40030011, 11 | "equip_crest_slot_type_3_crest_id_1": 40090029, 12 | "equip_crest_slot_type_3_crest_id_2": 40090028, 13 | "equip_talisman_key_id": 0, 14 | "user_level_group": 0 15 | } -------------------------------------------------------------------------------- /Library/support/help_11.json: -------------------------------------------------------------------------------- 1 | { 2 | "last_active_time": 1669767714, 3 | "chara_id": 10850503, 4 | "equip_dragon_key_id": 1, 5 | "equip_weapon_body_id": 30760501, 6 | "equip_crest_slot_type_1_crest_id_1": 40050020, 7 | "equip_crest_slot_type_1_crest_id_2": 40050060, 8 | "equip_crest_slot_type_1_crest_id_3": 40050151, 9 | "equip_crest_slot_type_2_crest_id_1": 40040082, 10 | "equip_crest_slot_type_2_crest_id_2": 40030011, 11 | "equip_crest_slot_type_3_crest_id_1": 40090024, 12 | "equip_crest_slot_type_3_crest_id_2": 40090018, 13 | "equip_talisman_key_id": 0, 14 | "user_level_group": 0 15 | } -------------------------------------------------------------------------------- /Library/support/help_12.json: -------------------------------------------------------------------------------- 1 | { 2 | "last_active_time": 1669767714, 3 | "chara_id": 10150503, 4 | "equip_dragon_key_id": 1, 5 | "equip_weapon_body_id": 30160504, 6 | "equip_crest_slot_type_1_crest_id_1": 40050158, 7 | "equip_crest_slot_type_1_crest_id_2": 40050075, 8 | "equip_crest_slot_type_1_crest_id_3": 40050122, 9 | "equip_crest_slot_type_2_crest_id_1": 40040080, 10 | "equip_crest_slot_type_2_crest_id_2": 40030011, 11 | "equip_crest_slot_type_3_crest_id_1": 40090002, 12 | "equip_crest_slot_type_3_crest_id_2": 40090019, 13 | "equip_talisman_key_id": 0, 14 | "user_level_group": 0 15 | } -------------------------------------------------------------------------------- /Library/support/help_13.json: -------------------------------------------------------------------------------- 1 | { 2 | "last_active_time": 1669767714, 3 | "chara_id": 10850502, 4 | "equip_dragon_key_id": 1, 5 | "equip_weapon_body_id": 30760501, 6 | "equip_crest_slot_type_1_crest_id_1": 40050020, 7 | "equip_crest_slot_type_1_crest_id_2": 40050060, 8 | "equip_crest_slot_type_1_crest_id_3": 40050151, 9 | "equip_crest_slot_type_2_crest_id_1": 40040082, 10 | "equip_crest_slot_type_2_crest_id_2": 40030011, 11 | "equip_crest_slot_type_3_crest_id_1": 40090024, 12 | "equip_crest_slot_type_3_crest_id_2": 40090018, 13 | "equip_talisman_key_id": 0, 14 | "user_level_group": 0 15 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Orchis-Lite, A (minimal) Dragalia Lost Server Emulator 2 | This is a reduced version of the server hosted at https://orchis.cherrymint.live, with a lot of code removed. 3 | It may not even function right now because a lot of untested changes have been made to enable the minimized nature of it, including the legacy login code. 4 | 5 | This server only allows one user (one account, one save file, one session record). It's designed for self-hosting, and can run on anything that NodeJS can (mostly). 6 | 7 | To use: 8 | - Extract the Quest.zip file into a `Quest` folder. 9 | - `npm install` 10 | - From here, run with `node ./Orchis-Lite.js` 11 | 12 | ## This may not be fully functional as a lot of code has changed. Please feel free to open issues for non-functional code if any is found. 13 | 14 | --- 15 | 16 | What doesn't work in this version: 17 | - Suggestions 18 | - Guilds 19 | - Co-Op 20 | 21 | Additionally: 22 | - All of my admin utilities are removed 23 | - All of the code pertaining to the removed functions listed above are also removed. 24 | -------------------------------------------------------------------------------- /Library/idmaps/DModeMap/DModeCrestMap.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 40000001, 4 | "param_group": 40501, 5 | "ability_group": 40501 6 | }, 7 | { 8 | "id": 40000002, 9 | "param_group": 40502, 10 | "ability_group": 40502 11 | }, 12 | { 13 | "id": 40000003, 14 | "param_group": 40503, 15 | "ability_group": 40503 16 | }, 17 | { 18 | "id": 40020001, 19 | "param_group": 40101, 20 | "ability_group": 40101 21 | }, 22 | { 23 | "id": 40030024, 24 | "param_group": 40201, 25 | "ability_group": 40201 26 | }, 27 | { 28 | "id": 40040009, 29 | "param_group": 40301, 30 | "ability_group": 40301 31 | }, 32 | { 33 | "id": 40040075, 34 | "param_group": 40302, 35 | "ability_group": 40302 36 | }, 37 | { 38 | "id": 40040089, 39 | "param_group": 40303, 40 | "ability_group": 40303 41 | }, 42 | { 43 | "id": 40050006, 44 | "param_group": 40403, 45 | "ability_group": 40403 46 | }, 47 | { 48 | "id": 40050033, 49 | "param_group": 40402, 50 | "ability_group": 40402 51 | }, 52 | { 53 | "id": 40050074, 54 | "param_group": 40401, 55 | "ability_group": 40401 56 | } 57 | ] -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Ceryphim License 2 | 3 | Copyright (c) 2023 Ceris White 4 | 5 | This software is provided 'as-is', without any express or implied warranty. In no event will the author(s) 6 | be held liable for any damages arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, including commercial applications, 9 | and to alter it and redistribute it freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; Only the original copyright holder may claim 12 | they wrote the original software. Redistributions of this software in source and binary forms, 13 | altered or not, must reproduce the logo(s) used by the original copyright holder, if applicable, as 14 | well as a link to the original source repository or homepage of the project, if applicable, in the 15 | software and/or its documentation. 16 | 17 | 2. Altered source code or binaries must be plainly marked as such, and must not be misrepresented as 18 | being the original software. 19 | 20 | 3. This notice may not be removed from or altered in any distribution, source or binary. Optionally, it 21 | may be included in a separate file or files. 22 | -------------------------------------------------------------------------------- /Library/support/save_11.json: -------------------------------------------------------------------------------- 1 | {"data_headers":{"result_code":1},"data":{"user_data":{"viewer_id":11,"name":"Grace","level":600,"exp":10000000,"crystal":999990,"coin":9999999990,"max_dragon_quantity":225,"max_weapon_quantity":0,"max_amulet_quantity":0,"quest_skip_point":400,"main_party_no":1,"emblem_id":40000002,"active_memory_event_id":0,"mana_point":99999990,"dew_point":99999990,"build_time_point":0,"last_login_time":1669767714,"stamina_single":358,"last_stamina_single_update_time":1661729076,"stamina_single_surplus_second":0,"stamina_multi":54,"last_stamina_multi_update_time":1669782331,"stamina_multi_surplus_second":0,"tutorial_status":60999,"tutorial_flag_list":[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030],"prologue_end_time":1595969801,"is_optin":1,"fort_open_time":1595973967,"create_time":1595965478},"party_power_data":{"max_party_power":51060},"chara_list":[{"chara_id":10850503,"rarity":5,"exp":1191950,"level":80,"additional_max_level":0,"hp_plus_count":100,"attack_plus_count":100,"limit_break_count":4,"is_new":1,"gettime":1595992414,"skill_1_level":3,"skill_2_level":2,"ability_1_level":2,"ability_2_level":2,"ability_3_level":1,"burst_attack_level":2,"combo_buildup_count":0,"hp":810,"attack":442,"ex_ability_level":5,"ex_ability_2_level":5,"is_temporary":0,"is_unlock_edit_skill":1,"mana_circle_piece_id_list":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"list_view_flag":1}],"dragon_list":[{"dragon_key_id":1,"dragon_id":20050520,"level":100,"hp_plus_count":50,"attack_plus_count":50,"exp":1240020,"is_lock":1,"is_new":1,"get_time":1595971002,"skill_1_level":2,"ability_1_level":5,"ability_2_level":5,"limit_break_count":4}],"dragon_reliability_list":[{"dragon_id":20050520,"gettime":1595969602,"reliability_level":30,"reliability_total_exp":36300,"last_contact_time":1621863703}],"weapon_body_list":[{"weapon_body_id":30760501,"buildup_count":80,"limit_break_count":8,"limit_over_count":0,"equipable_count":1,"additional_crest_slot_type_1_count":1,"additional_crest_slot_type_2_count":0,"additional_crest_slot_type_3_count":2,"additional_effect_count":0,"unlock_weapon_passive_ability_no_list":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"fort_passive_chara_weapon_buildup_count":1,"is_new":1,"gettime":1604962781}],"ability_crest_list":[{"ability_crest_id":40050020,"buildup_count":50,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40050060,"buildup_count":50,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40050151,"buildup_count":50,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40040082,"buildup_count":40,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40030011,"buildup_count":40,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40090024,"buildup_count":30,"limit_break_count":4,"equipable_count":1,"hp_plus_count":40,"attack_plus_count":40,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40090018,"buildup_count":30,"limit_break_count":4,"equipable_count":1,"hp_plus_count":40,"attack_plus_count":40,"is_new":1,"is_favorite":0,"gettime":1602623263}]}} -------------------------------------------------------------------------------- /Library/support/save_13.json: -------------------------------------------------------------------------------- 1 | {"data_headers":{"result_code":1},"data":{"user_data":{"viewer_id":13,"name":"Verica","level":600,"exp":10000000,"crystal":999990,"coin":9999999990,"max_dragon_quantity":225,"max_weapon_quantity":0,"max_amulet_quantity":0,"quest_skip_point":400,"main_party_no":1,"emblem_id":40000002,"active_memory_event_id":0,"mana_point":99999990,"dew_point":99999990,"build_time_point":0,"last_login_time":1669767714,"stamina_single":358,"last_stamina_single_update_time":1661729076,"stamina_single_surplus_second":0,"stamina_multi":54,"last_stamina_multi_update_time":1669782331,"stamina_multi_surplus_second":0,"tutorial_status":60999,"tutorial_flag_list":[1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030],"prologue_end_time":1595969801,"is_optin":1,"fort_open_time":1595973967,"create_time":1595965478},"party_power_data":{"max_party_power":51060},"chara_list":[{"chara_id":10850502,"rarity":5,"exp":8866950,"level":100,"additional_max_level":0,"hp_plus_count":100,"attack_plus_count":100,"limit_break_count":4,"is_new":1,"gettime":1595992414,"skill_1_level":3,"skill_2_level":2,"ability_1_level":2,"ability_2_level":2,"ability_3_level":1,"burst_attack_level":2,"combo_buildup_count":0,"hp":810,"attack":442,"ex_ability_level":5,"ex_ability_2_level":5,"is_temporary":0,"is_unlock_edit_skill":1,"mana_circle_piece_id_list":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"list_view_flag":1}],"dragon_list":[{"dragon_key_id":1,"dragon_id":20050520,"level":100,"hp_plus_count":50,"attack_plus_count":50,"exp":1240020,"is_lock":1,"is_new":1,"get_time":1595971002,"skill_1_level":2,"ability_1_level":5,"ability_2_level":5,"limit_break_count":4}],"dragon_reliability_list":[{"dragon_id":20050520,"gettime":1595969602,"reliability_level":30,"reliability_total_exp":36300,"last_contact_time":1621863703}],"weapon_body_list":[{"weapon_body_id":30760501,"buildup_count":80,"limit_break_count":8,"limit_over_count":0,"equipable_count":1,"additional_crest_slot_type_1_count":1,"additional_crest_slot_type_2_count":0,"additional_crest_slot_type_3_count":2,"additional_effect_count":0,"unlock_weapon_passive_ability_no_list":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"fort_passive_chara_weapon_buildup_count":1,"is_new":1,"gettime":1604962781}],"ability_crest_list":[{"ability_crest_id":40050020,"buildup_count":50,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40050060,"buildup_count":50,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40050151,"buildup_count":50,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40040082,"buildup_count":40,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40030011,"buildup_count":40,"limit_break_count":4,"equipable_count":1,"hp_plus_count":50,"attack_plus_count":50,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40090024,"buildup_count":30,"limit_break_count":4,"equipable_count":1,"hp_plus_count":40,"attack_plus_count":40,"is_new":1,"is_favorite":0,"gettime":1602623263},{"ability_crest_id":40090018,"buildup_count":30,"limit_break_count":4,"equipable_count":1,"hp_plus_count":40,"attack_plus_count":40,"is_new":1,"is_favorite":0,"gettime":1602623263}]}} -------------------------------------------------------------------------------- /Library/idmaps/DModeMap/DModeParamMap.json: -------------------------------------------------------------------------------- 1 | { 2 | "30101": [ 3 | { 4 | "id": 3010101 5 | }, 6 | { 7 | "id": 3010102 8 | }, 9 | { 10 | "id": 3010103 11 | }, 12 | { 13 | "id": 3010104 14 | }, 15 | { 16 | "id": 3010105 17 | }, 18 | { 19 | "id": 3010106 20 | }, 21 | { 22 | "id": 3010107 23 | }, 24 | { 25 | "id": 3010108 26 | } 27 | ], 28 | "30201": [ 29 | { 30 | "id": 3020101 31 | }, 32 | { 33 | "id": 3020102 34 | }, 35 | { 36 | "id": 3020103 37 | }, 38 | { 39 | "id": 3020104 40 | }, 41 | { 42 | "id": 3020105 43 | }, 44 | { 45 | "id": 3020106 46 | }, 47 | { 48 | "id": 3020107 49 | }, 50 | { 51 | "id": 3020108 52 | } 53 | ], 54 | "30301": [ 55 | { 56 | "id": 3030101 57 | }, 58 | { 59 | "id": 3030102 60 | }, 61 | { 62 | "id": 3030103 63 | } 64 | ], 65 | "30302": [ 66 | { 67 | "id": 3030201 68 | }, 69 | { 70 | "id": 3030202 71 | }, 72 | { 73 | "id": 3030203 74 | }, 75 | { 76 | "id": 3030204 77 | } 78 | ], 79 | "30303": [ 80 | { 81 | "id": 3030301 82 | }, 83 | { 84 | "id": 3030302 85 | } 86 | ], 87 | "30401": [ 88 | { 89 | "id": 3040101 90 | }, 91 | { 92 | "id": 3040102 93 | }, 94 | { 95 | "id": 3040103 96 | } 97 | ], 98 | "30402": [ 99 | { 100 | "id": 3040201 101 | }, 102 | { 103 | "id": 3040202 104 | }, 105 | { 106 | "id": 3040203 107 | }, 108 | { 109 | "id": 3040204 110 | } 111 | ], 112 | "30403": [ 113 | { 114 | "id": 3040301 115 | }, 116 | { 117 | "id": 3040302 118 | } 119 | ], 120 | "30501": [ 121 | { 122 | "id": 3050101 123 | }, 124 | { 125 | "id": 3050102 126 | }, 127 | { 128 | "id": 3050103 129 | }, 130 | { 131 | "id": 3050104 132 | } 133 | ], 134 | "30502": [ 135 | { 136 | "id": 3050201 137 | }, 138 | { 139 | "id": 3050202 140 | }, 141 | { 142 | "id": 3050203 143 | }, 144 | { 145 | "id": 3050204 146 | }, 147 | { 148 | "id": 3050205 149 | }, 150 | { 151 | "id": 3050206 152 | }, 153 | { 154 | "id": 3050207 155 | } 156 | ], 157 | "30503": [ 158 | { 159 | "id": 3050301 160 | }, 161 | { 162 | "id": 3050302 163 | } 164 | ], 165 | "40101": [ 166 | { 167 | "id": 4010101 168 | }, 169 | { 170 | "id": 4010102 171 | }, 172 | { 173 | "id": 4010103 174 | }, 175 | { 176 | "id": 4010104 177 | }, 178 | { 179 | "id": 4010105 180 | }, 181 | { 182 | "id": 4010106 183 | }, 184 | { 185 | "id": 4010107 186 | } 187 | ], 188 | "40201": [ 189 | { 190 | "id": 4020101 191 | }, 192 | { 193 | "id": 4020102 194 | }, 195 | { 196 | "id": 4020103 197 | }, 198 | { 199 | "id": 4020104 200 | }, 201 | { 202 | "id": 4020105 203 | }, 204 | { 205 | "id": 4020106 206 | }, 207 | { 208 | "id": 4020107 209 | } 210 | ], 211 | "40301": [ 212 | { 213 | "id": 4030101 214 | }, 215 | { 216 | "id": 4030102 217 | }, 218 | { 219 | "id": 4030103 220 | } 221 | ], 222 | "40302": [ 223 | { 224 | "id": 4030201 225 | }, 226 | { 227 | "id": 4030202 228 | } 229 | ], 230 | "40303": [ 231 | { 232 | "id": 4030301 233 | }, 234 | { 235 | "id": 4030302 236 | } 237 | ], 238 | "40401": [ 239 | { 240 | "id": 4040101 241 | }, 242 | { 243 | "id": 4040102 244 | }, 245 | { 246 | "id": 4040103 247 | } 248 | ], 249 | "40402": [ 250 | { 251 | "id": 4040201 252 | }, 253 | { 254 | "id": 4040202 255 | } 256 | ], 257 | "40403": [ 258 | { 259 | "id": 4040301 260 | }, 261 | { 262 | "id": 4040302 263 | } 264 | ], 265 | "40501": [ 266 | { 267 | "id": 4050101 268 | }, 269 | { 270 | "id": 4050102 271 | }, 272 | { 273 | "id": 4050103 274 | } 275 | ], 276 | "40502": [ 277 | { 278 | "id": 4050201 279 | }, 280 | { 281 | "id": 4050202 282 | } 283 | ], 284 | "40503": [ 285 | { 286 | "id": 4050301 287 | }, 288 | { 289 | "id": 4050302 290 | } 291 | ] 292 | } -------------------------------------------------------------------------------- /Library/idmaps/DModeMap/DModeSkillMap.json: -------------------------------------------------------------------------------- 1 | { 2 | "30101": [ 3 | { 4 | "id": 3010101, 5 | "ability_id": 0 6 | }, 7 | { 8 | "id": 3010102, 9 | "ability_id": 108305011 10 | }, 11 | { 12 | "id": 3010103, 13 | "ability_id": 108503011 14 | }, 15 | { 16 | "id": 3010104, 17 | "ability_id": 105502046 18 | }, 19 | { 20 | "id": 3010105, 21 | "ability_id": 104503041 22 | }, 23 | { 24 | "id": 3010106, 25 | "ability_id": 109502022 26 | } 27 | ], 28 | "30201": [ 29 | { 30 | "id": 3020101, 31 | "ability_id": 0 32 | }, 33 | { 34 | "id": 3020102, 35 | "ability_id": 108305011 36 | }, 37 | { 38 | "id": 3020103, 39 | "ability_id": 108503011 40 | }, 41 | { 42 | "id": 3020104, 43 | "ability_id": 105502046 44 | }, 45 | { 46 | "id": 3020105, 47 | "ability_id": 104503041 48 | }, 49 | { 50 | "id": 3020106, 51 | "ability_id": 109502022 52 | } 53 | ], 54 | "30301": [ 55 | { 56 | "id": 3030101, 57 | "ability_id": 0 58 | }, 59 | { 60 | "id": 3030102, 61 | "ability_id": 104501012 62 | }, 63 | { 64 | "id": 3030103, 65 | "ability_id": 105304012 66 | }, 67 | { 68 | "id": 3030104, 69 | "ability_id": 108305011 70 | }, 71 | { 72 | "id": 3030105, 73 | "ability_id": 105502046 74 | }, 75 | { 76 | "id": 3030106, 77 | "ability_id": 109502022 78 | } 79 | ], 80 | "30302": [ 81 | { 82 | "id": 3030201, 83 | "ability_id": 0 84 | }, 85 | { 86 | "id": 3030202, 87 | "ability_id": 107501011 88 | }, 89 | { 90 | "id": 3030203, 91 | "ability_id": 108305011 92 | }, 93 | { 94 | "id": 3030204, 95 | "ability_id": 104503041 96 | }, 97 | { 98 | "id": 3030205, 99 | "ability_id": 104505031 100 | } 101 | ], 102 | "30303": [ 103 | { 104 | "id": 3030301, 105 | "ability_id": 0 106 | }, 107 | { 108 | "id": 3030302, 109 | "ability_id": 104504031 110 | }, 111 | { 112 | "id": 3030303, 113 | "ability_id": 108305011 114 | }, 115 | { 116 | "id": 3030304, 117 | "ability_id": 108503011 118 | }, 119 | { 120 | "id": 3030305, 121 | "ability_id": 105502046 122 | }, 123 | { 124 | "id": 3030306, 125 | "ability_id": 104503041 126 | }, 127 | { 128 | "id": 3030307, 129 | "ability_id": 109502022 130 | }, 131 | { 132 | "id": 3030308, 133 | "ability_id": 104505031 134 | } 135 | ], 136 | "30401": [ 137 | { 138 | "id": 3040101, 139 | "ability_id": 0 140 | }, 141 | { 142 | "id": 3040102, 143 | "ability_id": 104501012 144 | }, 145 | { 146 | "id": 3040103, 147 | "ability_id": 105304012 148 | }, 149 | { 150 | "id": 3040104, 151 | "ability_id": 108305011 152 | }, 153 | { 154 | "id": 3040105, 155 | "ability_id": 105502046 156 | }, 157 | { 158 | "id": 3040106, 159 | "ability_id": 109502022 160 | } 161 | ], 162 | "30402": [ 163 | { 164 | "id": 3040201, 165 | "ability_id": 0 166 | }, 167 | { 168 | "id": 3040202, 169 | "ability_id": 107501011 170 | }, 171 | { 172 | "id": 3040203, 173 | "ability_id": 108305011 174 | }, 175 | { 176 | "id": 3040204, 177 | "ability_id": 104503041 178 | }, 179 | { 180 | "id": 3040205, 181 | "ability_id": 104505031 182 | } 183 | ], 184 | "30403": [ 185 | { 186 | "id": 3040301, 187 | "ability_id": 0 188 | }, 189 | { 190 | "id": 3040302, 191 | "ability_id": 104504031 192 | }, 193 | { 194 | "id": 3040303, 195 | "ability_id": 108305011 196 | }, 197 | { 198 | "id": 3040304, 199 | "ability_id": 108503011 200 | }, 201 | { 202 | "id": 3040305, 203 | "ability_id": 105502046 204 | }, 205 | { 206 | "id": 3040306, 207 | "ability_id": 104503041 208 | }, 209 | { 210 | "id": 3040307, 211 | "ability_id": 109502022 212 | }, 213 | { 214 | "id": 3040308, 215 | "ability_id": 104505031 216 | } 217 | ], 218 | "30501": [ 219 | { 220 | "id": 3050101, 221 | "ability_id": 0 222 | }, 223 | { 224 | "id": 3050102, 225 | "ability_id": 104501012 226 | }, 227 | { 228 | "id": 3050103, 229 | "ability_id": 105304012 230 | }, 231 | { 232 | "id": 3050104, 233 | "ability_id": 108305011 234 | }, 235 | { 236 | "id": 3050105, 237 | "ability_id": 105502046 238 | }, 239 | { 240 | "id": 3050106, 241 | "ability_id": 109502022 242 | } 243 | ], 244 | "30502": [ 245 | { 246 | "id": 3050201, 247 | "ability_id": 0 248 | }, 249 | { 250 | "id": 3050202, 251 | "ability_id": 107501011 252 | }, 253 | { 254 | "id": 3050203, 255 | "ability_id": 108305011 256 | }, 257 | { 258 | "id": 3050204, 259 | "ability_id": 104503041 260 | }, 261 | { 262 | "id": 3050205, 263 | "ability_id": 104505031 264 | } 265 | ], 266 | "30503": [ 267 | { 268 | "id": 3050301, 269 | "ability_id": 0 270 | }, 271 | { 272 | "id": 3050302, 273 | "ability_id": 104504031 274 | }, 275 | { 276 | "id": 3050303, 277 | "ability_id": 108305011 278 | }, 279 | { 280 | "id": 3050304, 281 | "ability_id": 108503011 282 | }, 283 | { 284 | "id": 3050305, 285 | "ability_id": 105502046 286 | }, 287 | { 288 | "id": 3050306, 289 | "ability_id": 104503041 290 | }, 291 | { 292 | "id": 3050307, 293 | "ability_id": 109502022 294 | }, 295 | { 296 | "id": 3050308, 297 | "ability_id": 104505031 298 | } 299 | ] 300 | } -------------------------------------------------------------------------------- /Library/idmaps/MissionMap.js: -------------------------------------------------------------------------------- 1 | // Mission Map + Medal Map 2 | 3 | const MissionInfoMap = {} 4 | const MissionTypeMap = [] 5 | 6 | function CheckMissionCompletion(MissionType, UserIndexRecord, UserSessionRecord) { 7 | 8 | } 9 | 10 | function CheckMedalCompletion(QuestID, CharacterList, UserSessionRecord) { 11 | let MedalID = 0; 12 | /* 13 | 100101 = Dragon Trial Master; 100201 = Astral Raid Master; 14 | 100301 = Void Dragon Standard; 100302 = Void Dragon Expert; 15 | 100401 = Void Chimera Standard; 100402 = Void Chimera Expert; 16 | 100501 = High Dragon Standard; 100502 = High Dragon Expert; 100503 = High Dragon Master; 17 | 100601 = Agito Standard; 100602 = Agito Expert; 100603 = Agito Master; 18 | 100701 = Agito Legend; 19 | 100801 = SinDom Standard; 100802 = SinDom Expert; 100803 = SinDom Master; 20 | 100901 = Morsayati Reckoning; 21 | 101001 = TotM Standard; 101002 = TotM Expert; 101003 = TotM Master; 22 | 101101 = SinDom Legend; 23 | 101201 = Kaleido 50; 101202 = Kaleido 60; 24 | 101301 = Primal Dragon Standard; 101302 = Primal Dragon Expert; 101303 = Primal Dragon Master; 25 | */ 26 | // Relevant Quest IDs: 27 | const DTMaster = [203010104, 203020104, 203030104, 203040104, 203050104]; 28 | const Astral = []; 29 | const VDStandard = [227010102, 227020102, 227030102, 227040102, 227040102, 30 | 227060102, 227070102, 227080102, 227090102, 227100102, 31 | 227110102, 300040101, 300041101, 300080101, 300081101, 32 | 300120101, 300121101, 300130101, 300131101, 300180101, 33 | 300181101]; 34 | const VDExpert = [300040102, 300041102, 300080102, 300081102, 300120102, 35 | 300121102, 300130102, 300131102, 300180102, 300181102]; 36 | const VCStandard = [300220101, 300221101, 300240101, 300241101, 300280101, 37 | 300281101, 300310101, 300311101, 300320101, 300321101]; 38 | const VCExpert = [300220102, 300221102, 300240102, 300241102, 300280102, 39 | 300281102, 300310102, 300311102, 300320102, 300321102]; 40 | const HDTStandard = [210010101, 210020101, 210030101, 210040101, 210050101, 41 | 210011101, 210021101, 210031101, 210041101, 210051101]; 42 | const HDTExpert = [210010103, 210020103, 210030103, 210040103, 210050103, 43 | 210011103, 210021103, 210031103, 210041103, 210051103, 44 | 227010103, 227020103, 227030103, 227040103, 227050103, 45 | 227060103, 227070103, 227080103, 227090103, 227100103, 46 | 227110103]; 47 | const HDTMaster = [210010104, 210020104, 210030104, 210040104, 210050104, 48 | 210011104, 210021104, 210031104, 210041104, 210051104, 49 | 227060104, 227070104, 227080104, 227090104, 227100104, 50 | 227110104]; 51 | const AgitoStandard = [219010101, 219020101, 219030101, 219040101, 219050101, 52 | 219011101, 219021101, 219031101, 219041101, 219051101]; 53 | const AgitoExpert = [219010102, 219020102, 219030102, 219040102, 219050102, 54 | 219011102, 219021102, 219031102, 219041102, 219051102]; 55 | const AgitoMaster = [219010103, 219020103, 219030103, 219040103, 219050103, 56 | 219011103, 219021103, 219031103, 219041103, 219051103]; 57 | const AgitoLegend = [225010101, 225020101, 225030101, 225040101, 225050101, 58 | 225011101, 225021101, 225031101, 225041101, 225051101]; 59 | const SDStandard = [228010101, 228020101, 228030101, 228040101, 228050101, 60 | 228011101, 228021101, 228031101, 228041101, 228051101]; 61 | const SDExpert = [228010102, 228020102, 228030102, 228040102, 228050102, 62 | 228011102, 228021102, 228031102, 228041102, 228051102]; 63 | const SDMaster = [228010103, 228020103, 228030103, 228040103, 228050103, 64 | 228011103, 228021103, 228031103, 228041103, 228051103]; 65 | const SDLegend = [232010101, 232020101, 232030101, 232040101, 232050101, 66 | 232011101, 232021101, 232031101, 232041101, 232051101]; 67 | const Morsayati = [226010101, 226011101]; // Kaleido 50 = 998; Kaleido 60 = 999; 68 | const PDStandard = [233010101, 233020101, 233030101, 233040101, 233050101, 69 | 233011101, 233021101, 233031101, 233041101, 233051101]; 70 | const PDExpert = [233010102, 233020102, 233030102, 233040102, 233050102, 71 | 233011102, 233021102, 233031102, 233041102, 233051102]; 72 | const PDMaster = [233010103, 233020103, 233030103, 233040103, 233050103, 73 | 233011103, 233021103, 233031103, 233041103, 233051103]; 74 | const TotMStandard = []; 75 | const TotMExpert = []; 76 | const TotMMaster = []; 77 | 78 | if (DTMaster.includes(QuestID)) { MedalID = 100101; } 79 | else if (Astral.includes(QuestID)) { MedalID = 100201; } 80 | else if (VDStandard.includes(QuestID)) { MedalID = 100301; } 81 | else if (VDExpert.includes(QuestID)) { MedalID = 100302; } 82 | else if (VCStandard.includes(QuestID)) { MedalID = 100401; } 83 | else if (VCExpert.includes(QuestID)) { MedalID = 100402; } 84 | else if (HDTStandard.includes(QuestID)) { MedalID = 100501; } 85 | else if (HDTExpert.includes(QuestID)) { MedalID = 100502; } 86 | else if (HDTMaster.includes(QuestID)) { MedalID = 100503; } 87 | else if (AgitoStandard.includes(QuestID)) { MedalID = 100601; } 88 | else if (AgitoExpert.includes(QuestID)) { MedalID = 100602; } 89 | else if (AgitoMaster.includes(QuestID)) { MedalID = 100603; } 90 | else if (AgitoLegend.includes(QuestID)) { MedalID = 100701; } 91 | else if (SDStandard.includes(QuestID)) { MedalID = 100801; } 92 | else if (SDExpert.includes(QuestID)) { MedalID = 100802; } 93 | else if (SDMaster.includes(QuestID)) { MedalID = 100803; } 94 | else if (SDLegend.includes(QuestID)) { MedalID = 101101; } 95 | else if (Morsayati.includes(QuestID)) { MedalID = 100901; } 96 | else if (PDStandard.includes(QuestID)) { MedalID = 101301; } 97 | else if (PDExpert.includes(QuestID)) { MedalID = 101302; } 98 | else if (PDMaster.includes(QuestID)) { MedalID = 101303; } 99 | else if (TotMStandard.includes(QuestID)) { MedalID = 101001; } 100 | else if (TotMExpert.includes(QuestID)) { MedalID = 101002; } 101 | else if (TotMMaster.includes(QuestID)) { MedalID = 101003; } 102 | else if (QuestID == 998) { MedalID = 101201; } 103 | else if (QuestID == 999) { MedalID = 101202; } 104 | 105 | 106 | /* 107 | UserSessionRecord['AlbumData']['Medals'] = [ 108 | { 109 | 'chara_id': 10130102, 110 | 'honor_list': [ 100101, 100201, 100301 ] 111 | }, 112 | { 113 | 'chara_id': 10140101, 114 | 'honor_list': [ 100501, 100502, 100503 ] 115 | } 116 | ] 117 | */ 118 | if (MedalID != 0) { 119 | for (let x in CharacterList) { 120 | const CharacterID = CharacterList[x]['chara_id']; 121 | const ExIndex = UserSessionRecord['AlbumData']['Medals'].findIndex(x => x.chara_id == CharacterID); 122 | if (ExIndex == -1) { 123 | const Template = { 124 | 'chara_id': CharacterID, 125 | 'honor_list': [ 126 | { 127 | 'honor_id': MedalID 128 | } 129 | ] 130 | } 131 | UserSessionRecord['AlbumData']['Medals'].push(Template); 132 | } 133 | else { 134 | const HonorIndex = UserSessionRecord['AlbumData']['Medals'][ExIndex]['honor_list'].findIndex(x => x.honor_id == MedalID); 135 | if (HonorIndex == -1) { 136 | const Template = { 137 | 'honor_id': MedalID 138 | } 139 | UserSessionRecord['AlbumData']['Medals'][ExIndex]['honor_list'].push(Template); 140 | } 141 | } 142 | } 143 | } 144 | return UserSessionRecord; 145 | } 146 | 147 | module.exports = { CheckMissionCompletion, CheckMedalCompletion } -------------------------------------------------------------------------------- /Library/support/save_10.json: -------------------------------------------------------------------------------- 1 | { 2 | "data_headers": { 3 | "result_code": 1 4 | }, 5 | "data": { 6 | "user_data": { 7 | "viewer_id": 10, 8 | "name": "Elisanne", 9 | "level": 600, 10 | "exp": 10000000, 11 | "crystal": 999990, 12 | "coin": 9999999990, 13 | "max_dragon_quantity": 225, 14 | "max_weapon_quantity": 0, 15 | "max_amulet_quantity": 0, 16 | "quest_skip_point": 400, 17 | "main_party_no": 1, 18 | "emblem_id": 40000002, 19 | "active_memory_event_id": 0, 20 | "mana_point": 99999990, 21 | "dew_point": 99999990, 22 | "build_time_point": 0, 23 | "last_login_time": 1669767714, 24 | "stamina_single": 358, 25 | "last_stamina_single_update_time": 1661729076, 26 | "stamina_single_surplus_second": 0, 27 | "stamina_multi": 54, 28 | "last_stamina_multi_update_time": 1669782331, 29 | "stamina_multi_surplus_second": 0, 30 | "tutorial_status": 60999, 31 | "tutorial_flag_list": [ 32 | 1001, 33 | 1002, 34 | 1003, 35 | 1004, 36 | 1005, 37 | 1006, 38 | 1007, 39 | 1008, 40 | 1009, 41 | 1010, 42 | 1011, 43 | 1012, 44 | 1013, 45 | 1014, 46 | 1015, 47 | 1016, 48 | 1017, 49 | 1018, 50 | 1019, 51 | 1020, 52 | 1021, 53 | 1022, 54 | 1023, 55 | 1024, 56 | 1025, 57 | 1026, 58 | 1027, 59 | 1028, 60 | 1029, 61 | 1030 62 | ], 63 | "prologue_end_time": 1595969801, 64 | "is_optin": 1, 65 | "fort_open_time": 1595973967, 66 | "create_time": 1595965478 67 | }, 68 | "party_power_data": { 69 | "max_party_power": 51060 70 | }, 71 | "chara_list": [ 72 | { 73 | "chara_id": 10550103, 74 | "rarity": 5, 75 | "exp": 1191950, 76 | "level": 80, 77 | "additional_max_level": 0, 78 | "hp_plus_count": 100, 79 | "attack_plus_count": 100, 80 | "limit_break_count": 4, 81 | "is_new": 1, 82 | "gettime": 1595992414, 83 | "skill_1_level": 3, 84 | "skill_2_level": 2, 85 | "ability_1_level": 2, 86 | "ability_2_level": 2, 87 | "ability_3_level": 1, 88 | "burst_attack_level": 2, 89 | "combo_buildup_count": 0, 90 | "hp": 810, 91 | "attack": 442, 92 | "ex_ability_level": 5, 93 | "ex_ability_2_level": 5, 94 | "is_temporary": 0, 95 | "is_unlock_edit_skill": 1, 96 | "mana_circle_piece_id_list": [ 97 | 1, 98 | 2, 99 | 3, 100 | 4, 101 | 5, 102 | 6, 103 | 7, 104 | 8, 105 | 9, 106 | 10, 107 | 11, 108 | 12, 109 | 13, 110 | 14, 111 | 15, 112 | 16, 113 | 17, 114 | 18, 115 | 19, 116 | 20, 117 | 21, 118 | 22, 119 | 23, 120 | 24, 121 | 25, 122 | 26, 123 | 27, 124 | 28, 125 | 29, 126 | 30, 127 | 31, 128 | 32, 129 | 33, 130 | 34, 131 | 35, 132 | 36, 133 | 37, 134 | 38, 135 | 39, 136 | 40, 137 | 41, 138 | 42, 139 | 43, 140 | 44, 141 | 45, 142 | 46, 143 | 47, 144 | 48, 145 | 49, 146 | 50 147 | ], 148 | "list_view_flag": 1 149 | } 150 | ], 151 | "dragon_list": [ 152 | { 153 | "dragon_key_id": 1, 154 | "dragon_id": 20050525, 155 | "level": 100, 156 | "hp_plus_count": 50, 157 | "attack_plus_count": 50, 158 | "exp": 1240020, 159 | "is_lock": 1, 160 | "is_new": 1, 161 | "get_time": 1595971002, 162 | "skill_1_level": 2, 163 | "ability_1_level": 5, 164 | "ability_2_level": 5, 165 | "limit_break_count": 4 166 | } 167 | ], 168 | "dragon_reliability_list": [ 169 | { 170 | "dragon_id": 20050525, 171 | "gettime": 1595969602, 172 | "reliability_level": 30, 173 | "reliability_total_exp": 36300, 174 | "last_contact_time": 1621863703 175 | } 176 | ], 177 | "weapon_body_list": [ 178 | { 179 | "weapon_body_id": 30560104, 180 | "buildup_count": 80, 181 | "limit_break_count": 8, 182 | "limit_over_count": 0, 183 | "equipable_count": 1, 184 | "additional_crest_slot_type_1_count": 1, 185 | "additional_crest_slot_type_2_count": 0, 186 | "additional_crest_slot_type_3_count": 2, 187 | "additional_effect_count": 0, 188 | "unlock_weapon_passive_ability_no_list": [ 189 | 0, 190 | 0, 191 | 0, 192 | 0, 193 | 0, 194 | 0, 195 | 0, 196 | 0, 197 | 0, 198 | 0, 199 | 0, 200 | 0, 201 | 0, 202 | 0, 203 | 0 204 | ], 205 | "fort_passive_chara_weapon_buildup_count": 1, 206 | "is_new": 1, 207 | "gettime": 1604962781 208 | } 209 | ], 210 | "ability_crest_list": [ 211 | { 212 | "ability_crest_id": 40050100, 213 | "buildup_count": 50, 214 | "limit_break_count": 4, 215 | "equipable_count": 1, 216 | "hp_plus_count": 50, 217 | "attack_plus_count": 50, 218 | "is_new": 1, 219 | "is_favorite": 0, 220 | "gettime": 1602623263 221 | }, 222 | { 223 | "ability_crest_id": 40050060, 224 | "buildup_count": 50, 225 | "limit_break_count": 4, 226 | "equipable_count": 1, 227 | "hp_plus_count": 50, 228 | "attack_plus_count": 50, 229 | "is_new": 1, 230 | "is_favorite": 0, 231 | "gettime": 1602623263 232 | }, 233 | { 234 | "ability_crest_id": 40050034, 235 | "buildup_count": 50, 236 | "limit_break_count": 4, 237 | "equipable_count": 1, 238 | "hp_plus_count": 50, 239 | "attack_plus_count": 50, 240 | "is_new": 1, 241 | "is_favorite": 0, 242 | "gettime": 1602623263 243 | }, 244 | { 245 | "ability_crest_id": 40040062, 246 | "buildup_count": 40, 247 | "limit_break_count": 4, 248 | "equipable_count": 1, 249 | "hp_plus_count": 50, 250 | "attack_plus_count": 50, 251 | "is_new": 1, 252 | "is_favorite": 0, 253 | "gettime": 1602623263 254 | }, 255 | { 256 | "ability_crest_id": 40030011, 257 | "buildup_count": 40, 258 | "limit_break_count": 4, 259 | "equipable_count": 1, 260 | "hp_plus_count": 50, 261 | "attack_plus_count": 50, 262 | "is_new": 1, 263 | "is_favorite": 0, 264 | "gettime": 1602623263 265 | }, 266 | { 267 | "ability_crest_id": 40090029, 268 | "buildup_count": 30, 269 | "limit_break_count": 4, 270 | "equipable_count": 1, 271 | "hp_plus_count": 40, 272 | "attack_plus_count": 40, 273 | "is_new": 1, 274 | "is_favorite": 0, 275 | "gettime": 1602623263 276 | }, 277 | { 278 | "ability_crest_id": 40090028, 279 | "buildup_count": 30, 280 | "limit_break_count": 4, 281 | "equipable_count": 1, 282 | "hp_plus_count": 40, 283 | "attack_plus_count": 40, 284 | "is_new": 1, 285 | "is_favorite": 0, 286 | "gettime": 1602623263 287 | } 288 | ] 289 | } 290 | } -------------------------------------------------------------------------------- /Library/support/save_12.json: -------------------------------------------------------------------------------- 1 | { 2 | "data_headers": { 3 | "result_code": 1 4 | }, 5 | "data": { 6 | "user_data": { 7 | "viewer_id": 12, 8 | "name": "Alberius", 9 | "level": 600, 10 | "exp": 10000000, 11 | "crystal": 999990, 12 | "coin": 9999999990, 13 | "max_dragon_quantity": 225, 14 | "max_weapon_quantity": 0, 15 | "max_amulet_quantity": 0, 16 | "quest_skip_point": 400, 17 | "main_party_no": 1, 18 | "emblem_id": 40000002, 19 | "active_memory_event_id": 0, 20 | "mana_point": 99999990, 21 | "dew_point": 99999990, 22 | "build_time_point": 0, 23 | "last_login_time": 1669767714, 24 | "stamina_single": 358, 25 | "last_stamina_single_update_time": 1661729076, 26 | "stamina_single_surplus_second": 0, 27 | "stamina_multi": 54, 28 | "last_stamina_multi_update_time": 1669782331, 29 | "stamina_multi_surplus_second": 0, 30 | "tutorial_status": 60999, 31 | "tutorial_flag_list": [ 32 | 1001, 33 | 1002, 34 | 1003, 35 | 1004, 36 | 1005, 37 | 1006, 38 | 1007, 39 | 1008, 40 | 1009, 41 | 1010, 42 | 1011, 43 | 1012, 44 | 1013, 45 | 1014, 46 | 1015, 47 | 1016, 48 | 1017, 49 | 1018, 50 | 1019, 51 | 1020, 52 | 1021, 53 | 1022, 54 | 1023, 55 | 1024, 56 | 1025, 57 | 1026, 58 | 1027, 59 | 1028, 60 | 1029, 61 | 1030 62 | ], 63 | "prologue_end_time": 1595969801, 64 | "is_optin": 1, 65 | "fort_open_time": 1595973967, 66 | "create_time": 1595965478 67 | }, 68 | "party_power_data": { 69 | "max_party_power": 51060 70 | }, 71 | "chara_list": [ 72 | { 73 | "chara_id": 10150503, 74 | "rarity": 5, 75 | "exp": 1191950, 76 | "level": 80, 77 | "additional_max_level": 0, 78 | "hp_plus_count": 100, 79 | "attack_plus_count": 100, 80 | "limit_break_count": 4, 81 | "is_new": 1, 82 | "gettime": 1595992414, 83 | "skill_1_level": 3, 84 | "skill_2_level": 2, 85 | "ability_1_level": 2, 86 | "ability_2_level": 2, 87 | "ability_3_level": 1, 88 | "burst_attack_level": 2, 89 | "combo_buildup_count": 0, 90 | "hp": 810, 91 | "attack": 442, 92 | "ex_ability_level": 5, 93 | "ex_ability_2_level": 5, 94 | "is_temporary": 0, 95 | "is_unlock_edit_skill": 1, 96 | "mana_circle_piece_id_list": [ 97 | 1, 98 | 2, 99 | 3, 100 | 4, 101 | 5, 102 | 6, 103 | 7, 104 | 8, 105 | 9, 106 | 10, 107 | 11, 108 | 12, 109 | 13, 110 | 14, 111 | 15, 112 | 16, 113 | 17, 114 | 18, 115 | 19, 116 | 20, 117 | 21, 118 | 22, 119 | 23, 120 | 24, 121 | 25, 122 | 26, 123 | 27, 124 | 28, 125 | 29, 126 | 30, 127 | 31, 128 | 32, 129 | 33, 130 | 34, 131 | 35, 132 | 36, 133 | 37, 134 | 38, 135 | 39, 136 | 40, 137 | 41, 138 | 42, 139 | 43, 140 | 44, 141 | 45, 142 | 46, 143 | 47, 144 | 48, 145 | 49, 146 | 50 147 | ], 148 | "list_view_flag": 1 149 | } 150 | ], 151 | "dragon_list": [ 152 | { 153 | "dragon_key_id": 1, 154 | "dragon_id": 20050525, 155 | "level": 100, 156 | "hp_plus_count": 50, 157 | "attack_plus_count": 50, 158 | "exp": 1240020, 159 | "is_lock": 1, 160 | "is_new": 1, 161 | "get_time": 1595971002, 162 | "skill_1_level": 2, 163 | "ability_1_level": 5, 164 | "ability_2_level": 5, 165 | "limit_break_count": 4 166 | } 167 | ], 168 | "dragon_reliability_list": [ 169 | { 170 | "dragon_id": 20050525, 171 | "gettime": 1595969602, 172 | "reliability_level": 30, 173 | "reliability_total_exp": 36300, 174 | "last_contact_time": 1621863703 175 | } 176 | ], 177 | "weapon_body_list": [ 178 | { 179 | "weapon_body_id": 30160504, 180 | "buildup_count": 80, 181 | "limit_break_count": 8, 182 | "limit_over_count": 0, 183 | "equipable_count": 1, 184 | "additional_crest_slot_type_1_count": 1, 185 | "additional_crest_slot_type_2_count": 0, 186 | "additional_crest_slot_type_3_count": 2, 187 | "additional_effect_count": 0, 188 | "unlock_weapon_passive_ability_no_list": [ 189 | 0, 190 | 0, 191 | 0, 192 | 0, 193 | 0, 194 | 0, 195 | 0, 196 | 0, 197 | 0, 198 | 0, 199 | 0, 200 | 0, 201 | 0, 202 | 0, 203 | 0 204 | ], 205 | "fort_passive_chara_weapon_buildup_count": 1, 206 | "is_new": 1, 207 | "gettime": 1604962781 208 | } 209 | ], 210 | "ability_crest_list": [ 211 | { 212 | "ability_crest_id": 40050158, 213 | "buildup_count": 50, 214 | "limit_break_count": 4, 215 | "equipable_count": 1, 216 | "hp_plus_count": 50, 217 | "attack_plus_count": 50, 218 | "is_new": 1, 219 | "is_favorite": 0, 220 | "gettime": 1602623263 221 | }, 222 | { 223 | "ability_crest_id": 40050075, 224 | "buildup_count": 50, 225 | "limit_break_count": 4, 226 | "equipable_count": 1, 227 | "hp_plus_count": 50, 228 | "attack_plus_count": 50, 229 | "is_new": 1, 230 | "is_favorite": 0, 231 | "gettime": 1602623263 232 | }, 233 | { 234 | "ability_crest_id": 40050122, 235 | "buildup_count": 50, 236 | "limit_break_count": 4, 237 | "equipable_count": 1, 238 | "hp_plus_count": 50, 239 | "attack_plus_count": 50, 240 | "is_new": 1, 241 | "is_favorite": 0, 242 | "gettime": 1602623263 243 | }, 244 | { 245 | "ability_crest_id": 40040080, 246 | "buildup_count": 40, 247 | "limit_break_count": 4, 248 | "equipable_count": 1, 249 | "hp_plus_count": 50, 250 | "attack_plus_count": 50, 251 | "is_new": 1, 252 | "is_favorite": 0, 253 | "gettime": 1602623263 254 | }, 255 | { 256 | "ability_crest_id": 40030011, 257 | "buildup_count": 40, 258 | "limit_break_count": 4, 259 | "equipable_count": 1, 260 | "hp_plus_count": 50, 261 | "attack_plus_count": 50, 262 | "is_new": 1, 263 | "is_favorite": 0, 264 | "gettime": 1602623263 265 | }, 266 | { 267 | "ability_crest_id": 40090002, 268 | "buildup_count": 30, 269 | "limit_break_count": 4, 270 | "equipable_count": 1, 271 | "hp_plus_count": 40, 272 | "attack_plus_count": 40, 273 | "is_new": 1, 274 | "is_favorite": 0, 275 | "gettime": 1602623263 276 | }, 277 | { 278 | "ability_crest_id": 40090019, 279 | "buildup_count": 30, 280 | "limit_break_count": 4, 281 | "equipable_count": 1, 282 | "hp_plus_count": 40, 283 | "attack_plus_count": 40, 284 | "is_new": 1, 285 | "is_favorite": 0, 286 | "gettime": 1602623263 287 | } 288 | ] 289 | } 290 | } -------------------------------------------------------------------------------- /Library/event/Support.json: -------------------------------------------------------------------------------- 1 | { 2 | "data_headers": { 3 | "result_code": 1 4 | }, 5 | "data": { 6 | "support_user_list": [ 7 | { 8 | "viewer_id": 10, 9 | "name": "Elisanne", 10 | "level": 600, 11 | "last_login_date": 1671227599, 12 | "emblem_id": 40000002, 13 | "max_party_power": 70000, 14 | "support_chara": { 15 | "chara_id": 10550103, 16 | "level": 80, 17 | "additional_max_level": 0, 18 | "rarity": 5, 19 | "element_type": 1, 20 | "hp": 773, 21 | "attack": 691, 22 | "hp_plus_count": 300, 23 | "attack_plus_count": 300, 24 | "ability_1_level": 2, 25 | "ability_2_level": 2, 26 | "ability_3_level": 1, 27 | "ex_ability_level": 5, 28 | "ex_ability_2_level": 5, 29 | "skill_1_level": 3, 30 | "skill_2_level": 2, 31 | "is_unlock_edit_skill": 1 32 | }, 33 | "support_dragon": { 34 | "dragon_key_id": 1 35 | }, 36 | "support_weapon_body": { 37 | "weapon_body_id": 30560104 38 | }, 39 | "support_talisman": { 40 | "talisman_key_id": 0 41 | }, 42 | "support_crest_slot_type_1_list": [ 43 | { 44 | "ability_crest_id": 40050100 45 | }, 46 | { 47 | "ability_crest_id": 40050060 48 | }, 49 | { 50 | "ability_crest_id": 40050034 51 | } 52 | ], 53 | "support_crest_slot_type_2_list": [ 54 | { 55 | "ability_crest_id": 40040062 56 | }, 57 | { 58 | "ability_crest_id": 40030011 59 | } 60 | ], 61 | "support_crest_slot_type_3_list": [ 62 | { 63 | "ability_crest_id": 40090029 64 | }, 65 | { 66 | "ability_crest_id": 40090028 67 | } 68 | ], 69 | "guild": { 70 | "guild_id": 0 71 | } 72 | }, 73 | { 74 | "viewer_id": 11, 75 | "name": "Grace", 76 | "level": 600, 77 | "last_login_date": 1671227599, 78 | "emblem_id": 40000002, 79 | "max_party_power": 70000, 80 | "support_chara": { 81 | "chara_id": 10850503, 82 | "level": 80, 83 | "additional_max_level": 0, 84 | "rarity": 5, 85 | "element_type": 5, 86 | "hp": 773, 87 | "attack": 691, 88 | "hp_plus_count": 300, 89 | "attack_plus_count": 300, 90 | "ability_1_level": 2, 91 | "ability_2_level": 2, 92 | "ability_3_level": 1, 93 | "ex_ability_level": 5, 94 | "ex_ability_2_level": 5, 95 | "skill_1_level": 3, 96 | "skill_2_level": 2, 97 | "is_unlock_edit_skill": 1 98 | }, 99 | "support_dragon": { 100 | "dragon_key_id": 1 101 | }, 102 | "support_weapon_body": { 103 | "weapon_body_id": 30760501 104 | }, 105 | "support_talisman": { 106 | "talisman_key_id": 0 107 | }, 108 | "support_crest_slot_type_1_list": [ 109 | { 110 | "ability_crest_id": 40050020 111 | }, 112 | { 113 | "ability_crest_id": 40050060 114 | }, 115 | { 116 | "ability_crest_id": 40050151 117 | } 118 | ], 119 | "support_crest_slot_type_2_list": [ 120 | { 121 | "ability_crest_id": 40040082 122 | }, 123 | { 124 | "ability_crest_id": 40040062 125 | } 126 | ], 127 | "support_crest_slot_type_3_list": [ 128 | { 129 | "ability_crest_id": 40090024 130 | }, 131 | { 132 | "ability_crest_id": 40090018 133 | } 134 | ], 135 | "guild": { 136 | "guild_id": 0 137 | } 138 | }, 139 | { 140 | "viewer_id": 12, 141 | "name": "Alberius", 142 | "level": 600, 143 | "last_login_date": 1671227599, 144 | "emblem_id": 40000002, 145 | "max_party_power": 70000, 146 | "support_chara": { 147 | "chara_id": 10150503, 148 | "level": 80, 149 | "additional_max_level": 0, 150 | "rarity": 5, 151 | "element_type": 5, 152 | "hp": 773, 153 | "attack": 691, 154 | "hp_plus_count": 300, 155 | "attack_plus_count": 300, 156 | "ability_1_level": 2, 157 | "ability_2_level": 2, 158 | "ability_3_level": 1, 159 | "ex_ability_level": 5, 160 | "ex_ability_2_level": 5, 161 | "skill_1_level": 3, 162 | "skill_2_level": 2, 163 | "is_unlock_edit_skill": 1 164 | }, 165 | "support_dragon": { 166 | "dragon_key_id": 1 167 | }, 168 | "support_weapon_body": { 169 | "weapon_body_id": 30160504 170 | }, 171 | "support_talisman": { 172 | "talisman_key_id": 0 173 | }, 174 | "support_crest_slot_type_1_list": [ 175 | { 176 | "ability_crest_id": 40050158 177 | }, 178 | { 179 | "ability_crest_id": 40050075 180 | }, 181 | { 182 | "ability_crest_id": 40050122 183 | } 184 | ], 185 | "support_crest_slot_type_2_list": [ 186 | { 187 | "ability_crest_id": 40040080 188 | }, 189 | { 190 | "ability_crest_id": 40030011 191 | } 192 | ], 193 | "support_crest_slot_type_3_list": [ 194 | { 195 | "ability_crest_id": 40090002 196 | }, 197 | { 198 | "ability_crest_id": 40090019 199 | } 200 | ], 201 | "guild": { 202 | "guild_id": 0 203 | } 204 | }, 205 | { 206 | "viewer_id": 13, 207 | "name": "Verica", 208 | "level": 600, 209 | "last_login_date": 1671227599, 210 | "emblem_id": 40000002, 211 | "max_party_power": 70000, 212 | "support_chara": { 213 | "chara_id": 10850502, 214 | "level": 100, 215 | "additional_max_level": 0, 216 | "rarity": 5, 217 | "element_type": 5, 218 | "hp": 773, 219 | "attack": 691, 220 | "hp_plus_count": 300, 221 | "attack_plus_count": 300, 222 | "ability_1_level": 2, 223 | "ability_2_level": 2, 224 | "ability_3_level": 1, 225 | "ex_ability_level": 5, 226 | "ex_ability_2_level": 5, 227 | "skill_1_level": 3, 228 | "skill_2_level": 2, 229 | "is_unlock_edit_skill": 1 230 | }, 231 | "support_dragon": { 232 | "dragon_key_id": 1 233 | }, 234 | "support_weapon_body": { 235 | "weapon_body_id": 30160504 236 | }, 237 | "support_talisman": { 238 | "talisman_key_id": 0 239 | }, 240 | "support_crest_slot_type_1_list": [ 241 | { 242 | "ability_crest_id": 40050158 243 | }, 244 | { 245 | "ability_crest_id": 40050075 246 | }, 247 | { 248 | "ability_crest_id": 40050122 249 | } 250 | ], 251 | "support_crest_slot_type_2_list": [ 252 | { 253 | "ability_crest_id": 40040080 254 | }, 255 | { 256 | "ability_crest_id": 40030011 257 | } 258 | ], 259 | "support_crest_slot_type_3_list": [ 260 | { 261 | "ability_crest_id": 40090002 262 | }, 263 | { 264 | "ability_crest_id": 40090019 265 | } 266 | ], 267 | "guild": { 268 | "guild_id": 0 269 | } 270 | } 271 | ], 272 | "support_user_detail_list": [ 273 | { 274 | "viewer_id": 10, 275 | "gettable_mana_point": 25, 276 | "is_friend": 1 277 | }, 278 | { 279 | "viewer_id": 11, 280 | "gettable_mana_point": 25, 281 | "is_friend": 1 282 | }, 283 | { 284 | "viewer_id": 12, 285 | "gettable_mana_point": 25, 286 | "is_friend": 1 287 | }, 288 | { 289 | "viewer_id": 13, 290 | "gettable_mana_point": 25, 291 | "is_friend": 1 292 | } 293 | ] 294 | } 295 | } -------------------------------------------------------------------------------- /Library/event/QuestMainRotationBonusDrops.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "detail_id": 301070562, 4 | "group_id": 301070101, 5 | "drop_multiplier": 1, 6 | "interval": 4, 7 | "start": 1626692400, 8 | "end": 1913799599, 9 | "limit_shop_goods_type": 0 10 | }, 11 | { 12 | "detail_id": 301070463, 13 | "group_id": 301070104, 14 | "drop_multiplier": 1, 15 | "interval": 9, 16 | "start": 1626692400, 17 | "end": 1913799599, 18 | "limit_shop_goods_type": 0 19 | }, 20 | { 21 | "detail_id": 301070263, 22 | "group_id": 301070102, 23 | "drop_multiplier": 1, 24 | "interval": 6, 25 | "start": 1626692400, 26 | "end": 1913799599, 27 | "limit_shop_goods_type": 0 28 | }, 29 | { 30 | "detail_id": 301070168, 31 | "group_id": 301070103, 32 | "drop_multiplier": 1, 33 | "interval": 8, 34 | "start": 1626692400, 35 | "end": 1913799599, 36 | "limit_shop_goods_type": 0 37 | }, 38 | { 39 | "detail_id": 301060344, 40 | "group_id": 301060101, 41 | "drop_multiplier": 1, 42 | "interval": 9, 43 | "start": 1626692400, 44 | "end": 1913799599, 45 | "limit_shop_goods_type": 0 46 | }, 47 | { 48 | "detail_id": 301060245, 49 | "group_id": 301060103, 50 | "drop_multiplier": 1, 51 | "interval": 7, 52 | "start": 1626692400, 53 | "end": 1913799599, 54 | "limit_shop_goods_type": 0 55 | }, 56 | { 57 | "detail_id": 301060154, 58 | "group_id": 301060102, 59 | "drop_multiplier": 1, 60 | "interval": 5, 61 | "start": 1626692400, 62 | "end": 1913799599, 63 | "limit_shop_goods_type": 0 64 | }, 65 | { 66 | "detail_id": 301050545, 67 | "group_id": 301050103, 68 | "drop_multiplier": 1, 69 | "interval": 6, 70 | "start": 1626692400, 71 | "end": 1913799599, 72 | "limit_shop_goods_type": 0 73 | }, 74 | { 75 | "detail_id": 301050343, 76 | "group_id": 301050101, 77 | "drop_multiplier": 1, 78 | "interval": 8, 79 | "start": 1626692400, 80 | "end": 1913799599, 81 | "limit_shop_goods_type": 0 82 | }, 83 | { 84 | "detail_id": 301050148, 85 | "group_id": 301050102, 86 | "drop_multiplier": 1, 87 | "interval": 3, 88 | "start": 1626692400, 89 | "end": 1913799599, 90 | "limit_shop_goods_type": 0 91 | }, 92 | { 93 | "detail_id": 301040543, 94 | "group_id": 301040102, 95 | "drop_multiplier": 1, 96 | "interval": 3, 97 | "start": 1626692400, 98 | "end": 1913799599, 99 | "limit_shop_goods_type": 0 100 | }, 101 | { 102 | "detail_id": 301040444, 103 | "group_id": 301040103, 104 | "drop_multiplier": 1, 105 | "interval": 4, 106 | "start": 1626692400, 107 | "end": 1913799599, 108 | "limit_shop_goods_type": 0 109 | }, 110 | { 111 | "detail_id": 301040143, 112 | "group_id": 301040101, 113 | "drop_multiplier": 1, 114 | "interval": 6, 115 | "start": 1626692400, 116 | "end": 1913799599, 117 | "limit_shop_goods_type": 0 118 | }, 119 | { 120 | "detail_id": 301030547, 121 | "group_id": 301030102, 122 | "drop_multiplier": 1, 123 | "interval": 7, 124 | "start": 1626692400, 125 | "end": 1913799599, 126 | "limit_shop_goods_type": 0 127 | }, 128 | { 129 | "detail_id": 301030256, 130 | "group_id": 301030101, 131 | "drop_multiplier": 1, 132 | "interval": 5, 133 | "start": 1626692400, 134 | "end": 1913799599, 135 | "limit_shop_goods_type": 0 136 | }, 137 | { 138 | "detail_id": 301020543, 139 | "group_id": 301020102, 140 | "drop_multiplier": 1, 141 | "interval": 9, 142 | "start": 1626692400, 143 | "end": 1913799599, 144 | "limit_shop_goods_type": 0 145 | }, 146 | { 147 | "detail_id": 301020452, 148 | "group_id": 301020103, 149 | "drop_multiplier": 1, 150 | "interval": 6, 151 | "start": 1626692400, 152 | "end": 1913799599, 153 | "limit_shop_goods_type": 0 154 | }, 155 | { 156 | "detail_id": 301020258, 157 | "group_id": 301020104, 158 | "drop_multiplier": 1, 159 | "interval": 8, 160 | "start": 1626692400, 161 | "end": 1913799599, 162 | "limit_shop_goods_type": 0 163 | }, 164 | { 165 | "detail_id": 301020146, 166 | "group_id": 301020101, 167 | "drop_multiplier": 1, 168 | "interval": 4, 169 | "start": 1626692400, 170 | "end": 1913799599, 171 | "limit_shop_goods_type": 0 172 | }, 173 | { 174 | "detail_id": 301010455, 175 | "group_id": 301010101, 176 | "drop_multiplier": 1, 177 | "interval": 3, 178 | "start": 1626692400, 179 | "end": 1913799599, 180 | "limit_shop_goods_type": 0 181 | }, 182 | { 183 | "detail_id": 301010356, 184 | "group_id": 301010102, 185 | "drop_multiplier": 1, 186 | "interval": 5, 187 | "start": 1626692400, 188 | "end": 1913799599, 189 | "limit_shop_goods_type": 0 190 | }, 191 | { 192 | "detail_id": 301010155, 193 | "group_id": 301010103, 194 | "drop_multiplier": 1, 195 | "interval": 7, 196 | "start": 1626692400, 197 | "end": 1913799599, 198 | "limit_shop_goods_type": 0 199 | }, 200 | { 201 | "detail_id": 300320478, 202 | "group_id": 300321102, 203 | "drop_multiplier": 1, 204 | "interval": 7, 205 | "start": 1626692400, 206 | "end": 1913799599, 207 | "limit_shop_goods_type": 0 208 | }, 209 | { 210 | "detail_id": 300320477, 211 | "group_id": 300321101, 212 | "drop_multiplier": 1, 213 | "interval": 7, 214 | "start": 1626692400, 215 | "end": 1913799599, 216 | "limit_shop_goods_type": 0 217 | }, 218 | { 219 | "detail_id": 300320474, 220 | "group_id": 300320102, 221 | "drop_multiplier": 1, 222 | "interval": 7, 223 | "start": 1626692400, 224 | "end": 1913799599, 225 | "limit_shop_goods_type": 0 226 | }, 227 | { 228 | "detail_id": 300320473, 229 | "group_id": 300320101, 230 | "drop_multiplier": 1, 231 | "interval": 7, 232 | "start": 1626692400, 233 | "end": 1913799599, 234 | "limit_shop_goods_type": 0 235 | }, 236 | { 237 | "detail_id": 300310278, 238 | "group_id": 300310102, 239 | "drop_multiplier": 1, 240 | "interval": 6, 241 | "start": 1626692400, 242 | "end": 1913799599, 243 | "limit_shop_goods_type": 0 244 | }, 245 | { 246 | "detail_id": 300310277, 247 | "group_id": 300310101, 248 | "drop_multiplier": 1, 249 | "interval": 6, 250 | "start": 1626692400, 251 | "end": 1913799599, 252 | "limit_shop_goods_type": 0 253 | }, 254 | { 255 | "detail_id": 300310270, 256 | "group_id": 300311102, 257 | "drop_multiplier": 1, 258 | "interval": 6, 259 | "start": 1626692400, 260 | "end": 1913799599, 261 | "limit_shop_goods_type": 0 262 | }, 263 | { 264 | "detail_id": 300310269, 265 | "group_id": 300311101, 266 | "drop_multiplier": 1, 267 | "interval": 6, 268 | "start": 1626692400, 269 | "end": 1913799599, 270 | "limit_shop_goods_type": 0 271 | }, 272 | { 273 | "detail_id": 300280394, 274 | "group_id": 300281102, 275 | "drop_multiplier": 1, 276 | "interval": 9, 277 | "start": 1626692400, 278 | "end": 1913799599, 279 | "limit_shop_goods_type": 0 280 | }, 281 | { 282 | "detail_id": 300280393, 283 | "group_id": 300281101, 284 | "drop_multiplier": 1, 285 | "interval": 9, 286 | "start": 1626692400, 287 | "end": 1913799599, 288 | "limit_shop_goods_type": 0 289 | }, 290 | { 291 | "detail_id": 300280390, 292 | "group_id": 300280102, 293 | "drop_multiplier": 1, 294 | "interval": 9, 295 | "start": 1626692400, 296 | "end": 1913799599, 297 | "limit_shop_goods_type": 0 298 | }, 299 | { 300 | "detail_id": 300280389, 301 | "group_id": 300280101, 302 | "drop_multiplier": 1, 303 | "interval": 9, 304 | "start": 1626692400, 305 | "end": 1913799599, 306 | "limit_shop_goods_type": 0 307 | }, 308 | { 309 | "detail_id": 300240592, 310 | "group_id": 300241102, 311 | "drop_multiplier": 1, 312 | "interval": 8, 313 | "start": 1626692400, 314 | "end": 1913799599, 315 | "limit_shop_goods_type": 0 316 | }, 317 | { 318 | "detail_id": 300240591, 319 | "group_id": 300241101, 320 | "drop_multiplier": 1, 321 | "interval": 8, 322 | "start": 1626692400, 323 | "end": 1913799599, 324 | "limit_shop_goods_type": 0 325 | }, 326 | { 327 | "detail_id": 300240588, 328 | "group_id": 300240102, 329 | "drop_multiplier": 1, 330 | "interval": 8, 331 | "start": 1626692400, 332 | "end": 1913799599, 333 | "limit_shop_goods_type": 0 334 | }, 335 | { 336 | "detail_id": 300240587, 337 | "group_id": 300240101, 338 | "drop_multiplier": 1, 339 | "interval": 8, 340 | "start": 1626692400, 341 | "end": 1913799599, 342 | "limit_shop_goods_type": 0 343 | }, 344 | { 345 | "detail_id": 300220194, 346 | "group_id": 300220102, 347 | "drop_multiplier": 1, 348 | "interval": 3, 349 | "start": 1626692400, 350 | "end": 1913799599, 351 | "limit_shop_goods_type": 0 352 | }, 353 | { 354 | "detail_id": 300220193, 355 | "group_id": 300220101, 356 | "drop_multiplier": 1, 357 | "interval": 3, 358 | "start": 1626692400, 359 | "end": 1913799599, 360 | "limit_shop_goods_type": 0 361 | }, 362 | { 363 | "detail_id": 300220190, 364 | "group_id": 300221102, 365 | "drop_multiplier": 1, 366 | "interval": 3, 367 | "start": 1626692400, 368 | "end": 1913799599, 369 | "limit_shop_goods_type": 0 370 | }, 371 | { 372 | "detail_id": 300220189, 373 | "group_id": 300221101, 374 | "drop_multiplier": 1, 375 | "interval": 3, 376 | "start": 1626692400, 377 | "end": 1913799599, 378 | "limit_shop_goods_type": 0 379 | }, 380 | { 381 | "detail_id": 300180560, 382 | "group_id": 300181102, 383 | "drop_multiplier": 0, 384 | "interval": 9, 385 | "start": 1602500400, 386 | "end": 1913799599, 387 | "limit_shop_goods_type": 0 388 | }, 389 | { 390 | "detail_id": 300180559, 391 | "group_id": 300181101, 392 | "drop_multiplier": 0, 393 | "interval": 9, 394 | "start": 1602500400, 395 | "end": 1913799599, 396 | "limit_shop_goods_type": 0 397 | }, 398 | { 399 | "detail_id": 300180554, 400 | "group_id": 300180102, 401 | "drop_multiplier": 0, 402 | "interval": 9, 403 | "start": 1602500400, 404 | "end": 1913799599, 405 | "limit_shop_goods_type": 0 406 | }, 407 | { 408 | "detail_id": 300180553, 409 | "group_id": 300180101, 410 | "drop_multiplier": 0, 411 | "interval": 9, 412 | "start": 1602500400, 413 | "end": 1913799599, 414 | "limit_shop_goods_type": 0 415 | }, 416 | { 417 | "detail_id": 300130492, 418 | "group_id": 300131102, 419 | "drop_multiplier": 1, 420 | "interval": 9, 421 | "start": 1626692400, 422 | "end": 1913799599, 423 | "limit_shop_goods_type": 0 424 | }, 425 | { 426 | "detail_id": 300130491, 427 | "group_id": 300131101, 428 | "drop_multiplier": 1, 429 | "interval": 9, 430 | "start": 1626692400, 431 | "end": 1913799599, 432 | "limit_shop_goods_type": 0 433 | }, 434 | { 435 | "detail_id": 300130490, 436 | "group_id": 300130102, 437 | "drop_multiplier": 1, 438 | "interval": 9, 439 | "start": 1626692400, 440 | "end": 1913799599, 441 | "limit_shop_goods_type": 0 442 | }, 443 | { 444 | "detail_id": 300130489, 445 | "group_id": 300130101, 446 | "drop_multiplier": 1, 447 | "interval": 9, 448 | "start": 1626692400, 449 | "end": 1913799599, 450 | "limit_shop_goods_type": 0 451 | }, 452 | { 453 | "detail_id": 300120299, 454 | "group_id": 300120102, 455 | "drop_multiplier": 1, 456 | "interval": 3, 457 | "start": 1626692400, 458 | "end": 1913799599, 459 | "limit_shop_goods_type": 0 460 | }, 461 | { 462 | "detail_id": 300120298, 463 | "group_id": 300120101, 464 | "drop_multiplier": 1, 465 | "interval": 3, 466 | "start": 1626692400, 467 | "end": 1913799599, 468 | "limit_shop_goods_type": 0 469 | }, 470 | { 471 | "detail_id": 300120293, 472 | "group_id": 300121102, 473 | "drop_multiplier": 1, 474 | "interval": 5, 475 | "start": 1626692400, 476 | "end": 1913799599, 477 | "limit_shop_goods_type": 0 478 | }, 479 | { 480 | "detail_id": 300120292, 481 | "group_id": 300121101, 482 | "drop_multiplier": 1, 483 | "interval": 5, 484 | "start": 1626692400, 485 | "end": 1913799599, 486 | "limit_shop_goods_type": 0 487 | }, 488 | { 489 | "detail_id": 300080192, 490 | "group_id": 300081102, 491 | "drop_multiplier": 1, 492 | "interval": 9, 493 | "start": 1626692400, 494 | "end": 1913799599, 495 | "limit_shop_goods_type": 0 496 | }, 497 | { 498 | "detail_id": 300080191, 499 | "group_id": 300081101, 500 | "drop_multiplier": 1, 501 | "interval": 9, 502 | "start": 1626692400, 503 | "end": 1913799599, 504 | "limit_shop_goods_type": 0 505 | }, 506 | { 507 | "detail_id": 300080190, 508 | "group_id": 300080102, 509 | "drop_multiplier": 1, 510 | "interval": 9, 511 | "start": 1626692400, 512 | "end": 1913799599, 513 | "limit_shop_goods_type": 0 514 | }, 515 | { 516 | "detail_id": 300080189, 517 | "group_id": 300080101, 518 | "drop_multiplier": 1, 519 | "interval": 9, 520 | "start": 1626692400, 521 | "end": 1913799599, 522 | "limit_shop_goods_type": 0 523 | }, 524 | { 525 | "detail_id": 300040391, 526 | "group_id": 300041102, 527 | "drop_multiplier": 1, 528 | "interval": 3, 529 | "start": 1626692400, 530 | "end": 1913799599, 531 | "limit_shop_goods_type": 0 532 | }, 533 | { 534 | "detail_id": 300040390, 535 | "group_id": 300041101, 536 | "drop_multiplier": 1, 537 | "interval": 3, 538 | "start": 1626692400, 539 | "end": 1913799599, 540 | "limit_shop_goods_type": 0 541 | }, 542 | { 543 | "detail_id": 300040389, 544 | "group_id": 300040102, 545 | "drop_multiplier": 1, 546 | "interval": 3, 547 | "start": 1626692400, 548 | "end": 1913799599, 549 | "limit_shop_goods_type": 0 550 | }, 551 | { 552 | "detail_id": 300040388, 553 | "group_id": 300040101, 554 | "drop_multiplier": 1, 555 | "interval": 3, 556 | "start": 1626692400, 557 | "end": 1913799599, 558 | "limit_shop_goods_type": 0 559 | }, 560 | { 561 | "detail_id": 223010414, 562 | "group_id": 223010101, 563 | "drop_multiplier": 0, 564 | "interval": 9, 565 | "start": 1640347200, 566 | "end": 1924948799, 567 | "limit_shop_goods_type": 0 568 | } 569 | ] -------------------------------------------------------------------------------- /Library/idmaps/DModeMap/DModeWeaponMap.json: -------------------------------------------------------------------------------- 1 | { 2 | "1": { 3 | "30100190": { 4 | "param_group": 0, 5 | "ability_group": 0, 6 | "skill_group": 0, 7 | "is_default": true 8 | }, 9 | "30110190": { 10 | "param_group": 30101, 11 | "ability_group": 30101, 12 | "skill_group": 30101, 13 | "is_default": false 14 | }, 15 | "30120190": { 16 | "param_group": 30201, 17 | "ability_group": 30201, 18 | "skill_group": 30201, 19 | "is_default": false 20 | }, 21 | "30130190": { 22 | "param_group": 30301, 23 | "ability_group": 30301, 24 | "skill_group": 30301, 25 | "is_default": false 26 | }, 27 | "30130290": { 28 | "param_group": 30302, 29 | "ability_group": 30302, 30 | "skill_group": 30302, 31 | "is_default": false 32 | }, 33 | "30130390": { 34 | "param_group": 30303, 35 | "ability_group": 30303, 36 | "skill_group": 30303, 37 | "is_default": false 38 | }, 39 | "30140190": { 40 | "param_group": 30401, 41 | "ability_group": 30401, 42 | "skill_group": 30401, 43 | "is_default": false 44 | }, 45 | "30140290": { 46 | "param_group": 30402, 47 | "ability_group": 30402, 48 | "skill_group": 30402, 49 | "is_default": false 50 | }, 51 | "30140390": { 52 | "param_group": 30403, 53 | "ability_group": 30403, 54 | "skill_group": 30403, 55 | "is_default": false 56 | }, 57 | "30150190": { 58 | "param_group": 30501, 59 | "ability_group": 30501, 60 | "skill_group": 30501, 61 | "is_default": false 62 | }, 63 | "30150290": { 64 | "param_group": 30502, 65 | "ability_group": 30502, 66 | "skill_group": 30502, 67 | "is_default": false 68 | }, 69 | "30150390": { 70 | "param_group": 30503, 71 | "ability_group": 30503, 72 | "skill_group": 30503, 73 | "is_default": false 74 | } 75 | }, 76 | "2": { 77 | "30200190": { 78 | "param_group": 0, 79 | "ability_group": 0, 80 | "skill_group": 0, 81 | "is_default": true 82 | }, 83 | "30210190": { 84 | "param_group": 30101, 85 | "ability_group": 30101, 86 | "skill_group": 30101, 87 | "is_default": false 88 | }, 89 | "30220190": { 90 | "param_group": 30201, 91 | "ability_group": 30201, 92 | "skill_group": 30201, 93 | "is_default": false 94 | }, 95 | "30230190": { 96 | "param_group": 30301, 97 | "ability_group": 30301, 98 | "skill_group": 30301, 99 | "is_default": false 100 | }, 101 | "30230290": { 102 | "param_group": 30302, 103 | "ability_group": 30302, 104 | "skill_group": 30302, 105 | "is_default": false 106 | }, 107 | "30230390": { 108 | "param_group": 30303, 109 | "ability_group": 30303, 110 | "skill_group": 30303, 111 | "is_default": false 112 | }, 113 | "30240190": { 114 | "param_group": 30401, 115 | "ability_group": 30401, 116 | "skill_group": 30401, 117 | "is_default": false 118 | }, 119 | "30240290": { 120 | "param_group": 30402, 121 | "ability_group": 30402, 122 | "skill_group": 30402, 123 | "is_default": false 124 | }, 125 | "30240390": { 126 | "param_group": 30403, 127 | "ability_group": 30403, 128 | "skill_group": 30403, 129 | "is_default": false 130 | }, 131 | "30250190": { 132 | "param_group": 30501, 133 | "ability_group": 30501, 134 | "skill_group": 30501, 135 | "is_default": false 136 | }, 137 | "30250290": { 138 | "param_group": 30502, 139 | "ability_group": 30502, 140 | "skill_group": 30502, 141 | "is_default": false 142 | }, 143 | "30250390": { 144 | "param_group": 30503, 145 | "ability_group": 30503, 146 | "skill_group": 30503, 147 | "is_default": false 148 | } 149 | }, 150 | "3": { 151 | "30300190": { 152 | "param_group": 0, 153 | "ability_group": 0, 154 | "skill_group": 0, 155 | "is_default": true 156 | }, 157 | "30310190": { 158 | "param_group": 30101, 159 | "ability_group": 30101, 160 | "skill_group": 30101, 161 | "is_default": false 162 | }, 163 | "30320190": { 164 | "param_group": 30201, 165 | "ability_group": 30201, 166 | "skill_group": 30201, 167 | "is_default": false 168 | }, 169 | "30330190": { 170 | "param_group": 30301, 171 | "ability_group": 30301, 172 | "skill_group": 30301, 173 | "is_default": false 174 | }, 175 | "30330290": { 176 | "param_group": 30302, 177 | "ability_group": 30302, 178 | "skill_group": 30302, 179 | "is_default": false 180 | }, 181 | "30330390": { 182 | "param_group": 30303, 183 | "ability_group": 30303, 184 | "skill_group": 30303, 185 | "is_default": false 186 | }, 187 | "30340190": { 188 | "param_group": 30401, 189 | "ability_group": 30401, 190 | "skill_group": 30401, 191 | "is_default": false 192 | }, 193 | "30340290": { 194 | "param_group": 30402, 195 | "ability_group": 30402, 196 | "skill_group": 30402, 197 | "is_default": false 198 | }, 199 | "30340390": { 200 | "param_group": 30403, 201 | "ability_group": 30403, 202 | "skill_group": 30403, 203 | "is_default": false 204 | }, 205 | "30350190": { 206 | "param_group": 30501, 207 | "ability_group": 30501, 208 | "skill_group": 30501, 209 | "is_default": false 210 | }, 211 | "30350290": { 212 | "param_group": 30502, 213 | "ability_group": 30502, 214 | "skill_group": 30502, 215 | "is_default": false 216 | }, 217 | "30350390": { 218 | "param_group": 30503, 219 | "ability_group": 30503, 220 | "skill_group": 30503, 221 | "is_default": false 222 | } 223 | }, 224 | "4": { 225 | "30400190": { 226 | "param_group": 0, 227 | "ability_group": 0, 228 | "skill_group": 0, 229 | "is_default": true 230 | }, 231 | "30410190": { 232 | "param_group": 30101, 233 | "ability_group": 30101, 234 | "skill_group": 30101, 235 | "is_default": false 236 | }, 237 | "30420190": { 238 | "param_group": 30201, 239 | "ability_group": 30201, 240 | "skill_group": 30201, 241 | "is_default": false 242 | }, 243 | "30430190": { 244 | "param_group": 30301, 245 | "ability_group": 30301, 246 | "skill_group": 30301, 247 | "is_default": false 248 | }, 249 | "30430290": { 250 | "param_group": 30302, 251 | "ability_group": 30302, 252 | "skill_group": 30302, 253 | "is_default": false 254 | }, 255 | "30430390": { 256 | "param_group": 30303, 257 | "ability_group": 30303, 258 | "skill_group": 30303, 259 | "is_default": false 260 | }, 261 | "30440190": { 262 | "param_group": 30401, 263 | "ability_group": 30401, 264 | "skill_group": 30401, 265 | "is_default": false 266 | }, 267 | "30440290": { 268 | "param_group": 30402, 269 | "ability_group": 30402, 270 | "skill_group": 30402, 271 | "is_default": false 272 | }, 273 | "30440390": { 274 | "param_group": 30403, 275 | "ability_group": 30403, 276 | "skill_group": 30403, 277 | "is_default": false 278 | }, 279 | "30450190": { 280 | "param_group": 30501, 281 | "ability_group": 30501, 282 | "skill_group": 30501, 283 | "is_default": false 284 | }, 285 | "30450290": { 286 | "param_group": 30502, 287 | "ability_group": 30502, 288 | "skill_group": 30502, 289 | "is_default": false 290 | }, 291 | "30450390": { 292 | "param_group": 30503, 293 | "ability_group": 30503, 294 | "skill_group": 30503, 295 | "is_default": false 296 | } 297 | }, 298 | "5": { 299 | "30500190": { 300 | "param_group": 0, 301 | "ability_group": 0, 302 | "skill_group": 0, 303 | "is_default": true 304 | }, 305 | "30510190": { 306 | "param_group": 30101, 307 | "ability_group": 30101, 308 | "skill_group": 30101, 309 | "is_default": false 310 | }, 311 | "30520190": { 312 | "param_group": 30201, 313 | "ability_group": 30201, 314 | "skill_group": 30201, 315 | "is_default": false 316 | }, 317 | "30530190": { 318 | "param_group": 30301, 319 | "ability_group": 30301, 320 | "skill_group": 30301, 321 | "is_default": false 322 | }, 323 | "30530290": { 324 | "param_group": 30302, 325 | "ability_group": 30302, 326 | "skill_group": 30302, 327 | "is_default": false 328 | }, 329 | "30530390": { 330 | "param_group": 30303, 331 | "ability_group": 30303, 332 | "skill_group": 30303, 333 | "is_default": false 334 | }, 335 | "30540190": { 336 | "param_group": 30401, 337 | "ability_group": 30401, 338 | "skill_group": 30401, 339 | "is_default": false 340 | }, 341 | "30540290": { 342 | "param_group": 30402, 343 | "ability_group": 30402, 344 | "skill_group": 30402, 345 | "is_default": false 346 | }, 347 | "30540390": { 348 | "param_group": 30403, 349 | "ability_group": 30403, 350 | "skill_group": 30403, 351 | "is_default": false 352 | }, 353 | "30550190": { 354 | "param_group": 30501, 355 | "ability_group": 30501, 356 | "skill_group": 30501, 357 | "is_default": false 358 | }, 359 | "30550290": { 360 | "param_group": 30502, 361 | "ability_group": 30502, 362 | "skill_group": 30502, 363 | "is_default": false 364 | }, 365 | "30550390": { 366 | "param_group": 30503, 367 | "ability_group": 30503, 368 | "skill_group": 30503, 369 | "is_default": false 370 | } 371 | }, 372 | "6": { 373 | "30600190": { 374 | "param_group": 0, 375 | "ability_group": 0, 376 | "skill_group": 0, 377 | "is_default": true 378 | }, 379 | "30610190": { 380 | "param_group": 30101, 381 | "ability_group": 30101, 382 | "skill_group": 30101, 383 | "is_default": false 384 | }, 385 | "30620190": { 386 | "param_group": 30201, 387 | "ability_group": 30201, 388 | "skill_group": 30201, 389 | "is_default": false 390 | }, 391 | "30630190": { 392 | "param_group": 30301, 393 | "ability_group": 30301, 394 | "skill_group": 30301, 395 | "is_default": false 396 | }, 397 | "30630290": { 398 | "param_group": 30302, 399 | "ability_group": 30302, 400 | "skill_group": 30302, 401 | "is_default": false 402 | }, 403 | "30630390": { 404 | "param_group": 30303, 405 | "ability_group": 30303, 406 | "skill_group": 30303, 407 | "is_default": false 408 | }, 409 | "30640190": { 410 | "param_group": 30401, 411 | "ability_group": 30401, 412 | "skill_group": 30401, 413 | "is_default": false 414 | }, 415 | "30640290": { 416 | "param_group": 30402, 417 | "ability_group": 30402, 418 | "skill_group": 30402, 419 | "is_default": false 420 | }, 421 | "30640390": { 422 | "param_group": 30403, 423 | "ability_group": 30403, 424 | "skill_group": 30403, 425 | "is_default": false 426 | }, 427 | "30650190": { 428 | "param_group": 30501, 429 | "ability_group": 30501, 430 | "skill_group": 30501, 431 | "is_default": false 432 | }, 433 | "30650290": { 434 | "param_group": 30502, 435 | "ability_group": 30502, 436 | "skill_group": 30502, 437 | "is_default": false 438 | }, 439 | "30650390": { 440 | "param_group": 30503, 441 | "ability_group": 30503, 442 | "skill_group": 30503, 443 | "is_default": false 444 | } 445 | }, 446 | "7": { 447 | "30700190": { 448 | "param_group": 0, 449 | "ability_group": 0, 450 | "skill_group": 0, 451 | "is_default": true 452 | }, 453 | "30710190": { 454 | "param_group": 30101, 455 | "ability_group": 30101, 456 | "skill_group": 30101, 457 | "is_default": false 458 | }, 459 | "30720190": { 460 | "param_group": 30201, 461 | "ability_group": 30201, 462 | "skill_group": 30201, 463 | "is_default": false 464 | }, 465 | "30730190": { 466 | "param_group": 30301, 467 | "ability_group": 30301, 468 | "skill_group": 30301, 469 | "is_default": false 470 | }, 471 | "30730290": { 472 | "param_group": 30302, 473 | "ability_group": 30302, 474 | "skill_group": 30302, 475 | "is_default": false 476 | }, 477 | "30730390": { 478 | "param_group": 30303, 479 | "ability_group": 30303, 480 | "skill_group": 30303, 481 | "is_default": false 482 | }, 483 | "30740190": { 484 | "param_group": 30401, 485 | "ability_group": 30401, 486 | "skill_group": 30401, 487 | "is_default": false 488 | }, 489 | "30740290": { 490 | "param_group": 30402, 491 | "ability_group": 30402, 492 | "skill_group": 30402, 493 | "is_default": false 494 | }, 495 | "30740390": { 496 | "param_group": 30403, 497 | "ability_group": 30403, 498 | "skill_group": 30403, 499 | "is_default": false 500 | }, 501 | "30750190": { 502 | "param_group": 30501, 503 | "ability_group": 30501, 504 | "skill_group": 30501, 505 | "is_default": false 506 | }, 507 | "30750290": { 508 | "param_group": 30502, 509 | "ability_group": 30502, 510 | "skill_group": 30502, 511 | "is_default": false 512 | }, 513 | "30750390": { 514 | "param_group": 30503, 515 | "ability_group": 30503, 516 | "skill_group": 30503, 517 | "is_default": false 518 | } 519 | }, 520 | "8": { 521 | "30800190": { 522 | "param_group": 0, 523 | "ability_group": 0, 524 | "skill_group": 0, 525 | "is_default": true 526 | }, 527 | "30810190": { 528 | "param_group": 30101, 529 | "ability_group": 30101, 530 | "skill_group": 30101, 531 | "is_default": false 532 | }, 533 | "30820190": { 534 | "param_group": 30201, 535 | "ability_group": 30201, 536 | "skill_group": 30201, 537 | "is_default": false 538 | }, 539 | "30830190": { 540 | "param_group": 30301, 541 | "ability_group": 30301, 542 | "skill_group": 30301, 543 | "is_default": false 544 | }, 545 | "30830290": { 546 | "param_group": 30302, 547 | "ability_group": 30302, 548 | "skill_group": 30302, 549 | "is_default": false 550 | }, 551 | "30830390": { 552 | "param_group": 30303, 553 | "ability_group": 30303, 554 | "skill_group": 30303, 555 | "is_default": false 556 | }, 557 | "30840190": { 558 | "param_group": 30401, 559 | "ability_group": 30401, 560 | "skill_group": 30401, 561 | "is_default": false 562 | }, 563 | "30840290": { 564 | "param_group": 30402, 565 | "ability_group": 30402, 566 | "skill_group": 30402, 567 | "is_default": false 568 | }, 569 | "30840390": { 570 | "param_group": 30403, 571 | "ability_group": 30403, 572 | "skill_group": 30403, 573 | "is_default": false 574 | }, 575 | "30850190": { 576 | "param_group": 30501, 577 | "ability_group": 30501, 578 | "skill_group": 30501, 579 | "is_default": false 580 | }, 581 | "30850290": { 582 | "param_group": 30502, 583 | "ability_group": 30502, 584 | "skill_group": 30502, 585 | "is_default": false 586 | }, 587 | "30850390": { 588 | "param_group": 30503, 589 | "ability_group": 30503, 590 | "skill_group": 30503, 591 | "is_default": false 592 | } 593 | }, 594 | "9": { 595 | "30900190": { 596 | "param_group": 0, 597 | "ability_group": 0, 598 | "skill_group": 0, 599 | "is_default": true 600 | }, 601 | "30910190": { 602 | "param_group": 30101, 603 | "ability_group": 30101, 604 | "skill_group": 30101, 605 | "is_default": false 606 | }, 607 | "30920190": { 608 | "param_group": 30201, 609 | "ability_group": 30201, 610 | "skill_group": 30201, 611 | "is_default": false 612 | }, 613 | "30930190": { 614 | "param_group": 30301, 615 | "ability_group": 30301, 616 | "skill_group": 30301, 617 | "is_default": false 618 | }, 619 | "30930290": { 620 | "param_group": 30302, 621 | "ability_group": 30302, 622 | "skill_group": 30302, 623 | "is_default": false 624 | }, 625 | "30930390": { 626 | "param_group": 30303, 627 | "ability_group": 30303, 628 | "skill_group": 30303, 629 | "is_default": false 630 | }, 631 | "30940190": { 632 | "param_group": 30401, 633 | "ability_group": 30401, 634 | "skill_group": 30401, 635 | "is_default": false 636 | }, 637 | "30940290": { 638 | "param_group": 30402, 639 | "ability_group": 30402, 640 | "skill_group": 30402, 641 | "is_default": false 642 | }, 643 | "30940390": { 644 | "param_group": 30403, 645 | "ability_group": 30403, 646 | "skill_group": 30403, 647 | "is_default": false 648 | }, 649 | "30950190": { 650 | "param_group": 30501, 651 | "ability_group": 30501, 652 | "skill_group": 30501, 653 | "is_default": false 654 | }, 655 | "30950290": { 656 | "param_group": 30502, 657 | "ability_group": 30502, 658 | "skill_group": 30502, 659 | "is_default": false 660 | }, 661 | "30950390": { 662 | "param_group": 30503, 663 | "ability_group": 30503, 664 | "skill_group": 30503, 665 | "is_default": false 666 | } 667 | } 668 | } -------------------------------------------------------------------------------- /Library/idmaps/QuestMap.js: -------------------------------------------------------------------------------- 1 | // Quest Map 2 | var fs = require('fs'); 3 | const Rotations = JSON.parse(fs.readFileSync('./Library/event/QuestMainRotationBonusDrops.json')); 4 | const QuestEnemyList = JSON.parse(fs.readFileSync('./Library/event/QuestEnemyList.json')); 5 | 6 | function GetQuestInfo(QuestID, Attribute) { 7 | try { 8 | var QuestInfoMap = JSON.parse(fs.readFileSync('./Library/idmaps/Quest/' + String(QuestID) + ".json")); 9 | return QuestInfoMap[Attribute]; 10 | } 11 | catch { 12 | console.log("Faulty Quest ID " + QuestID); 13 | } 14 | } 15 | 16 | const IntervalTypes = [ 17 | {'id': 0,'match': []}, //None 18 | {'id': 1,'match': [0,1,2,3,4,5,6]}, //Daily 19 | {'id': 2,'match': [0,6]}, //Weekend 20 | {'id': 3,'match': [0]}, //Sunday 21 | {'id': 4,'match': [1]}, //Monday 22 | {'id': 5,'match': [2]}, //Tuesday 23 | {'id': 6,'match': [3]}, //Wednesday 24 | {'id': 7,'match': [4]}, //Thursday 25 | {'id': 8,'match': [5]}, //Friday 26 | {'id': 9,'match': [6]}, //Saturday 27 | {'id': 10,'match': [0,1]}, //Sunday/Monday 28 | {'id': 11,'match': [1,2]}, //Monday/Tuesday 29 | {'id': 12,'match': [1,3]}, //Monday/Wednesday 30 | {'id': 13,'match': [1,4]}, //Monday/Thursday 31 | {'id': 14,'match': [1,5]}, //Monday/Friday 32 | {'id': 15,'match': [1,6]}, //Monday/Saturday 33 | {'id': 17,'match': [0,1,6]}, //Sunday/Monday/Saturday 34 | {'id': 18,'match': [0,2,6]}, //Sunday/Tuesday/Saturday 35 | {'id': 19,'match': [0,3,6]}, //Sunday/Wednesday/Saturday 36 | {'id': 20,'match': [0,4,6]}, //Sunday/Thursday/Saturday 37 | {'id': 21,'match': [0,5,6]}, //Sunday/Friday/Saturday 38 | {'id': 22,'match': [0,6]}, //Sunday/Saturday 39 | {'id': 23,'match': []}, //Event 40 | {'id': 24,'match': [0,1,4,6]}, //Sunday/Monday/Thursday/Saturday 41 | {'id': 25,'match': [0,2,5,6]}, //Sunday/Tuesday/Friday/Saturday 42 | {'id': 26,'match': [0,1,3,6]}, //Sunday/Monday/Wednesday/Saturday 43 | {'id': 27,'match': [0,3,5,6]}, //Sunday/Wednesday/Friday/Saturday 44 | {'id': 28,'match': [0,2,4,6]}, //Sunday/Tuesday/Thursday/Saturday 45 | {'id': 29,'match': [0,6]}, //Sunday/Saturday 46 | ] 47 | function GetMultiplier(QuestID) { 48 | let Value = 1; 49 | const RotationIndex = Rotations.findIndex(x => x.group_id == QuestID); 50 | if (RotationIndex != -1) { 51 | const RotationsData = Rotations[RotationIndex]; 52 | const IntervalIndex = IntervalTypes.findIndex(x => x.id == RotationsData['interval']); 53 | if (IntervalTypes[IntervalIndex]['match'].includes(new Date().getDay())) { 54 | Value = RotationsData['drop_multiplier'] + 1; 55 | } 56 | } 57 | return Value; 58 | } 59 | 60 | function GetQuestDrops(QuestID) { 61 | let CoinCount = 0; 62 | let ManaCount = 0; 63 | let WyrmiteCount = 10; 64 | let DropTable = []; 65 | var QuestInfoMap = JSON.parse(fs.readFileSync('./Library/idmaps/Quest/' + String(QuestID) + ".json")); 66 | 67 | if (QuestID >= 210010101 && QuestID <= 210051104) { CoinCount += 150000; } 68 | if (QuestID >= 219010101 && QuestID <= 219051103) { CoinCount += 150000; } 69 | if (QuestID >= 228010101 && QuestID <= 228051103) { CoinCount += 150000; } 70 | if (QuestID >= 232010101 && QuestID <= 233051103) { CoinCount += 150000; } 71 | 72 | const RightNow = Math.floor(Date.now() / 1000); 73 | const DropMultiplier = GetMultiplier(QuestID); 74 | const Factor = parseFloat((DropMultiplier - 1).toFixed(1)); 75 | 76 | if (QuestInfoMap['ChestDropInfo'] != undefined) { 77 | for (let i in QuestInfoMap['ChestDropInfo']) { 78 | const DropData = QuestInfoMap['ChestDropInfo'][i]; 79 | if (DropData['type'] == 4) { CoinCount += DropData['max']; } 80 | else if (DropData['type'] == 8 || DropData['type'] == 12 || DropData['type'] == 17 || DropData['type'] == 20 || 81 | DropData['type'] == 22 || DropData['type'] == 25 || DropData['type'] == 39) { 82 | let Roll = Math.floor(Math.random() * 100) + 1; 83 | if (DropData['extra'] == true) { 84 | if (Roll >= 95) { 85 | const Difference = DropData['max'] - DropData['min']; 86 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 87 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 88 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 89 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 90 | } 91 | else if (DropData['special'] == true) { 92 | if (Roll >= 75) { 93 | const Difference = DropData['max'] - DropData['min']; 94 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 95 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 96 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 97 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 98 | } 99 | else if (DropData['promise'] == true || Roll >= 30) { 100 | const Difference = DropData['max'] - DropData['min']; 101 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 102 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 103 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 104 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } 105 | } 106 | } 107 | else if (DropData['type'] == 18) { ManaCount += DropData['max']; } 108 | // case 1: case 5: case 6: case 7: 109 | //case 13: WyrmiteCount += DropData['max']; break; 110 | //case 15: break; 111 | }} 112 | 113 | if (QuestInfoMap['EnemyDropInfo'] != undefined) { 114 | for (let y in QuestInfoMap['EnemyDropInfo']) { 115 | const DropData = QuestInfoMap['EnemyDropInfo'][y]; 116 | if (DropData['type'] == 4) { CoinCount += DropData['max']; } 117 | else if (DropData['type'] == 8 || DropData['type'] == 12 || DropData['type'] == 17 || DropData['type'] == 20 || 118 | DropData['type'] == 22 || DropData['type'] == 25 || DropData['type'] == 39) { 119 | let Roll = Math.floor(Math.random() * 100) + 1; 120 | if (DropData['extra'] == true) { 121 | if (Roll >= 95) { 122 | const Difference = DropData['max'] - DropData['min']; 123 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 124 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 125 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 126 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 127 | } 128 | else if (DropData['special'] == true) { 129 | if (Roll >= 75) { 130 | const Difference = DropData['max'] - DropData['min']; 131 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 132 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 133 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 134 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 135 | } 136 | else if (DropData['promise'] == true || Roll >= 30) { 137 | const Difference = DropData['max'] - DropData['min']; 138 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 139 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 140 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 141 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } 142 | } 143 | } 144 | else if (DropData['type'] == 18) { ManaCount += DropData['max']; } 145 | // case 1: case 5: case 6: case 7: 146 | //case 13: WyrmiteCount += DropData['max']; break; 147 | //case 15: break; 148 | }} 149 | 150 | DropTable.push({ "type": 23, "id": 0, "quantity": WyrmiteCount, "place": 0, "factor": 0 }); 151 | return [DropTable, CoinCount, ManaCount, WyrmiteCount]; 152 | } 153 | function GetQuestDropsSkip(QuestID, PlayCount) { 154 | let CoinCount = 0; 155 | let ManaCount = 0; 156 | let WyrmiteCount = 10 * PlayCount; 157 | let DropTable = []; 158 | var QuestInfoMap = JSON.parse(fs.readFileSync('./Library/idmaps/Quest/' + String(QuestID) + ".json")); 159 | 160 | if (QuestID >= 210010101 && QuestID <= 210051104) { CoinCount += 150000; } 161 | if (QuestID >= 219010101 && QuestID <= 219051103) { CoinCount += 150000; } 162 | if (QuestID >= 228010101 && QuestID <= 228051103) { CoinCount += 150000; } 163 | if (QuestID >= 232010101 && QuestID <= 233051103) { CoinCount += 150000; } 164 | 165 | const RightNow = Math.floor(Date.now() / 1000); 166 | const DropMultiplier = GetMultiplier(QuestID); 167 | const Factor = parseFloat((DropMultiplier - 1).toFixed(1)); 168 | 169 | let w = 0; while (w < PlayCount) { 170 | if (QuestInfoMap['ChestDropInfo'] != undefined) { 171 | for (let i in QuestInfoMap['ChestDropInfo']) { 172 | const DropData = QuestInfoMap['ChestDropInfo'][i]; 173 | if (DropData['type'] == 4) { CoinCount += DropData['max']; } 174 | else if (DropData['type'] == 8 || DropData['type'] == 12 || DropData['type'] == 17 || DropData['type'] == 20 || 175 | DropData['type'] == 22 || DropData['type'] == 25 || DropData['type'] == 39) { 176 | let Roll = Math.floor(Math.random() * 100) + 1; 177 | if (DropData['extra'] == true) { 178 | if (Roll >= 95) { 179 | const Difference = DropData['max'] - DropData['min']; 180 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 181 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 182 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 183 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 184 | } 185 | else if (DropData['special'] == true) { 186 | if (Roll >= 75) { 187 | const Difference = DropData['max'] - DropData['min']; 188 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 189 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 190 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 191 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 192 | } 193 | else if (DropData['promise'] == true || Roll >= 30) { 194 | const Difference = DropData['max'] - DropData['min']; 195 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 196 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 197 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 198 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } 199 | } 200 | } 201 | else if (DropData['type'] == 18) { ManaCount += DropData['max']; } 202 | }} 203 | if (QuestInfoMap['EnemyDropInfo'] != undefined) { 204 | for (let y in QuestInfoMap['EnemyDropInfo']) { 205 | const DropData = QuestInfoMap['EnemyDropInfo'][y]; 206 | if (DropData['type'] == 4) { CoinCount += DropData['max']; } 207 | else if (DropData['type'] == 8 || DropData['type'] == 12 || DropData['type'] == 17 || DropData['type'] == 20 || 208 | DropData['type'] == 22 || DropData['type'] == 25 || DropData['type'] == 39) { 209 | let Roll = Math.floor(Math.random() * 100) + 1; 210 | if (DropData['extra'] == true) { 211 | if (Roll >= 95) { 212 | const Difference = DropData['max'] - DropData['min']; 213 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 214 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 215 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 216 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 217 | } 218 | else if (DropData['special'] == true) { 219 | if (Roll >= 75) { 220 | const Difference = DropData['max'] - DropData['min']; 221 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 222 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 223 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 224 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } } 225 | } 226 | else if (DropData['promise'] == true || Roll >= 30) { 227 | const Difference = DropData['max'] - DropData['min']; 228 | const Amount = Math.floor(Math.random() * Difference + DropData['min']) * DropMultiplier; 229 | const ExistID = DropTable.findIndex(x => x.id == DropData['id']); 230 | if (ExistID != -1) { DropTable[ExistID]['quantity'] += Amount; } 231 | else { DropTable.push({'type': DropData['type'], 'id': DropData['id'], 'quantity': Amount, 'place': 0, 'factor': Factor}); } 232 | } 233 | } 234 | else if (DropData['type'] == 18) { ManaCount += DropData['max']; } 235 | }} 236 | w++; 237 | } 238 | let z = 0; while(z < DropTable.length) { if (DropTable[z]['quantity'] > 999000) { DropTable[z]['quantity'] = 999000; } z++; } 239 | DropTable.push({ "type": 23, "id": 0, "quantity": WyrmiteCount, "place": 0, "factor": 0 }); 240 | return [DropTable, CoinCount, ManaCount, WyrmiteCount]; 241 | } 242 | 243 | function GenerateOddsList(QuestID, UserSessionRecord, Step) { 244 | var QuestInfoMap = JSON.parse(fs.readFileSync('./Library/idmaps/Quest/' + String(QuestID) + ".json")); 245 | const VariationID = String(QuestInfoMap['variation']); 246 | const EnemyList = QuestEnemyList[QuestInfoMap['area_info'][Step]['scene_path']][QuestInfoMap['area_info'][Step]['area_name']][VariationID]; 247 | 248 | let AreaOddsTemplate = { 249 | 'area_index': Step, 250 | 'reaction_obj_count': 0, 251 | 'drop_obj': [], 252 | 'enemy': EnemyList, 253 | 'grade': [] 254 | } 255 | if (EnemyList.length == 0) { AreaOddsTemplate['enemy'] = []; } 256 | else if (QuestInfoMap['area_info'].length == 1) { 257 | if (String(QuestID).slice(0,3) == "204") { 258 | for (let x in EnemyList) { 259 | let Divider = 2; if (x > 0) {Divider = (EnemyList.length - 1) * 2;} 260 | if (EnemyList.length == 1) { Divider = 1; } 261 | for (let y in UserSessionRecord['DungeonRecord']['DropTable'][0]) { 262 | const DividedDrop = { 263 | "type": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['type'], 264 | "id": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['id'], 265 | "quantity": Math.round(UserSessionRecord['DungeonRecord']['DropTable'][0][y]['quantity'] / Divider), 266 | "place": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['place'], 267 | "factor": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['factor'] 268 | } 269 | AreaOddsTemplate['enemy'][x]['enemy_drop_list'][0]['drop_list'].push(DividedDrop); 270 | } 271 | AreaOddsTemplate['enemy'][x]['enemy_drop_list'][0]['coin'] = Math.round(UserSessionRecord['DungeonRecord']['DropTable'][1] / Divider); 272 | AreaOddsTemplate['enemy'][x]['enemy_drop_list'][0]['mana'] = Math.round(UserSessionRecord['DungeonRecord']['DropTable'][2] / Divider); 273 | } 274 | } 275 | else { 276 | AreaOddsTemplate['enemy'][0]['enemy_drop_list'][0]['drop_list'] = UserSessionRecord['DungeonRecord']['DropTable'][0]; 277 | AreaOddsTemplate['enemy'][0]['enemy_drop_list'][0]['coin'] = UserSessionRecord['DungeonRecord']['DropTable'][1]; 278 | AreaOddsTemplate['enemy'][0]['enemy_drop_list'][0]['mana'] = UserSessionRecord['DungeonRecord']['DropTable'][2]; 279 | } 280 | } 281 | else { 282 | for (let x in EnemyList) { 283 | let Divider = EnemyList.length * QuestInfoMap['area_info'].length; 284 | for (let y in UserSessionRecord['DungeonRecord']['DropTable'][0]) { 285 | const DividedDrop = { 286 | "type": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['type'], 287 | "id": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['id'], 288 | "quantity": Math.round(UserSessionRecord['DungeonRecord']['DropTable'][0][y]['quantity'] / Divider), 289 | "place": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['place'], 290 | "factor": UserSessionRecord['DungeonRecord']['DropTable'][0][y]['factor'] 291 | } 292 | AreaOddsTemplate['enemy'][x]['enemy_drop_list'][0]['drop_list'].push(DividedDrop); 293 | } 294 | AreaOddsTemplate['enemy'][x]['enemy_drop_list'][0]['coin'] = Math.round(UserSessionRecord['DungeonRecord']['DropTable'][1] / Divider); 295 | AreaOddsTemplate['enemy'][x]['enemy_drop_list'][0]['mana'] = Math.round(UserSessionRecord['DungeonRecord']['DropTable'][2] / Divider); 296 | } 297 | } 298 | return AreaOddsTemplate; 299 | } 300 | 301 | function FormatWallDrops(RewardList) { 302 | let i = 0; 303 | let y = 0; 304 | let DropTable = []; 305 | 306 | while (i < RewardList['drop_obj'].length) { 307 | if (RewardList['drop_obj'][i]['drop_list'][0] != undefined) { 308 | const DropData = RewardList['drop_obj'][i]['drop_list'][0]; 309 | switch(DropData['entity_type']) { 310 | // case 1: case 5: case 6: case 7: 311 | case 8: 312 | if (DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])] != undefined) { DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])]['entity_quantity'] += DropData['entity_quantity']; } 313 | else { DropTable.push(DropData); } break; 314 | case 15: 315 | if (DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])] != undefined) { DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])]['entity_quantity'] += DropData['entity_quantity']; } 316 | else { DropTable.push(DropData); } break; 317 | } 318 | } 319 | i++; 320 | } 321 | while (y < RewardList['enemy'].length) { 322 | let v = 0; 323 | if (RewardList['enemy'][y]['enemy_drop_list'][0] != undefined) { 324 | if (RewardList['enemy'][y]['enemy_drop_list'][0]['drop_list'][0] != undefined) { 325 | while (v < RewardList['enemy'][y]['enemy_drop_list'][0]['drop_list'].length) { 326 | const DropData = RewardList['enemy'][y]['enemy_drop_list'][0]['drop_list'][v]; 327 | switch(DropData['entity_type']) { 328 | // case 1: case 5: case 6: case 7: 329 | case 8: 330 | if (DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])] != undefined) { DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])]['entity_quantity'] += DropData['entity_quantity']; } 331 | else { DropTable.push(DropData); } break; 332 | case 15: 333 | if (DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])] != undefined) { DropTable[DropTable.findIndex(x => x.id == DropData['entity_id'])]['entity_quantity'] += DropData['entity_quantity']; } 334 | else { DropTable.push(DropData); } break; 335 | } 336 | v++; 337 | } 338 | } 339 | } 340 | y++; 341 | } 342 | return DropTable; 343 | } 344 | 345 | function HasRewardCharacter(StoryID) { 346 | const HasRewardList = [ 1000103, 1000106, 1000111, 1000202, 347 | 1000808, 1001108, 1001410, 1001610, 348 | 349 | 1000311 ]; 350 | if (HasRewardList.includes(StoryID)) { return true; } 351 | return false; 352 | } 353 | 354 | function RewardCharacter(StoryID) { 355 | let EntityList = {}; 356 | switch(StoryID) { 357 | case 1000103: 358 | EntityList = {'entity_type': 1, 'entity_id': 10540201}; 359 | break; 360 | case 1000106: 361 | EntityList = {'entity_type': 1, 'entity_id': 10440301}; 362 | break; 363 | case 1000111: 364 | EntityList = {'entity_type': 1, 'entity_id': 10840501}; 365 | break; 366 | case 1000202: 367 | EntityList = {'entity_type': 1, 'entity_id': 10640401}; 368 | break; 369 | case 1000808: 370 | EntityList = {'entity_type': 1, 'entity_id': 10340502}; 371 | break; 372 | case 1001108: 373 | EntityList = {'entity_type': 1, 'entity_id': 10240101}; 374 | break; 375 | case 1001410: 376 | EntityList = {'entity_type': 1, 'entity_id': 10750504}; 377 | break; 378 | case 1001610: 379 | EntityList = {'entity_type': 1, 'entity_id': 10650503}; 380 | break; 381 | case 1000311: 382 | EntityList = {'entity_type': 1, 'entity_id': 10550101}; 383 | break; 384 | } 385 | return EntityList; 386 | } 387 | 388 | function HasRewardDragon(StoryID) { 389 | const HasRewardList = [ 1000109, 1000210, 1000311, 1000412, 1000509 ] 390 | if (HasRewardList.includes(StoryID)) { return true; } 391 | return false; 392 | } 393 | 394 | function RewardDragon(StoryID) { 395 | let EntityList = {}; 396 | switch(StoryID) { 397 | case 1000109: 398 | EntityList = {'entity_type': 7, 'entity_id': 20040301}; 399 | break; 400 | case 1000210: 401 | EntityList = {'entity_type': 7, 'entity_id': 20040201}; 402 | break; 403 | case 1000311: 404 | EntityList = {'entity_type': 7, 'entity_id': 20040101}; 405 | break; 406 | case 1000412: 407 | EntityList = {'entity_type': 7, 'entity_id': 20040401}; 408 | break; 409 | case 1000509: 410 | EntityList = {'entity_type': 7, 'entity_id': 20040501}; 411 | break; 412 | } 413 | return EntityList; 414 | } 415 | 416 | function HasRewardFacility(StoryID) { 417 | const HasRewardList = [ 1000607 ]; 418 | if (HasRewardList.includes(StoryID)) { return true; } 419 | return false; 420 | } 421 | 422 | function RewardFacility(StoryID) { 423 | let EntityList = []; 424 | switch(StoryID) { 425 | case 1000607: 426 | EntityList = [ 100501, 100502, 100503, 100504, 100505, 427 | 100506, 100507, 100508, 100509, 100501, 428 | 100502, 100503, 100504, 100505, 100506, 429 | 100507, 100508, 100509, 100603 ]; 430 | break; 431 | case 1000709: 432 | EntityList = [ 100602 ]; 433 | break; 434 | case 1000808: 435 | EntityList = [ 100601 ]; 436 | break; 437 | case 1000909: 438 | EntityList = [ 100604 ]; 439 | break; 440 | case 1001009: 441 | EntityList = [ 100605 ]; 442 | break; 443 | } 444 | return EntityList; 445 | } 446 | 447 | /* 448 | function QuestIDByName(QuestName) { 449 | let i = 0; 450 | var QuestInfoMap = JSON.parse(fs.fileReadSync('./Quest/' + String(QuestID) + ".json")); 451 | while (i < Object.keys(QuestInfoMap).length) { 452 | const QuestID = Object.keys(QuestInfoMap)[i]; 453 | if (QuestInfoMap[QuestID]['name'] == QuestName) { 454 | return parseInt(Object.keys(QuestInfoMap)[i]); 455 | } 456 | else { 457 | i++; 458 | } 459 | } 460 | return 1; 461 | } 462 | */ 463 | 464 | module.exports = { GetQuestInfo, GetQuestDrops, GetQuestDropsSkip, FormatWallDrops, HasRewardCharacter, RewardCharacter, HasRewardDragon, RewardDragon, HasRewardFacility, RewardFacility, GenerateOddsList } -------------------------------------------------------------------------------- /Library/idmaps/LevelMap.js: -------------------------------------------------------------------------------- 1 | // LevelMap.js 2 | 3 | const PlayerLevel = [ 4 | {"level":1,"exp":0,"stamina":18}, {"level":2,"exp":120,"stamina":20}, 5 | {"level":3,"exp":270,"stamina":22}, {"level":4,"exp":510,"stamina":24}, 6 | {"level":5,"exp":780,"stamina":25}, {"level":6,"exp":1080,"stamina":26}, 7 | {"level":7,"exp":1410,"stamina":27}, {"level":8,"exp":1770,"stamina":28}, 8 | {"level":9,"exp":2160,"stamina":29}, {"level":10,"exp":2580,"stamina":30}, 9 | {"level":11,"exp":3030,"stamina":31}, {"level":12,"exp":3600,"stamina":32}, 10 | {"level":13,"exp":4200,"stamina":33}, {"level":14,"exp":4830,"stamina":34}, 11 | {"level":15,"exp":5490,"stamina":35}, {"level":16,"exp":6180,"stamina":36}, 12 | {"level":17,"exp":6900,"stamina":37}, {"level":18,"exp":7650,"stamina":38}, 13 | {"level":19,"exp":8430,"stamina":39}, {"level":20,"exp":9240,"stamina":40}, 14 | {"level":21,"exp":10080,"stamina":41}, {"level":22,"exp":10950,"stamina":42}, 15 | {"level":23,"exp":11850,"stamina":43}, {"level":24,"exp":12780,"stamina":44}, 16 | {"level":25,"exp":13740,"stamina":45}, {"level":26,"exp":14730,"stamina":46}, 17 | {"level":27,"exp":15750,"stamina":47}, {"level":28,"exp":16800,"stamina":48}, 18 | {"level":29,"exp":17880,"stamina":49}, {"level":30,"exp":18990,"stamina":50}, 19 | {"level":31,"exp":20130,"stamina":51}, {"level":32,"exp":21300,"stamina":52}, 20 | {"level":33,"exp":22500,"stamina":53}, {"level":34,"exp":23730,"stamina":54}, 21 | {"level":35,"exp":24990,"stamina":55}, {"level":36,"exp":26280,"stamina":56}, 22 | {"level":37,"exp":27600,"stamina":57}, {"level":38,"exp":28950,"stamina":58}, 23 | {"level":39,"exp":30330,"stamina":59}, {"level":40,"exp":31740,"stamina":60}, 24 | {"level":41,"exp":33180,"stamina":61}, {"level":42,"exp":34650,"stamina":62}, 25 | {"level":43,"exp":36150,"stamina":63}, {"level":44,"exp":37680,"stamina":64}, 26 | {"level":45,"exp":39240,"stamina":65}, {"level":46,"exp":40830,"stamina":66}, 27 | {"level":47,"exp":42450,"stamina":67}, {"level":48,"exp":44100,"stamina":68}, 28 | {"level":49,"exp":45780,"stamina":69}, {"level":50,"exp":47490,"stamina":70}, 29 | {"level":51,"exp":49290,"stamina":71}, {"level":52,"exp":51190,"stamina":72}, 30 | {"level":53,"exp":53190,"stamina":73}, {"level":54,"exp":55290,"stamina":74}, 31 | {"level":55,"exp":57490,"stamina":75}, {"level":56,"exp":59790,"stamina":76}, 32 | {"level":57,"exp":62190,"stamina":77}, {"level":58,"exp":64690,"stamina":78}, 33 | {"level":59,"exp":67290,"stamina":79}, {"level":60,"exp":69990,"stamina":80}, 34 | {"level":61,"exp":72790,"stamina":80}, {"level":62,"exp":75790,"stamina":81}, 35 | {"level":63,"exp":78990,"stamina":81}, {"level":64,"exp":82390,"stamina":82}, 36 | {"level":65,"exp":85990,"stamina":82}, {"level":66,"exp":89790,"stamina":83}, 37 | {"level":67,"exp":93790,"stamina":83}, {"level":68,"exp":97990,"stamina":84}, 38 | {"level":69,"exp":102390,"stamina":84}, {"level":70,"exp":106990,"stamina":85}, 39 | {"level":71,"exp":111790,"stamina":85}, {"level":72,"exp":116890,"stamina":86}, 40 | {"level":73,"exp":122290,"stamina":86}, {"level":74,"exp":127990,"stamina":87}, 41 | {"level":75,"exp":133990,"stamina":87}, {"level":76,"exp":140290,"stamina":88}, 42 | {"level":77,"exp":146890,"stamina":88}, {"level":78,"exp":153790,"stamina":89}, 43 | {"level":79,"exp":160990,"stamina":89}, {"level":80,"exp":168490,"stamina":90}, 44 | {"level":81,"exp":176490,"stamina":90}, {"level":82,"exp":184990,"stamina":91}, 45 | {"level":83,"exp":193990,"stamina":91}, {"level":84,"exp":203490,"stamina":92}, 46 | {"level":85,"exp":213490,"stamina":92}, {"level":86,"exp":223990,"stamina":93}, 47 | {"level":87,"exp":234990,"stamina":93}, {"level":88,"exp":246490,"stamina":94}, 48 | {"level":89,"exp":258490,"stamina":94}, {"level":90,"exp":270990,"stamina":95}, 49 | {"level":91,"exp":283990,"stamina":95}, {"level":92,"exp":297490,"stamina":96}, 50 | {"level":93,"exp":311490,"stamina":96}, {"level":94,"exp":325990,"stamina":97}, 51 | {"level":95,"exp":340990,"stamina":97}, {"level":96,"exp":356490,"stamina":98}, 52 | {"level":97,"exp":372490,"stamina":98}, {"level":98,"exp":388990,"stamina":99}, 53 | {"level":99,"exp":405990,"stamina":99}, {"level":100,"exp":423490,"stamina":100}, 54 | {"level":101,"exp":441490,"stamina":100}, {"level":102,"exp":460490,"stamina":101}, 55 | {"level":103,"exp":480490,"stamina":101}, {"level":104,"exp":501490,"stamina":102}, 56 | {"level":105,"exp":523490,"stamina":102}, {"level":106,"exp":546490,"stamina":103}, 57 | {"level":107,"exp":570490,"stamina":103}, {"level":108,"exp":595490,"stamina":104}, 58 | {"level":109,"exp":621490,"stamina":104}, {"level":110,"exp":648490,"stamina":105}, 59 | {"level":111,"exp":676490,"stamina":105}, {"level":112,"exp":705490,"stamina":106}, 60 | {"level":113,"exp":735490,"stamina":106}, {"level":114,"exp":766490,"stamina":107}, 61 | {"level":115,"exp":798490,"stamina":107}, {"level":116,"exp":831490,"stamina":108}, 62 | {"level":117,"exp":865490,"stamina":108}, {"level":118,"exp":900490,"stamina":109}, 63 | {"level":119,"exp":936490,"stamina":109}, {"level":120,"exp":973490,"stamina":110}, 64 | {"level":121,"exp":1012490,"stamina":110}, {"level":122,"exp":1053490,"stamina":111}, 65 | {"level":123,"exp":1096490,"stamina":111}, {"level":124,"exp":1141490,"stamina":112}, 66 | {"level":125,"exp":1188490,"stamina":112}, {"level":126,"exp":1237490,"stamina":113}, 67 | {"level":127,"exp":1288490,"stamina":113}, {"level":128,"exp":1341490,"stamina":114}, 68 | {"level":129,"exp":1396490,"stamina":114}, {"level":130,"exp":1453490,"stamina":115}, 69 | {"level":131,"exp":1512490,"stamina":115}, {"level":132,"exp":1573490,"stamina":115}, 70 | {"level":133,"exp":1636490,"stamina":116}, {"level":134,"exp":1701490,"stamina":116}, 71 | {"level":135,"exp":1768490,"stamina":116}, {"level":136,"exp":1837490,"stamina":117}, 72 | {"level":137,"exp":1908490,"stamina":117}, {"level":138,"exp":1981490,"stamina":117}, 73 | {"level":139,"exp":2056490,"stamina":118}, {"level":140,"exp":2133490,"stamina":118}, 74 | {"level":141,"exp":2212490,"stamina":118}, {"level":142,"exp":2293490,"stamina":119}, 75 | {"level":143,"exp":2376490,"stamina":119}, {"level":144,"exp":2461490,"stamina":119}, 76 | {"level":145,"exp":2548490,"stamina":120}, {"level":146,"exp":2637490,"stamina":120}, 77 | {"level":147,"exp":2728490,"stamina":120}, {"level":148,"exp":2821490,"stamina":121}, 78 | {"level":149,"exp":2916490,"stamina":121}, {"level":150,"exp":3013490,"stamina":121}, 79 | {"level":151,"exp":3112490,"stamina":122}, {"level":152,"exp":3213490,"stamina":122}, 80 | {"level":153,"exp":3316490,"stamina":122}, {"level":154,"exp":3421490,"stamina":123}, 81 | {"level":155,"exp":3528490,"stamina":123}, {"level":156,"exp":3637490,"stamina":123}, 82 | {"level":157,"exp":3748490,"stamina":124}, {"level":158,"exp":3861490,"stamina":124}, 83 | {"level":159,"exp":3976490,"stamina":124}, {"level":160,"exp":4093490,"stamina":125}, 84 | {"level":161,"exp":4212490,"stamina":125}, {"level":162,"exp":4334490,"stamina":125}, 85 | {"level":163,"exp":4459490,"stamina":126}, {"level":164,"exp":4587490,"stamina":126}, 86 | {"level":165,"exp":4718490,"stamina":126}, {"level":166,"exp":4852490,"stamina":127}, 87 | {"level":167,"exp":4989490,"stamina":127}, {"level":168,"exp":5129490,"stamina":127}, 88 | {"level":169,"exp":5272490,"stamina":128}, {"level":170,"exp":5418490,"stamina":128}, 89 | {"level":171,"exp":5567490,"stamina":128}, {"level":172,"exp":5719490,"stamina":129}, 90 | {"level":173,"exp":5874490,"stamina":129}, {"level":174,"exp":6032490,"stamina":129}, 91 | {"level":175,"exp":6193490,"stamina":130}, {"level":176,"exp":6357490,"stamina":130}, 92 | {"level":177,"exp":6524490,"stamina":130}, {"level":178,"exp":6694490,"stamina":131}, 93 | {"level":179,"exp":6867490,"stamina":131}, {"level":180,"exp":7043490,"stamina":131}, 94 | {"level":181,"exp":7222490,"stamina":132}, {"level":182,"exp":7404490,"stamina":132}, 95 | {"level":183,"exp":7589490,"stamina":132}, {"level":184,"exp":7777490,"stamina":133}, 96 | {"level":185,"exp":7968490,"stamina":133}, {"level":186,"exp":8162490,"stamina":133}, 97 | {"level":187,"exp":8359490,"stamina":134}, {"level":188,"exp":8559490,"stamina":134}, 98 | {"level":189,"exp":8762490,"stamina":134}, {"level":190,"exp":8968490,"stamina":135}, 99 | {"level":191,"exp":9177490,"stamina":135}, {"level":192,"exp":9389490,"stamina":135}, 100 | {"level":193,"exp":9604490,"stamina":136}, {"level":194,"exp":9822490,"stamina":136}, 101 | {"level":195,"exp":10043490,"stamina":136}, {"level":196,"exp":10267490,"stamina":137}, 102 | {"level":197,"exp":10494490,"stamina":137}, {"level":198,"exp":10724490,"stamina":137}, 103 | {"level":199,"exp":10957490,"stamina":138}, {"level":200,"exp":11193490,"stamina":138}, 104 | {"level":201,"exp":11432490,"stamina":138}, {"level":202,"exp":11675490,"stamina":139}, 105 | {"level":203,"exp":11922490,"stamina":139}, {"level":204,"exp":12173490,"stamina":139}, 106 | {"level":205,"exp":12428490,"stamina":140}, {"level":206,"exp":12687490,"stamina":140}, 107 | {"level":207,"exp":12950490,"stamina":140}, {"level":208,"exp":13217490,"stamina":141}, 108 | {"level":209,"exp":13488490,"stamina":141}, {"level":210,"exp":13763490,"stamina":141}, 109 | {"level":211,"exp":14042490,"stamina":142}, {"level":212,"exp":14325490,"stamina":142}, 110 | {"level":213,"exp":14612490,"stamina":142}, {"level":214,"exp":14903490,"stamina":143}, 111 | {"level":215,"exp":15198490,"stamina":143}, {"level":216,"exp":15497490,"stamina":143}, 112 | {"level":217,"exp":15800490,"stamina":144}, {"level":218,"exp":16107490,"stamina":144}, 113 | {"level":219,"exp":16418490,"stamina":144}, {"level":220,"exp":16733490,"stamina":145}, 114 | {"level":221,"exp":17052490,"stamina":145}, {"level":222,"exp":17375490,"stamina":145}, 115 | {"level":223,"exp":17702490,"stamina":146}, {"level":224,"exp":18033490,"stamina":146}, 116 | {"level":225,"exp":18368490,"stamina":146}, {"level":226,"exp":18707490,"stamina":147}, 117 | {"level":227,"exp":19050490,"stamina":147}, {"level":228,"exp":19397490,"stamina":147}, 118 | {"level":229,"exp":19748490,"stamina":148}, {"level":230,"exp":20103490,"stamina":148}, 119 | {"level":231,"exp":20463490,"stamina":148}, {"level":232,"exp":20828490,"stamina":149}, 120 | {"level":233,"exp":21198490,"stamina":149}, {"level":234,"exp":21573490,"stamina":149}, 121 | {"level":235,"exp":21953490,"stamina":150}, {"level":236,"exp":22338490,"stamina":150}, 122 | {"level":237,"exp":22728490,"stamina":150}, {"level":238,"exp":23123490,"stamina":151}, 123 | {"level":239,"exp":23523490,"stamina":151}, {"level":240,"exp":23928490,"stamina":151}, 124 | {"level":241,"exp":24338490,"stamina":152}, {"level":242,"exp":24753490,"stamina":152}, 125 | {"level":243,"exp":25173490,"stamina":152}, {"level":244,"exp":25598490,"stamina":153}, 126 | {"level":245,"exp":26028490,"stamina":153}, {"level":246,"exp":26463490,"stamina":153}, 127 | {"level":247,"exp":26903490,"stamina":154}, {"level":248,"exp":27348490,"stamina":154}, 128 | {"level":249,"exp":27798490,"stamina":154}, {"level":250,"exp":28253490,"stamina":155} 129 | ] 130 | const CharacterLevel = [ 131 | {"level":1,"exp":0}, {"level":2,"exp":30}, {"level":3,"exp":80}, 132 | {"level":4,"exp":150}, {"level":5,"exp":240}, {"level":6,"exp":350}, 133 | {"level":7,"exp":500}, {"level":8,"exp":690}, {"level":9,"exp":920}, 134 | {"level":10,"exp":1190}, {"level":11,"exp":1500}, {"level":12,"exp":1880}, 135 | {"level":13,"exp":2330}, {"level":14,"exp":2850}, {"level":15,"exp":3440}, 136 | {"level":16,"exp":4100}, {"level":17,"exp":4880}, {"level":18,"exp":5780}, 137 | {"level":19,"exp":6800}, {"level":20,"exp":7940}, {"level":21,"exp":9200}, 138 | {"level":22,"exp":10710}, {"level":23,"exp":12470}, {"level":24,"exp":14480}, 139 | {"level":25,"exp":16740}, {"level":26,"exp":19250}, {"level":27,"exp":22260}, 140 | {"level":28,"exp":25770}, {"level":29,"exp":29780}, {"level":30,"exp":34290}, 141 | {"level":31,"exp":39300}, {"level":32,"exp":45060}, {"level":33,"exp":51570}, 142 | {"level":34,"exp":58830}, {"level":35,"exp":66840}, {"level":36,"exp":75600}, 143 | {"level":37,"exp":85110}, {"level":38,"exp":95370}, {"level":39,"exp":106380}, 144 | {"level":40,"exp":118140}, {"level":41,"exp":130650}, {"level":42,"exp":143910}, 145 | {"level":43,"exp":157920}, {"level":44,"exp":172680}, {"level":45,"exp":188190}, 146 | {"level":46,"exp":204450}, {"level":47,"exp":221460}, {"level":48,"exp":239220}, 147 | {"level":49,"exp":257730}, {"level":50,"exp":276990}, {"level":51,"exp":297000}, 148 | {"level":52,"exp":317760}, {"level":53,"exp":339270}, {"level":54,"exp":361530}, 149 | {"level":55,"exp":384540}, {"level":56,"exp":408300}, {"level":57,"exp":432810}, 150 | {"level":58,"exp":458070}, {"level":59,"exp":484080}, {"level":60,"exp":510840}, 151 | {"level":61,"exp":538350}, {"level":62,"exp":570950}, {"level":63,"exp":603750}, 152 | {"level":64,"exp":636750}, {"level":65,"exp":669950}, {"level":66,"exp":703350}, 153 | {"level":67,"exp":736950}, {"level":68,"exp":770750}, {"level":69,"exp":804750}, 154 | {"level":70,"exp":838950}, {"level":71,"exp":873350}, {"level":72,"exp":907950}, 155 | {"level":73,"exp":942750}, {"level":74,"exp":977750}, {"level":75,"exp":1012950}, 156 | {"level":76,"exp":1048350}, {"level":77,"exp":1083950}, {"level":78,"exp":1119750}, 157 | {"level":79,"exp":1155750}, {"level":80,"exp":1191950}, {"level":81,"exp":1391950}, 158 | {"level":82,"exp":1606950}, {"level":83,"exp":1836950}, {"level":84,"exp":2081950}, 159 | {"level":85,"exp":2341950}, {"level":86,"exp":2616950}, {"level":87,"exp":2906950}, 160 | {"level":88,"exp":3211950}, {"level":89,"exp":3531950}, {"level":90,"exp":3866950}, 161 | {"level":91,"exp":4216950}, {"level":92,"exp":4596950}, {"level":93,"exp":5006950}, 162 | {"level":94,"exp":5446950}, {"level":95,"exp":5916950}, {"level":96,"exp":6416950}, 163 | {"level":97,"exp":6961950}, {"level":98,"exp":7551950}, {"level":99,"exp":8186950}, 164 | {"level":100,"exp":8866950} 165 | ] 166 | const DragonLevel = [ 167 | {"level":1,"exp":0}, {"level":2,"exp":240}, {"level":3,"exp":540}, 168 | {"level":4,"exp":900}, {"level":5,"exp":1320}, {"level":6,"exp":1800}, 169 | {"level":7,"exp":2340}, {"level":8,"exp":2940}, {"level":9,"exp":3600}, 170 | {"level":10,"exp":4320}, {"level":11,"exp":5100}, {"level":12,"exp":6000}, 171 | {"level":13,"exp":7020}, {"level":14,"exp":8160}, {"level":15,"exp":9420}, 172 | {"level":16,"exp":10800}, {"level":17,"exp":12300}, {"level":18,"exp":13920}, 173 | {"level":19,"exp":15660}, {"level":20,"exp":17520}, {"level":21,"exp":19500}, 174 | {"level":22,"exp":21660}, {"level":23,"exp":24000}, {"level":24,"exp":26520}, 175 | {"level":25,"exp":29220}, {"level":26,"exp":32100}, {"level":27,"exp":35160}, 176 | {"level":28,"exp":38400}, {"level":29,"exp":41820}, {"level":30,"exp":45420}, 177 | {"level":31,"exp":49200}, {"level":32,"exp":53220}, {"level":33,"exp":57480}, 178 | {"level":34,"exp":61980}, {"level":35,"exp":66720}, {"level":36,"exp":71700}, 179 | {"level":37,"exp":76920}, {"level":38,"exp":82380}, {"level":39,"exp":88080}, 180 | {"level":40,"exp":94020}, {"level":41,"exp":100200}, {"level":42,"exp":106680}, 181 | {"level":43,"exp":113460}, {"level":44,"exp":120540}, {"level":45,"exp":127920}, 182 | {"level":46,"exp":135600}, {"level":47,"exp":143580}, {"level":48,"exp":151860}, 183 | {"level":49,"exp":160440}, {"level":50,"exp":169320}, {"level":51,"exp":178500}, 184 | {"level":52,"exp":188040}, {"level":53,"exp":197940}, {"level":54,"exp":208200}, 185 | {"level":55,"exp":218820}, {"level":56,"exp":229800}, {"level":57,"exp":241140}, 186 | {"level":58,"exp":252840}, {"level":59,"exp":264900}, {"level":60,"exp":277320}, 187 | {"level":61,"exp":290100}, {"level":62,"exp":303330}, {"level":63,"exp":317010}, 188 | {"level":64,"exp":331140}, {"level":65,"exp":345720}, {"level":66,"exp":360750}, 189 | {"level":67,"exp":376230}, {"level":68,"exp":392160}, {"level":69,"exp":408540}, 190 | {"level":70,"exp":425370}, {"level":71,"exp":442650}, {"level":72,"exp":460530}, 191 | {"level":73,"exp":479010}, {"level":74,"exp":498090}, {"level":75,"exp":517770}, 192 | {"level":76,"exp":538050}, {"level":77,"exp":558930}, {"level":78,"exp":580410}, 193 | {"level":79,"exp":602490}, {"level":80,"exp":625170}, {"level":81,"exp":648450}, 194 | {"level":82,"exp":672480}, {"level":83,"exp":697260}, {"level":84,"exp":722790}, 195 | {"level":85,"exp":749070}, {"level":86,"exp":776100}, {"level":87,"exp":803880}, 196 | {"level":88,"exp":832410}, {"level":89,"exp":861690}, {"level":90,"exp":891720}, 197 | {"level":91,"exp":922500}, {"level":92,"exp":954180}, {"level":93,"exp":986760}, 198 | {"level":94,"exp":1020240}, {"level":95,"exp":1054620}, {"level":96,"exp":1089900}, 199 | {"level":97,"exp":1126080}, {"level":98,"exp":1163160}, {"level":99,"exp":1201140}, 200 | {"level":100,"exp":1240020}, {"level":101,"exp":1279800}, {"level":102,"exp":1320580}, 201 | {"level":103,"exp":1363360}, {"level":104,"exp":1409140}, {"level":105,"exp":1458920}, 202 | {"level":106,"exp":1513700}, {"level":107,"exp":1574480}, {"level":108,"exp":1642260}, 203 | {"level":109,"exp":1718040}, {"level":110,"exp":1802820}, {"level":111,"exp":1897600}, 204 | {"level":112,"exp":2003380}, {"level":113,"exp":2121160}, {"level":114,"exp":2251940}, 205 | {"level":115,"exp":2396720}, {"level":116,"exp":2556500}, {"level":117,"exp":2732280}, 206 | {"level":118,"exp":2925060}, {"level":119,"exp":3135840}, {"level":120,"exp":3365620} 207 | ] 208 | const DragonBondLevel_1 = [ 209 | {"type":1,"level":1,"exp":0}, {"type":1,"level":2,"exp":80}, {"type":1,"level":3,"exp":240}, 210 | {"type":1,"level":4,"exp":420}, {"type":1,"level":5,"exp":620}, {"type":1,"level":6,"exp":840}, 211 | {"type":1,"level":7,"exp":1100}, {"type":1,"level":8,"exp":1400}, {"type":1,"level":9,"exp":1800}, 212 | {"type":1,"level":10,"exp":2300}, {"type":1,"level":11,"exp":2900}, {"type":1,"level":12,"exp":3600}, 213 | {"type":1,"level":13,"exp":4400}, {"type":1,"level":14,"exp":5300}, {"type":1,"level":15,"exp":6300}, 214 | {"type":1,"level":16,"exp":7400}, {"type":1,"level":17,"exp":8600}, {"type":1,"level":18,"exp":9900}, 215 | {"type":1,"level":19,"exp":11300}, {"type":1,"level":20,"exp":12800}, {"type":1,"level":21,"exp":14400}, 216 | {"type":1,"level":22,"exp":16150}, {"type":1,"level":23,"exp":18050}, {"type":1,"level":24,"exp":20100}, 217 | {"type":1,"level":25,"exp":22300}, {"type":1,"level":26,"exp":24700}, {"type":1,"level":27,"exp":27300}, 218 | {"type":1,"level":28,"exp":30100}, {"type":1,"level":29,"exp":33100}, {"type":1,"level":30,"exp":36300} 219 | ] 220 | const DragonBondLevel_2 = [ 221 | {"type":2,"level":1,"exp":0}, {"type":2,"level":2,"exp":100}, {"type":2,"level":3,"exp":200}, 222 | {"type":2,"level":4,"exp":300}, {"type":2,"level":5,"exp":400}, {"type":2,"level":6,"exp":500}, 223 | {"type":2,"level":7,"exp":600}, {"type":2,"level":8,"exp":700}, {"type":2,"level":9,"exp":800}, 224 | {"type":2,"level":10,"exp":900}, {"type":2,"level":11,"exp":1000}, {"type":2,"level":12,"exp":1100}, 225 | {"type":2,"level":13,"exp":1200}, {"type":2,"level":14,"exp":1300}, {"type":2,"level":15,"exp":1400}, 226 | {"type":2,"level":16,"exp":1500}, {"type":2,"level":17,"exp":1600}, {"type":2,"level":18,"exp":1700}, 227 | {"type":2,"level":19,"exp":1800}, {"type":2,"level":20,"exp":1900}, {"type":2,"level":21,"exp":2000}, 228 | {"type":2,"level":22,"exp":2100}, {"type":2,"level":23,"exp":2200}, {"type":2,"level":24,"exp":2300}, 229 | {"type":2,"level":25,"exp":2400}, {"type":2,"level":26,"exp":2500}, {"type":2,"level":27,"exp":2600}, 230 | {"type":2,"level":28,"exp":2700}, {"type":2,"level":29,"exp":2800}, {"type":2,"level":30,"exp":2900} 231 | ] 232 | // Kaleidoscape uses divisions of 1000 233 | 234 | function Player(EXPCount) { 235 | if (EXPCount >= 28253490) { return [250, 28253490, 155]; } 236 | const LevelIndex = PlayerLevel.findIndex(x => x.exp > EXPCount) - 1; 237 | return [PlayerLevel[LevelIndex]['level'], EXPCount, PlayerLevel[LevelIndex]['stamina']] 238 | } 239 | 240 | function Character(PlusMaxLevel, EXPCount) { 241 | let LevelIndex = 0; 242 | if (PlusMaxLevel == 0) { 243 | if (EXPCount >= 1191950) { return [80, 1191950]; } 244 | LevelIndex = CharacterLevel.findIndex(x => x.exp > EXPCount) - 1; 245 | return [CharacterLevel[LevelIndex]['level'], EXPCount]; 246 | } 247 | else { 248 | switch(PlusMaxLevel) { 249 | case 5: 250 | if (EXPCount >= 2341950) { return [85, 2341950]; } 251 | LevelIndex = CharacterLevel.findIndex(x => x.exp > EXPCount) - 1; 252 | return [CharacterLevel[LevelIndex]['level'], EXPCount]; break; 253 | case 10: 254 | if (EXPCount >= 3866950) { return [90, 3866950]; } 255 | LevelIndex = CharacterLevel.findIndex(x => x.exp > EXPCount) - 1; 256 | return [CharacterLevel[LevelIndex]['level'], EXPCount]; break; 257 | case 15: 258 | if (EXPCount >= 5916950) { return [95, 5916950]; } 259 | LevelIndex = CharacterLevel.findIndex(x => x.exp > EXPCount) - 1; 260 | return [CharacterLevel[LevelIndex]['level'], EXPCount]; break; 261 | case 20: 262 | if (EXPCount >= 8866950) { return [100, 8866950]; } 263 | LevelIndex = CharacterLevel.findIndex(x => x.exp > EXPCount) - 1; 264 | return [CharacterLevel[LevelIndex]['level'], EXPCount]; break; 265 | } 266 | } 267 | } 268 | 269 | function Dragon(Rarity, LimitBreak, EXPCount) { 270 | let LevelIndex = 0; 271 | switch(Rarity) { 272 | case 3: 273 | if (LimitBreak == 0 && EXPCount >= 17520) { return [20, 17520]; } 274 | if (LimitBreak == 1 && EXPCount >= 45420) { return [30, 45420]; } 275 | if (LimitBreak == 2 && EXPCount >= 94020) { return [40, 94020]; } 276 | if (LimitBreak == 3 && EXPCount >= 169320) { return [50, 169320]; } 277 | if (LimitBreak == 4 && EXPCount >= 277320) { return [60, 277320]; } 278 | LevelIndex = DragonLevel.findIndex(x => x.exp > EXPCount) - 1; 279 | return [DragonLevel[LevelIndex]['level'], EXPCount]; break; 280 | case 4: 281 | if (LimitBreak == 0 && EXPCount >= 45420) { return [30, 45420]; } 282 | if (LimitBreak == 1 && EXPCount >= 94020) { return [40, 94020]; } 283 | if (LimitBreak == 2 && EXPCount >= 169320) { return [50, 169320]; } 284 | if (LimitBreak == 3 && EXPCount >= 345720) { return [65, 345720]; } 285 | if (LimitBreak == 4 && EXPCount >= 625170) { return [80, 625170]; } 286 | LevelIndex = DragonLevel.findIndex(x => x.exp > EXPCount) - 1; 287 | return [DragonLevel[LevelIndex]['level'], EXPCount]; break; 288 | case 5: 289 | if (LimitBreak == 0 && EXPCount >= 94020) { return [40, 94020]; } 290 | if (LimitBreak == 1 && EXPCount >= 218820) { return [55, 218820]; } 291 | if (LimitBreak == 2 && EXPCount >= 425370) { return [70, 425370]; } 292 | if (LimitBreak == 3 && EXPCount >= 749070) { return [85, 749070]; } 293 | if (LimitBreak == 4 && EXPCount >= 1240020) { return [100, 1240020]; } 294 | if (LimitBreak == 5 && EXPCount >= 3365620) { return [120, 3365620]; } 295 | LevelIndex = DragonLevel.findIndex(x => x.exp > EXPCount) - 1; 296 | return [DragonLevel[LevelIndex]['level'], EXPCount]; break; 297 | } 298 | } 299 | 300 | function DragonBond(Type, EXPCount) { 301 | let LevelIndex = 0; 302 | switch(Type) { 303 | case 1: 304 | if (EXPCount > 36300) { return [30, 36300]; } 305 | LevelIndex = DragonBondLevel_1.findIndex(x => x.exp > EXPCount) - 1; 306 | return [DragonBondLevel_1[LevelIndex]['level'], EXPCount]; 307 | break; 308 | case 2: 309 | if (EXPCount > 2900) { return [30, 2900]; } 310 | LevelIndex = DragonBondLevel_2.findIndex(x => x.exp > EXPCount) - 1; 311 | return [DragonBondLevel_2[LevelIndex]['level'], EXPCount]; 312 | break; 313 | } 314 | } 315 | 316 | module.exports = { Character, Dragon, DragonBond, Player } -------------------------------------------------------------------------------- /Library/idmaps/DModeMap/DModeAbilityMap.json: -------------------------------------------------------------------------------- 1 | { 2 | "30101": [ 3 | { 4 | "id": 3010101, 5 | "ability_id": 0 6 | }, 7 | { 8 | "id": 3010102, 9 | "ability_id": 100100601 10 | }, 11 | { 12 | "id": 3010103, 13 | "ability_id": 100100501 14 | }, 15 | { 16 | "id": 3010104, 17 | "ability_id": 100100901 18 | }, 19 | { 20 | "id": 3010105, 21 | "ability_id": 100100801 22 | }, 23 | { 24 | "id": 3010106, 25 | "ability_id": 100100701 26 | }, 27 | { 28 | "id": 3010107, 29 | "ability_id": 100100301 30 | }, 31 | { 32 | "id": 3010108, 33 | "ability_id": 100100401 34 | }, 35 | { 36 | "id": 3010109, 37 | "ability_id": 100101001 38 | }, 39 | { 40 | "id": 3010110, 41 | "ability_id": 100101201 42 | }, 43 | { 44 | "id": 3010111, 45 | "ability_id": 100100101 46 | }, 47 | { 48 | "id": 3010112, 49 | "ability_id": 100100201 50 | } 51 | ], 52 | "30201": [ 53 | { 54 | "id": 3020101, 55 | "ability_id": 0 56 | }, 57 | { 58 | "id": 3020102, 59 | "ability_id": 100100602 60 | }, 61 | { 62 | "id": 3020103, 63 | "ability_id": 100100502 64 | }, 65 | { 66 | "id": 3020104, 67 | "ability_id": 100100902 68 | }, 69 | { 70 | "id": 3020105, 71 | "ability_id": 100100802 72 | }, 73 | { 74 | "id": 3020106, 75 | "ability_id": 100100702 76 | }, 77 | { 78 | "id": 3020107, 79 | "ability_id": 100100302 80 | }, 81 | { 82 | "id": 3020108, 83 | "ability_id": 100100402 84 | }, 85 | { 86 | "id": 3020109, 87 | "ability_id": 100101002 88 | }, 89 | { 90 | "id": 3020110, 91 | "ability_id": 100101202 92 | }, 93 | { 94 | "id": 3020111, 95 | "ability_id": 100100102 96 | }, 97 | { 98 | "id": 3020112, 99 | "ability_id": 100100202 100 | } 101 | ], 102 | "30301": [ 103 | { 104 | "id": 3030101, 105 | "ability_id": 0 106 | }, 107 | { 108 | "id": 3030102, 109 | "ability_id": 100100603 110 | }, 111 | { 112 | "id": 3030103, 113 | "ability_id": 100100503 114 | }, 115 | { 116 | "id": 3030104, 117 | "ability_id": 100100903 118 | }, 119 | { 120 | "id": 3030105, 121 | "ability_id": 100100803 122 | }, 123 | { 124 | "id": 3030106, 125 | "ability_id": 100100703 126 | }, 127 | { 128 | "id": 3030107, 129 | "ability_id": 100100303 130 | }, 131 | { 132 | "id": 3030108, 133 | "ability_id": 100100403 134 | } 135 | ], 136 | "30302": [ 137 | { 138 | "id": 3030201, 139 | "ability_id": 0 140 | }, 141 | { 142 | "id": 3030202, 143 | "ability_id": 100101003 144 | }, 145 | { 146 | "id": 3030203, 147 | "ability_id": 100101203 148 | }, 149 | { 150 | "id": 3030204, 151 | "ability_id": 100100103 152 | }, 153 | { 154 | "id": 3030205, 155 | "ability_id": 100100203 156 | } 157 | ], 158 | "30303": [ 159 | { 160 | "id": 3030301, 161 | "ability_id": 0 162 | }, 163 | { 164 | "id": 3030302, 165 | "ability_id": 100100603 166 | }, 167 | { 168 | "id": 3030303, 169 | "ability_id": 100100503 170 | }, 171 | { 172 | "id": 3030304, 173 | "ability_id": 100100903 174 | }, 175 | { 176 | "id": 3030305, 177 | "ability_id": 100100803 178 | }, 179 | { 180 | "id": 3030306, 181 | "ability_id": 100100703 182 | }, 183 | { 184 | "id": 3030307, 185 | "ability_id": 100100303 186 | }, 187 | { 188 | "id": 3030308, 189 | "ability_id": 100100403 190 | }, 191 | { 192 | "id": 3030309, 193 | "ability_id": 100101003 194 | }, 195 | { 196 | "id": 3030310, 197 | "ability_id": 100101203 198 | }, 199 | { 200 | "id": 3030311, 201 | "ability_id": 100100103 202 | }, 203 | { 204 | "id": 3030312, 205 | "ability_id": 100100203 206 | } 207 | ], 208 | "30401": [ 209 | { 210 | "id": 3040101, 211 | "ability_id": 0 212 | }, 213 | { 214 | "id": 3040102, 215 | "ability_id": 100100604 216 | }, 217 | { 218 | "id": 3040103, 219 | "ability_id": 100100504 220 | }, 221 | { 222 | "id": 3040104, 223 | "ability_id": 100100904 224 | }, 225 | { 226 | "id": 3040105, 227 | "ability_id": 100100804 228 | }, 229 | { 230 | "id": 3040106, 231 | "ability_id": 100100704 232 | }, 233 | { 234 | "id": 3040107, 235 | "ability_id": 100100304 236 | }, 237 | { 238 | "id": 3040108, 239 | "ability_id": 100100404 240 | } 241 | ], 242 | "30402": [ 243 | { 244 | "id": 3040201, 245 | "ability_id": 0 246 | }, 247 | { 248 | "id": 3040202, 249 | "ability_id": 100101003 250 | }, 251 | { 252 | "id": 3040203, 253 | "ability_id": 100101204 254 | }, 255 | { 256 | "id": 3040204, 257 | "ability_id": 100100104 258 | }, 259 | { 260 | "id": 3040205, 261 | "ability_id": 100100204 262 | } 263 | ], 264 | "30403": [ 265 | { 266 | "id": 3040301, 267 | "ability_id": 0 268 | }, 269 | { 270 | "id": 3040302, 271 | "ability_id": 100100604 272 | }, 273 | { 274 | "id": 3040303, 275 | "ability_id": 100100504 276 | }, 277 | { 278 | "id": 3040304, 279 | "ability_id": 100100904 280 | }, 281 | { 282 | "id": 3040305, 283 | "ability_id": 100100804 284 | }, 285 | { 286 | "id": 3040306, 287 | "ability_id": 100100704 288 | }, 289 | { 290 | "id": 3040307, 291 | "ability_id": 100100304 292 | }, 293 | { 294 | "id": 3040308, 295 | "ability_id": 100100404 296 | }, 297 | { 298 | "id": 3040309, 299 | "ability_id": 100101003 300 | }, 301 | { 302 | "id": 3040310, 303 | "ability_id": 100101204 304 | }, 305 | { 306 | "id": 3040311, 307 | "ability_id": 100100104 308 | }, 309 | { 310 | "id": 3040312, 311 | "ability_id": 100100204 312 | } 313 | ], 314 | "30501": [ 315 | { 316 | "id": 3050101, 317 | "ability_id": 0 318 | }, 319 | { 320 | "id": 3050102, 321 | "ability_id": 100100605 322 | }, 323 | { 324 | "id": 3050103, 325 | "ability_id": 100100604 326 | }, 327 | { 328 | "id": 3050104, 329 | "ability_id": 100100505 330 | }, 331 | { 332 | "id": 3050105, 333 | "ability_id": 100100504 334 | } 335 | ], 336 | "30502": [ 337 | { 338 | "id": 3050201, 339 | "ability_id": 0 340 | }, 341 | { 342 | "id": 3050202, 343 | "ability_id": 100101102 344 | }, 345 | { 346 | "id": 3050203, 347 | "ability_id": 100101101 348 | }, 349 | { 350 | "id": 3050204, 351 | "ability_id": 100101004 352 | }, 353 | { 354 | "id": 3050205, 355 | "ability_id": 100101003 356 | }, 357 | { 358 | "id": 3050206, 359 | "ability_id": 100101205 360 | }, 361 | { 362 | "id": 3050207, 363 | "ability_id": 100101204 364 | }, 365 | { 366 | "id": 3050208, 367 | "ability_id": 100100105 368 | }, 369 | { 370 | "id": 3050209, 371 | "ability_id": 100100104 372 | }, 373 | { 374 | "id": 3050210, 375 | "ability_id": 100100205 376 | }, 377 | { 378 | "id": 3050211, 379 | "ability_id": 100100204 380 | } 381 | ], 382 | "30503": [ 383 | { 384 | "id": 3050301, 385 | "ability_id": 0 386 | }, 387 | { 388 | "id": 3050302, 389 | "ability_id": 100100605 390 | }, 391 | { 392 | "id": 3050303, 393 | "ability_id": 100100604 394 | }, 395 | { 396 | "id": 3050304, 397 | "ability_id": 100100505 398 | }, 399 | { 400 | "id": 3050305, 401 | "ability_id": 100100504 402 | }, 403 | { 404 | "id": 3050306, 405 | "ability_id": 100101102 406 | }, 407 | { 408 | "id": 3050307, 409 | "ability_id": 100101101 410 | }, 411 | { 412 | "id": 3050308, 413 | "ability_id": 100101004 414 | }, 415 | { 416 | "id": 3050309, 417 | "ability_id": 100101003 418 | }, 419 | { 420 | "id": 3050310, 421 | "ability_id": 100101205 422 | }, 423 | { 424 | "id": 3050311, 425 | "ability_id": 100101204 426 | }, 427 | { 428 | "id": 3050312, 429 | "ability_id": 100100105 430 | }, 431 | { 432 | "id": 3050313, 433 | "ability_id": 100100104 434 | }, 435 | { 436 | "id": 3050314, 437 | "ability_id": 100100205 438 | }, 439 | { 440 | "id": 3050315, 441 | "ability_id": 100100204 442 | } 443 | ], 444 | "40101": [ 445 | { 446 | "id": 4010101, 447 | "ability_id": 0 448 | }, 449 | { 450 | "id": 4010102, 451 | "ability_id": 100202001 452 | }, 453 | { 454 | "id": 4010103, 455 | "ability_id": 100201401 456 | }, 457 | { 458 | "id": 4010104, 459 | "ability_id": 100201701 460 | }, 461 | { 462 | "id": 4010105, 463 | "ability_id": 100201101 464 | }, 465 | { 466 | "id": 4010106, 467 | "ability_id": 100201901 468 | }, 469 | { 470 | "id": 4010107, 471 | "ability_id": 100201201 472 | }, 473 | { 474 | "id": 4010108, 475 | "ability_id": 100201501 476 | }, 477 | { 478 | "id": 4010109, 479 | "ability_id": 100201301 480 | }, 481 | { 482 | "id": 4010110, 483 | "ability_id": 100201601 484 | }, 485 | { 486 | "id": 4010111, 487 | "ability_id": 100201001 488 | }, 489 | { 490 | "id": 4010112, 491 | "ability_id": 100201801 492 | }, 493 | { 494 | "id": 4010113, 495 | "ability_id": 100200601 496 | }, 497 | { 498 | "id": 4010114, 499 | "ability_id": 100200201 500 | }, 501 | { 502 | "id": 4010115, 503 | "ability_id": 100200401 504 | }, 505 | { 506 | "id": 4010116, 507 | "ability_id": 100200101 508 | }, 509 | { 510 | "id": 4010117, 511 | "ability_id": 100200701 512 | }, 513 | { 514 | "id": 4010118, 515 | "ability_id": 100200901 516 | }, 517 | { 518 | "id": 4010119, 519 | "ability_id": 100202101 520 | }, 521 | { 522 | "id": 4010120, 523 | "ability_id": 100200301 524 | }, 525 | { 526 | "id": 4010121, 527 | "ability_id": 100200501 528 | }, 529 | { 530 | "id": 4010122, 531 | "ability_id": 100200801 532 | } 533 | ], 534 | "40201": [ 535 | { 536 | "id": 4020101, 537 | "ability_id": 0 538 | }, 539 | { 540 | "id": 4020102, 541 | "ability_id": 100202002 542 | }, 543 | { 544 | "id": 4020103, 545 | "ability_id": 100201402 546 | }, 547 | { 548 | "id": 4020104, 549 | "ability_id": 100201702 550 | }, 551 | { 552 | "id": 4020105, 553 | "ability_id": 100201102 554 | }, 555 | { 556 | "id": 4020106, 557 | "ability_id": 100201902 558 | }, 559 | { 560 | "id": 4020107, 561 | "ability_id": 100201202 562 | }, 563 | { 564 | "id": 4020108, 565 | "ability_id": 100201502 566 | }, 567 | { 568 | "id": 4020109, 569 | "ability_id": 100201302 570 | }, 571 | { 572 | "id": 4020110, 573 | "ability_id": 100201602 574 | }, 575 | { 576 | "id": 4020111, 577 | "ability_id": 100201002 578 | }, 579 | { 580 | "id": 4020112, 581 | "ability_id": 100201802 582 | }, 583 | { 584 | "id": 4020113, 585 | "ability_id": 100200602 586 | }, 587 | { 588 | "id": 4020114, 589 | "ability_id": 100200202 590 | }, 591 | { 592 | "id": 4020115, 593 | "ability_id": 100200402 594 | }, 595 | { 596 | "id": 4020116, 597 | "ability_id": 100200102 598 | }, 599 | { 600 | "id": 4020117, 601 | "ability_id": 100200702 602 | }, 603 | { 604 | "id": 4020118, 605 | "ability_id": 100200902 606 | }, 607 | { 608 | "id": 4020119, 609 | "ability_id": 100202102 610 | }, 611 | { 612 | "id": 4020120, 613 | "ability_id": 100200302 614 | }, 615 | { 616 | "id": 4020121, 617 | "ability_id": 100200502 618 | }, 619 | { 620 | "id": 4020122, 621 | "ability_id": 100200802 622 | } 623 | ], 624 | "40301": [ 625 | { 626 | "id": 4030101, 627 | "ability_id": 0 628 | }, 629 | { 630 | "id": 4030102, 631 | "ability_id": 100201403 632 | }, 633 | { 634 | "id": 4030103, 635 | "ability_id": 100201703 636 | }, 637 | { 638 | "id": 4030104, 639 | "ability_id": 100201103 640 | }, 641 | { 642 | "id": 4030105, 643 | "ability_id": 100201903 644 | }, 645 | { 646 | "id": 4030106, 647 | "ability_id": 100201203 648 | }, 649 | { 650 | "id": 4030107, 651 | "ability_id": 100201503 652 | }, 653 | { 654 | "id": 4030108, 655 | "ability_id": 100201303 656 | }, 657 | { 658 | "id": 4030109, 659 | "ability_id": 100201603 660 | }, 661 | { 662 | "id": 4030110, 663 | "ability_id": 100201003 664 | }, 665 | { 666 | "id": 4030111, 667 | "ability_id": 100201803 668 | } 669 | ], 670 | "40302": [ 671 | { 672 | "id": 4030201, 673 | "ability_id": 0 674 | }, 675 | { 676 | "id": 4030202, 677 | "ability_id": 100202003 678 | }, 679 | { 680 | "id": 4030203, 681 | "ability_id": 100200603 682 | }, 683 | { 684 | "id": 4030204, 685 | "ability_id": 100200203 686 | }, 687 | { 688 | "id": 4030205, 689 | "ability_id": 100200403 690 | }, 691 | { 692 | "id": 4030206, 693 | "ability_id": 100200103 694 | }, 695 | { 696 | "id": 4030207, 697 | "ability_id": 100200703 698 | }, 699 | { 700 | "id": 4030208, 701 | "ability_id": 100200903 702 | }, 703 | { 704 | "id": 4030209, 705 | "ability_id": 100202103 706 | }, 707 | { 708 | "id": 4030210, 709 | "ability_id": 100200303 710 | }, 711 | { 712 | "id": 4030211, 713 | "ability_id": 100200503 714 | }, 715 | { 716 | "id": 4030212, 717 | "ability_id": 100200803 718 | } 719 | ], 720 | "40303": [ 721 | { 722 | "id": 4030301, 723 | "ability_id": 0 724 | }, 725 | { 726 | "id": 4030302, 727 | "ability_id": 100202003 728 | }, 729 | { 730 | "id": 4030303, 731 | "ability_id": 100201403 732 | }, 733 | { 734 | "id": 4030304, 735 | "ability_id": 100201703 736 | }, 737 | { 738 | "id": 4030305, 739 | "ability_id": 100201103 740 | }, 741 | { 742 | "id": 4030306, 743 | "ability_id": 100201903 744 | }, 745 | { 746 | "id": 4030307, 747 | "ability_id": 100201203 748 | }, 749 | { 750 | "id": 4030308, 751 | "ability_id": 100201503 752 | }, 753 | { 754 | "id": 4030309, 755 | "ability_id": 100201303 756 | }, 757 | { 758 | "id": 4030310, 759 | "ability_id": 100201603 760 | }, 761 | { 762 | "id": 4030311, 763 | "ability_id": 100201003 764 | }, 765 | { 766 | "id": 4030312, 767 | "ability_id": 100201803 768 | }, 769 | { 770 | "id": 4030313, 771 | "ability_id": 100200603 772 | }, 773 | { 774 | "id": 4030314, 775 | "ability_id": 100200203 776 | }, 777 | { 778 | "id": 4030315, 779 | "ability_id": 100200403 780 | }, 781 | { 782 | "id": 4030316, 783 | "ability_id": 100200103 784 | }, 785 | { 786 | "id": 4030317, 787 | "ability_id": 100200703 788 | }, 789 | { 790 | "id": 4030318, 791 | "ability_id": 100200903 792 | }, 793 | { 794 | "id": 4030319, 795 | "ability_id": 100202103 796 | }, 797 | { 798 | "id": 4030320, 799 | "ability_id": 100200303 800 | }, 801 | { 802 | "id": 4030321, 803 | "ability_id": 100200503 804 | }, 805 | { 806 | "id": 4030322, 807 | "ability_id": 100200803 808 | } 809 | ], 810 | "40401": [ 811 | { 812 | "id": 4040101, 813 | "ability_id": 0 814 | }, 815 | { 816 | "id": 4040102, 817 | "ability_id": 100201404 818 | }, 819 | { 820 | "id": 4040103, 821 | "ability_id": 100201704 822 | }, 823 | { 824 | "id": 4040104, 825 | "ability_id": 100201104 826 | }, 827 | { 828 | "id": 4040105, 829 | "ability_id": 100201904 830 | }, 831 | { 832 | "id": 4040106, 833 | "ability_id": 100201204 834 | }, 835 | { 836 | "id": 4040107, 837 | "ability_id": 100201504 838 | }, 839 | { 840 | "id": 4040108, 841 | "ability_id": 100201304 842 | }, 843 | { 844 | "id": 4040109, 845 | "ability_id": 100201604 846 | }, 847 | { 848 | "id": 4040110, 849 | "ability_id": 100201004 850 | }, 851 | { 852 | "id": 4040111, 853 | "ability_id": 100201804 854 | } 855 | ], 856 | "40402": [ 857 | { 858 | "id": 4040201, 859 | "ability_id": 0 860 | }, 861 | { 862 | "id": 4040202, 863 | "ability_id": 100202004 864 | }, 865 | { 866 | "id": 4040203, 867 | "ability_id": 100200604 868 | }, 869 | { 870 | "id": 4040204, 871 | "ability_id": 100200204 872 | }, 873 | { 874 | "id": 4040205, 875 | "ability_id": 100200404 876 | }, 877 | { 878 | "id": 4040206, 879 | "ability_id": 100200104 880 | }, 881 | { 882 | "id": 4040207, 883 | "ability_id": 100200704 884 | }, 885 | { 886 | "id": 4040208, 887 | "ability_id": 100200904 888 | }, 889 | { 890 | "id": 4040209, 891 | "ability_id": 100202104 892 | }, 893 | { 894 | "id": 4040210, 895 | "ability_id": 100200304 896 | }, 897 | { 898 | "id": 4040211, 899 | "ability_id": 100200504 900 | }, 901 | { 902 | "id": 4040212, 903 | "ability_id": 100200804 904 | } 905 | ], 906 | "40403": [ 907 | { 908 | "id": 4040301, 909 | "ability_id": 0 910 | }, 911 | { 912 | "id": 4040302, 913 | "ability_id": 100202004 914 | }, 915 | { 916 | "id": 4040303, 917 | "ability_id": 100201404 918 | }, 919 | { 920 | "id": 4040304, 921 | "ability_id": 100201704 922 | }, 923 | { 924 | "id": 4040305, 925 | "ability_id": 100201104 926 | }, 927 | { 928 | "id": 4040306, 929 | "ability_id": 100201904 930 | }, 931 | { 932 | "id": 4040307, 933 | "ability_id": 100201204 934 | }, 935 | { 936 | "id": 4040308, 937 | "ability_id": 100201504 938 | }, 939 | { 940 | "id": 4040309, 941 | "ability_id": 100201304 942 | }, 943 | { 944 | "id": 4040310, 945 | "ability_id": 100201604 946 | }, 947 | { 948 | "id": 4040311, 949 | "ability_id": 100201004 950 | }, 951 | { 952 | "id": 4040312, 953 | "ability_id": 100201804 954 | }, 955 | { 956 | "id": 4040313, 957 | "ability_id": 100200604 958 | }, 959 | { 960 | "id": 4040314, 961 | "ability_id": 100200204 962 | }, 963 | { 964 | "id": 4040315, 965 | "ability_id": 100200404 966 | }, 967 | { 968 | "id": 4040316, 969 | "ability_id": 100200104 970 | }, 971 | { 972 | "id": 4040317, 973 | "ability_id": 100200704 974 | }, 975 | { 976 | "id": 4040318, 977 | "ability_id": 100200904 978 | }, 979 | { 980 | "id": 4040319, 981 | "ability_id": 100202104 982 | }, 983 | { 984 | "id": 4040320, 985 | "ability_id": 100200304 986 | }, 987 | { 988 | "id": 4040321, 989 | "ability_id": 100200504 990 | }, 991 | { 992 | "id": 4040322, 993 | "ability_id": 100200804 994 | } 995 | ], 996 | "40501": [ 997 | { 998 | "id": 4050101, 999 | "ability_id": 0 1000 | }, 1001 | { 1002 | "id": 4050102, 1003 | "ability_id": 100201405 1004 | }, 1005 | { 1006 | "id": 4050103, 1007 | "ability_id": 100201705 1008 | }, 1009 | { 1010 | "id": 4050104, 1011 | "ability_id": 100201105 1012 | }, 1013 | { 1014 | "id": 4050105, 1015 | "ability_id": 100201905 1016 | }, 1017 | { 1018 | "id": 4050106, 1019 | "ability_id": 100201205 1020 | }, 1021 | { 1022 | "id": 4050107, 1023 | "ability_id": 100201505 1024 | }, 1025 | { 1026 | "id": 4050108, 1027 | "ability_id": 100201305 1028 | }, 1029 | { 1030 | "id": 4050109, 1031 | "ability_id": 100201605 1032 | }, 1033 | { 1034 | "id": 4050110, 1035 | "ability_id": 100201005 1036 | }, 1037 | { 1038 | "id": 4050111, 1039 | "ability_id": 100201805 1040 | } 1041 | ], 1042 | "40502": [ 1043 | { 1044 | "id": 4050201, 1045 | "ability_id": 0 1046 | }, 1047 | { 1048 | "id": 4050202, 1049 | "ability_id": 100202005 1050 | }, 1051 | { 1052 | "id": 4050203, 1053 | "ability_id": 100200605 1054 | }, 1055 | { 1056 | "id": 4050204, 1057 | "ability_id": 100200205 1058 | }, 1059 | { 1060 | "id": 4050205, 1061 | "ability_id": 100200405 1062 | }, 1063 | { 1064 | "id": 4050206, 1065 | "ability_id": 100200105 1066 | }, 1067 | { 1068 | "id": 4050207, 1069 | "ability_id": 100200705 1070 | }, 1071 | { 1072 | "id": 4050208, 1073 | "ability_id": 100200905 1074 | }, 1075 | { 1076 | "id": 4050209, 1077 | "ability_id": 100202105 1078 | }, 1079 | { 1080 | "id": 4050210, 1081 | "ability_id": 100200305 1082 | }, 1083 | { 1084 | "id": 4050211, 1085 | "ability_id": 100200505 1086 | }, 1087 | { 1088 | "id": 4050212, 1089 | "ability_id": 100200805 1090 | } 1091 | ], 1092 | "40503": [ 1093 | { 1094 | "id": 4050301, 1095 | "ability_id": 0 1096 | }, 1097 | { 1098 | "id": 4050302, 1099 | "ability_id": 100202005 1100 | }, 1101 | { 1102 | "id": 4050303, 1103 | "ability_id": 100201405 1104 | }, 1105 | { 1106 | "id": 4050304, 1107 | "ability_id": 100201705 1108 | }, 1109 | { 1110 | "id": 4050305, 1111 | "ability_id": 100201105 1112 | }, 1113 | { 1114 | "id": 4050306, 1115 | "ability_id": 100201905 1116 | }, 1117 | { 1118 | "id": 4050307, 1119 | "ability_id": 100201205 1120 | }, 1121 | { 1122 | "id": 4050308, 1123 | "ability_id": 100201505 1124 | }, 1125 | { 1126 | "id": 4050309, 1127 | "ability_id": 100201305 1128 | }, 1129 | { 1130 | "id": 4050310, 1131 | "ability_id": 100201605 1132 | }, 1133 | { 1134 | "id": 4050311, 1135 | "ability_id": 100201005 1136 | }, 1137 | { 1138 | "id": 4050312, 1139 | "ability_id": 100201805 1140 | }, 1141 | { 1142 | "id": 4050313, 1143 | "ability_id": 100200605 1144 | }, 1145 | { 1146 | "id": 4050314, 1147 | "ability_id": 100200205 1148 | }, 1149 | { 1150 | "id": 4050315, 1151 | "ability_id": 100200405 1152 | }, 1153 | { 1154 | "id": 4050316, 1155 | "ability_id": 100200105 1156 | }, 1157 | { 1158 | "id": 4050317, 1159 | "ability_id": 100200705 1160 | }, 1161 | { 1162 | "id": 4050318, 1163 | "ability_id": 100200905 1164 | }, 1165 | { 1166 | "id": 4050319, 1167 | "ability_id": 100202105 1168 | }, 1169 | { 1170 | "id": 4050320, 1171 | "ability_id": 100200305 1172 | }, 1173 | { 1174 | "id": 4050321, 1175 | "ability_id": 100200505 1176 | }, 1177 | { 1178 | "id": 4050322, 1179 | "ability_id": 100200805 1180 | } 1181 | ] 1182 | } -------------------------------------------------------------------------------- /Library/idmaps/DModeMap/DModeServitorPassive.json: -------------------------------------------------------------------------------- 1 | { 2 | "1": { 3 | "1": { 4 | "dusk": 100, 5 | "dawn": 0 6 | }, 7 | "2": { 8 | "dusk": 250, 9 | "dawn": 0 10 | }, 11 | "3": { 12 | "dusk": 500, 13 | "dawn": 0 14 | }, 15 | "4": { 16 | "dusk": 750, 17 | "dawn": 0 18 | }, 19 | "5": { 20 | "dusk": 1000, 21 | "dawn": 0 22 | }, 23 | "6": { 24 | "dusk": 1250, 25 | "dawn": 0 26 | }, 27 | "7": { 28 | "dusk": 1500, 29 | "dawn": 0 30 | }, 31 | "8": { 32 | "dusk": 1750, 33 | "dawn": 0 34 | }, 35 | "9": { 36 | "dusk": 2000, 37 | "dawn": 0 38 | }, 39 | "10": { 40 | "dusk": 2250, 41 | "dawn": 0 42 | }, 43 | "11": { 44 | "dusk": 2800, 45 | "dawn": 200 46 | }, 47 | "12": { 48 | "dusk": 3350, 49 | "dawn": 300 50 | }, 51 | "13": { 52 | "dusk": 3900, 53 | "dawn": 500 54 | }, 55 | "14": { 56 | "dusk": 4450, 57 | "dawn": 700 58 | }, 59 | "15": { 60 | "dusk": 5000, 61 | "dawn": 900 62 | }, 63 | "16": { 64 | "dusk": 6000, 65 | "dawn": 1100 66 | }, 67 | "17": { 68 | "dusk": 7000, 69 | "dawn": 1300 70 | }, 71 | "18": { 72 | "dusk": 8000, 73 | "dawn": 1500 74 | }, 75 | "19": { 76 | "dusk": 9000, 77 | "dawn": 1700 78 | }, 79 | "20": { 80 | "dusk": 10000, 81 | "dawn": 2000 82 | } 83 | }, 84 | "2": { 85 | "1": { 86 | "dusk": 100, 87 | "dawn": 0 88 | }, 89 | "2": { 90 | "dusk": 250, 91 | "dawn": 0 92 | }, 93 | "3": { 94 | "dusk": 500, 95 | "dawn": 0 96 | }, 97 | "4": { 98 | "dusk": 750, 99 | "dawn": 0 100 | }, 101 | "5": { 102 | "dusk": 1000, 103 | "dawn": 0 104 | }, 105 | "6": { 106 | "dusk": 1250, 107 | "dawn": 0 108 | }, 109 | "7": { 110 | "dusk": 1500, 111 | "dawn": 0 112 | }, 113 | "8": { 114 | "dusk": 1750, 115 | "dawn": 0 116 | }, 117 | "9": { 118 | "dusk": 2000, 119 | "dawn": 0 120 | }, 121 | "10": { 122 | "dusk": 2250, 123 | "dawn": 0 124 | }, 125 | "11": { 126 | "dusk": 2800, 127 | "dawn": 200 128 | }, 129 | "12": { 130 | "dusk": 3350, 131 | "dawn": 300 132 | }, 133 | "13": { 134 | "dusk": 3900, 135 | "dawn": 500 136 | }, 137 | "14": { 138 | "dusk": 4450, 139 | "dawn": 700 140 | }, 141 | "15": { 142 | "dusk": 5000, 143 | "dawn": 900 144 | }, 145 | "16": { 146 | "dusk": 6000, 147 | "dawn": 1100 148 | }, 149 | "17": { 150 | "dusk": 7000, 151 | "dawn": 1300 152 | }, 153 | "18": { 154 | "dusk": 8000, 155 | "dawn": 1500 156 | }, 157 | "19": { 158 | "dusk": 9000, 159 | "dawn": 1700 160 | }, 161 | "20": { 162 | "dusk": 10000, 163 | "dawn": 2000 164 | } 165 | }, 166 | "3": { 167 | "1": { 168 | "dusk": 100, 169 | "dawn": 0 170 | }, 171 | "2": { 172 | "dusk": 250, 173 | "dawn": 0 174 | }, 175 | "3": { 176 | "dusk": 500, 177 | "dawn": 0 178 | }, 179 | "4": { 180 | "dusk": 750, 181 | "dawn": 0 182 | }, 183 | "5": { 184 | "dusk": 1000, 185 | "dawn": 0 186 | }, 187 | "6": { 188 | "dusk": 1250, 189 | "dawn": 0 190 | }, 191 | "7": { 192 | "dusk": 1500, 193 | "dawn": 0 194 | }, 195 | "8": { 196 | "dusk": 1750, 197 | "dawn": 0 198 | }, 199 | "9": { 200 | "dusk": 2000, 201 | "dawn": 0 202 | }, 203 | "10": { 204 | "dusk": 2250, 205 | "dawn": 0 206 | }, 207 | "11": { 208 | "dusk": 2800, 209 | "dawn": 200 210 | }, 211 | "12": { 212 | "dusk": 3350, 213 | "dawn": 300 214 | }, 215 | "13": { 216 | "dusk": 3900, 217 | "dawn": 500 218 | }, 219 | "14": { 220 | "dusk": 4450, 221 | "dawn": 700 222 | }, 223 | "15": { 224 | "dusk": 5000, 225 | "dawn": 900 226 | }, 227 | "16": { 228 | "dusk": 6000, 229 | "dawn": 1100 230 | }, 231 | "17": { 232 | "dusk": 7000, 233 | "dawn": 1300 234 | }, 235 | "18": { 236 | "dusk": 8000, 237 | "dawn": 1500 238 | }, 239 | "19": { 240 | "dusk": 9000, 241 | "dawn": 1700 242 | }, 243 | "20": { 244 | "dusk": 10000, 245 | "dawn": 2000 246 | } 247 | }, 248 | "4": { 249 | "1": { 250 | "dusk": 100, 251 | "dawn": 0 252 | }, 253 | "2": { 254 | "dusk": 250, 255 | "dawn": 0 256 | }, 257 | "3": { 258 | "dusk": 500, 259 | "dawn": 0 260 | }, 261 | "4": { 262 | "dusk": 750, 263 | "dawn": 0 264 | }, 265 | "5": { 266 | "dusk": 1000, 267 | "dawn": 0 268 | }, 269 | "6": { 270 | "dusk": 1250, 271 | "dawn": 0 272 | }, 273 | "7": { 274 | "dusk": 1500, 275 | "dawn": 0 276 | }, 277 | "8": { 278 | "dusk": 1750, 279 | "dawn": 0 280 | }, 281 | "9": { 282 | "dusk": 2000, 283 | "dawn": 0 284 | }, 285 | "10": { 286 | "dusk": 2250, 287 | "dawn": 0 288 | }, 289 | "11": { 290 | "dusk": 2800, 291 | "dawn": 200 292 | }, 293 | "12": { 294 | "dusk": 3350, 295 | "dawn": 300 296 | }, 297 | "13": { 298 | "dusk": 3900, 299 | "dawn": 500 300 | }, 301 | "14": { 302 | "dusk": 4450, 303 | "dawn": 700 304 | }, 305 | "15": { 306 | "dusk": 5000, 307 | "dawn": 900 308 | }, 309 | "16": { 310 | "dusk": 6000, 311 | "dawn": 1100 312 | }, 313 | "17": { 314 | "dusk": 7000, 315 | "dawn": 1300 316 | }, 317 | "18": { 318 | "dusk": 8000, 319 | "dawn": 1500 320 | }, 321 | "19": { 322 | "dusk": 9000, 323 | "dawn": 1700 324 | }, 325 | "20": { 326 | "dusk": 10000, 327 | "dawn": 2000 328 | } 329 | }, 330 | "5": { 331 | "1": { 332 | "dusk": 100, 333 | "dawn": 0 334 | }, 335 | "2": { 336 | "dusk": 250, 337 | "dawn": 0 338 | }, 339 | "3": { 340 | "dusk": 500, 341 | "dawn": 0 342 | }, 343 | "4": { 344 | "dusk": 750, 345 | "dawn": 0 346 | }, 347 | "5": { 348 | "dusk": 1000, 349 | "dawn": 0 350 | }, 351 | "6": { 352 | "dusk": 1250, 353 | "dawn": 0 354 | }, 355 | "7": { 356 | "dusk": 1500, 357 | "dawn": 0 358 | }, 359 | "8": { 360 | "dusk": 1750, 361 | "dawn": 0 362 | }, 363 | "9": { 364 | "dusk": 2000, 365 | "dawn": 0 366 | }, 367 | "10": { 368 | "dusk": 2250, 369 | "dawn": 0 370 | }, 371 | "11": { 372 | "dusk": 2800, 373 | "dawn": 200 374 | }, 375 | "12": { 376 | "dusk": 3350, 377 | "dawn": 300 378 | }, 379 | "13": { 380 | "dusk": 3900, 381 | "dawn": 500 382 | }, 383 | "14": { 384 | "dusk": 4450, 385 | "dawn": 700 386 | }, 387 | "15": { 388 | "dusk": 5000, 389 | "dawn": 900 390 | }, 391 | "16": { 392 | "dusk": 6000, 393 | "dawn": 1100 394 | }, 395 | "17": { 396 | "dusk": 7000, 397 | "dawn": 1300 398 | }, 399 | "18": { 400 | "dusk": 8000, 401 | "dawn": 1500 402 | }, 403 | "19": { 404 | "dusk": 9000, 405 | "dawn": 1700 406 | }, 407 | "20": { 408 | "dusk": 10000, 409 | "dawn": 2000 410 | } 411 | }, 412 | "6": { 413 | "1": { 414 | "dusk": 100, 415 | "dawn": 0 416 | }, 417 | "2": { 418 | "dusk": 250, 419 | "dawn": 0 420 | }, 421 | "3": { 422 | "dusk": 500, 423 | "dawn": 0 424 | }, 425 | "4": { 426 | "dusk": 750, 427 | "dawn": 0 428 | }, 429 | "5": { 430 | "dusk": 1000, 431 | "dawn": 0 432 | }, 433 | "6": { 434 | "dusk": 1250, 435 | "dawn": 0 436 | }, 437 | "7": { 438 | "dusk": 1500, 439 | "dawn": 0 440 | }, 441 | "8": { 442 | "dusk": 1750, 443 | "dawn": 0 444 | }, 445 | "9": { 446 | "dusk": 2000, 447 | "dawn": 0 448 | }, 449 | "10": { 450 | "dusk": 2250, 451 | "dawn": 0 452 | }, 453 | "11": { 454 | "dusk": 2800, 455 | "dawn": 200 456 | }, 457 | "12": { 458 | "dusk": 3350, 459 | "dawn": 300 460 | }, 461 | "13": { 462 | "dusk": 3900, 463 | "dawn": 500 464 | }, 465 | "14": { 466 | "dusk": 4450, 467 | "dawn": 700 468 | }, 469 | "15": { 470 | "dusk": 5000, 471 | "dawn": 900 472 | }, 473 | "16": { 474 | "dusk": 6000, 475 | "dawn": 1100 476 | }, 477 | "17": { 478 | "dusk": 7000, 479 | "dawn": 1300 480 | }, 481 | "18": { 482 | "dusk": 8000, 483 | "dawn": 1500 484 | }, 485 | "19": { 486 | "dusk": 9000, 487 | "dawn": 1700 488 | }, 489 | "20": { 490 | "dusk": 10000, 491 | "dawn": 2000 492 | } 493 | }, 494 | "7": { 495 | "1": { 496 | "dusk": 100, 497 | "dawn": 0 498 | }, 499 | "2": { 500 | "dusk": 250, 501 | "dawn": 0 502 | }, 503 | "3": { 504 | "dusk": 500, 505 | "dawn": 0 506 | }, 507 | "4": { 508 | "dusk": 750, 509 | "dawn": 0 510 | }, 511 | "5": { 512 | "dusk": 1000, 513 | "dawn": 0 514 | }, 515 | "6": { 516 | "dusk": 1250, 517 | "dawn": 0 518 | }, 519 | "7": { 520 | "dusk": 1500, 521 | "dawn": 0 522 | }, 523 | "8": { 524 | "dusk": 1750, 525 | "dawn": 0 526 | }, 527 | "9": { 528 | "dusk": 2000, 529 | "dawn": 0 530 | }, 531 | "10": { 532 | "dusk": 2250, 533 | "dawn": 0 534 | }, 535 | "11": { 536 | "dusk": 2800, 537 | "dawn": 200 538 | }, 539 | "12": { 540 | "dusk": 3350, 541 | "dawn": 300 542 | }, 543 | "13": { 544 | "dusk": 3900, 545 | "dawn": 500 546 | }, 547 | "14": { 548 | "dusk": 4450, 549 | "dawn": 700 550 | }, 551 | "15": { 552 | "dusk": 5000, 553 | "dawn": 900 554 | }, 555 | "16": { 556 | "dusk": 6000, 557 | "dawn": 1100 558 | }, 559 | "17": { 560 | "dusk": 7000, 561 | "dawn": 1300 562 | }, 563 | "18": { 564 | "dusk": 8000, 565 | "dawn": 1500 566 | }, 567 | "19": { 568 | "dusk": 9000, 569 | "dawn": 1700 570 | }, 571 | "20": { 572 | "dusk": 10000, 573 | "dawn": 2000 574 | } 575 | }, 576 | "8": { 577 | "1": { 578 | "dusk": 100, 579 | "dawn": 0 580 | }, 581 | "2": { 582 | "dusk": 250, 583 | "dawn": 0 584 | }, 585 | "3": { 586 | "dusk": 500, 587 | "dawn": 0 588 | }, 589 | "4": { 590 | "dusk": 750, 591 | "dawn": 0 592 | }, 593 | "5": { 594 | "dusk": 1000, 595 | "dawn": 0 596 | }, 597 | "6": { 598 | "dusk": 1250, 599 | "dawn": 0 600 | }, 601 | "7": { 602 | "dusk": 1500, 603 | "dawn": 0 604 | }, 605 | "8": { 606 | "dusk": 1750, 607 | "dawn": 0 608 | }, 609 | "9": { 610 | "dusk": 2000, 611 | "dawn": 0 612 | }, 613 | "10": { 614 | "dusk": 2250, 615 | "dawn": 0 616 | }, 617 | "11": { 618 | "dusk": 2800, 619 | "dawn": 200 620 | }, 621 | "12": { 622 | "dusk": 3350, 623 | "dawn": 300 624 | }, 625 | "13": { 626 | "dusk": 3900, 627 | "dawn": 500 628 | }, 629 | "14": { 630 | "dusk": 4450, 631 | "dawn": 700 632 | }, 633 | "15": { 634 | "dusk": 5000, 635 | "dawn": 900 636 | }, 637 | "16": { 638 | "dusk": 6000, 639 | "dawn": 1100 640 | }, 641 | "17": { 642 | "dusk": 7000, 643 | "dawn": 1300 644 | }, 645 | "18": { 646 | "dusk": 8000, 647 | "dawn": 1500 648 | }, 649 | "19": { 650 | "dusk": 9000, 651 | "dawn": 1700 652 | }, 653 | "20": { 654 | "dusk": 10000, 655 | "dawn": 2000 656 | } 657 | }, 658 | "9": { 659 | "1": { 660 | "dusk": 100, 661 | "dawn": 0 662 | }, 663 | "2": { 664 | "dusk": 250, 665 | "dawn": 0 666 | }, 667 | "3": { 668 | "dusk": 500, 669 | "dawn": 0 670 | }, 671 | "4": { 672 | "dusk": 750, 673 | "dawn": 0 674 | }, 675 | "5": { 676 | "dusk": 1000, 677 | "dawn": 0 678 | }, 679 | "6": { 680 | "dusk": 1250, 681 | "dawn": 0 682 | }, 683 | "7": { 684 | "dusk": 1500, 685 | "dawn": 0 686 | }, 687 | "8": { 688 | "dusk": 1750, 689 | "dawn": 0 690 | }, 691 | "9": { 692 | "dusk": 2000, 693 | "dawn": 0 694 | }, 695 | "10": { 696 | "dusk": 2250, 697 | "dawn": 0 698 | }, 699 | "11": { 700 | "dusk": 2800, 701 | "dawn": 200 702 | }, 703 | "12": { 704 | "dusk": 3350, 705 | "dawn": 300 706 | }, 707 | "13": { 708 | "dusk": 3900, 709 | "dawn": 500 710 | }, 711 | "14": { 712 | "dusk": 4450, 713 | "dawn": 700 714 | }, 715 | "15": { 716 | "dusk": 5000, 717 | "dawn": 900 718 | }, 719 | "16": { 720 | "dusk": 6000, 721 | "dawn": 1100 722 | }, 723 | "17": { 724 | "dusk": 7000, 725 | "dawn": 1300 726 | }, 727 | "18": { 728 | "dusk": 8000, 729 | "dawn": 1500 730 | }, 731 | "19": { 732 | "dusk": 9000, 733 | "dawn": 1700 734 | }, 735 | "20": { 736 | "dusk": 10000, 737 | "dawn": 2000 738 | } 739 | }, 740 | "10": { 741 | "1": { 742 | "dusk": 100, 743 | "dawn": 0 744 | }, 745 | "2": { 746 | "dusk": 250, 747 | "dawn": 0 748 | }, 749 | "3": { 750 | "dusk": 500, 751 | "dawn": 0 752 | }, 753 | "4": { 754 | "dusk": 750, 755 | "dawn": 0 756 | }, 757 | "5": { 758 | "dusk": 1000, 759 | "dawn": 0 760 | }, 761 | "6": { 762 | "dusk": 1250, 763 | "dawn": 0 764 | }, 765 | "7": { 766 | "dusk": 1500, 767 | "dawn": 0 768 | }, 769 | "8": { 770 | "dusk": 1750, 771 | "dawn": 0 772 | }, 773 | "9": { 774 | "dusk": 2000, 775 | "dawn": 0 776 | }, 777 | "10": { 778 | "dusk": 2250, 779 | "dawn": 0 780 | }, 781 | "11": { 782 | "dusk": 2800, 783 | "dawn": 200 784 | }, 785 | "12": { 786 | "dusk": 3350, 787 | "dawn": 300 788 | }, 789 | "13": { 790 | "dusk": 3900, 791 | "dawn": 500 792 | }, 793 | "14": { 794 | "dusk": 4450, 795 | "dawn": 700 796 | }, 797 | "15": { 798 | "dusk": 5000, 799 | "dawn": 900 800 | }, 801 | "16": { 802 | "dusk": 6000, 803 | "dawn": 1100 804 | }, 805 | "17": { 806 | "dusk": 7000, 807 | "dawn": 1300 808 | }, 809 | "18": { 810 | "dusk": 8000, 811 | "dawn": 1500 812 | }, 813 | "19": { 814 | "dusk": 9000, 815 | "dawn": 1700 816 | }, 817 | "20": { 818 | "dusk": 10000, 819 | "dawn": 2000 820 | } 821 | }, 822 | "11": { 823 | "1": { 824 | "dusk": 100, 825 | "dawn": 0 826 | }, 827 | "2": { 828 | "dusk": 250, 829 | "dawn": 0 830 | }, 831 | "3": { 832 | "dusk": 500, 833 | "dawn": 0 834 | }, 835 | "4": { 836 | "dusk": 750, 837 | "dawn": 0 838 | }, 839 | "5": { 840 | "dusk": 1000, 841 | "dawn": 0 842 | }, 843 | "6": { 844 | "dusk": 1250, 845 | "dawn": 0 846 | }, 847 | "7": { 848 | "dusk": 1500, 849 | "dawn": 0 850 | }, 851 | "8": { 852 | "dusk": 1750, 853 | "dawn": 0 854 | }, 855 | "9": { 856 | "dusk": 2000, 857 | "dawn": 0 858 | }, 859 | "10": { 860 | "dusk": 2250, 861 | "dawn": 0 862 | }, 863 | "11": { 864 | "dusk": 2800, 865 | "dawn": 200 866 | }, 867 | "12": { 868 | "dusk": 3350, 869 | "dawn": 300 870 | }, 871 | "13": { 872 | "dusk": 3900, 873 | "dawn": 500 874 | }, 875 | "14": { 876 | "dusk": 4450, 877 | "dawn": 700 878 | }, 879 | "15": { 880 | "dusk": 5000, 881 | "dawn": 900 882 | }, 883 | "16": { 884 | "dusk": 6000, 885 | "dawn": 1100 886 | }, 887 | "17": { 888 | "dusk": 7000, 889 | "dawn": 1300 890 | }, 891 | "18": { 892 | "dusk": 8000, 893 | "dawn": 1500 894 | }, 895 | "19": { 896 | "dusk": 9000, 897 | "dawn": 1700 898 | }, 899 | "20": { 900 | "dusk": 10000, 901 | "dawn": 2000 902 | } 903 | }, 904 | "12": { 905 | "1": { 906 | "dusk": 100, 907 | "dawn": 0 908 | }, 909 | "2": { 910 | "dusk": 250, 911 | "dawn": 0 912 | }, 913 | "3": { 914 | "dusk": 500, 915 | "dawn": 0 916 | }, 917 | "4": { 918 | "dusk": 750, 919 | "dawn": 0 920 | }, 921 | "5": { 922 | "dusk": 1000, 923 | "dawn": 0 924 | }, 925 | "6": { 926 | "dusk": 1250, 927 | "dawn": 0 928 | }, 929 | "7": { 930 | "dusk": 1500, 931 | "dawn": 0 932 | }, 933 | "8": { 934 | "dusk": 1750, 935 | "dawn": 0 936 | }, 937 | "9": { 938 | "dusk": 2000, 939 | "dawn": 0 940 | }, 941 | "10": { 942 | "dusk": 2250, 943 | "dawn": 0 944 | }, 945 | "11": { 946 | "dusk": 2800, 947 | "dawn": 200 948 | }, 949 | "12": { 950 | "dusk": 3350, 951 | "dawn": 300 952 | }, 953 | "13": { 954 | "dusk": 3900, 955 | "dawn": 500 956 | }, 957 | "14": { 958 | "dusk": 4450, 959 | "dawn": 700 960 | }, 961 | "15": { 962 | "dusk": 5000, 963 | "dawn": 900 964 | }, 965 | "16": { 966 | "dusk": 6000, 967 | "dawn": 1100 968 | }, 969 | "17": { 970 | "dusk": 7000, 971 | "dawn": 1300 972 | }, 973 | "18": { 974 | "dusk": 8000, 975 | "dawn": 1500 976 | }, 977 | "19": { 978 | "dusk": 9000, 979 | "dawn": 1700 980 | }, 981 | "20": { 982 | "dusk": 10000, 983 | "dawn": 2000 984 | } 985 | }, 986 | "13": { 987 | "1": { 988 | "dusk": 100, 989 | "dawn": 0 990 | }, 991 | "2": { 992 | "dusk": 250, 993 | "dawn": 0 994 | }, 995 | "3": { 996 | "dusk": 500, 997 | "dawn": 0 998 | }, 999 | "4": { 1000 | "dusk": 750, 1001 | "dawn": 0 1002 | }, 1003 | "5": { 1004 | "dusk": 1000, 1005 | "dawn": 0 1006 | }, 1007 | "6": { 1008 | "dusk": 1250, 1009 | "dawn": 0 1010 | }, 1011 | "7": { 1012 | "dusk": 1500, 1013 | "dawn": 0 1014 | }, 1015 | "8": { 1016 | "dusk": 1750, 1017 | "dawn": 0 1018 | }, 1019 | "9": { 1020 | "dusk": 2000, 1021 | "dawn": 0 1022 | }, 1023 | "10": { 1024 | "dusk": 2250, 1025 | "dawn": 0 1026 | }, 1027 | "11": { 1028 | "dusk": 2800, 1029 | "dawn": 200 1030 | }, 1031 | "12": { 1032 | "dusk": 3350, 1033 | "dawn": 300 1034 | }, 1035 | "13": { 1036 | "dusk": 3900, 1037 | "dawn": 500 1038 | }, 1039 | "14": { 1040 | "dusk": 4450, 1041 | "dawn": 700 1042 | }, 1043 | "15": { 1044 | "dusk": 5000, 1045 | "dawn": 900 1046 | }, 1047 | "16": { 1048 | "dusk": 6000, 1049 | "dawn": 1100 1050 | }, 1051 | "17": { 1052 | "dusk": 7000, 1053 | "dawn": 1300 1054 | }, 1055 | "18": { 1056 | "dusk": 8000, 1057 | "dawn": 1500 1058 | }, 1059 | "19": { 1060 | "dusk": 9000, 1061 | "dawn": 1700 1062 | }, 1063 | "20": { 1064 | "dusk": 10000, 1065 | "dawn": 2000 1066 | } 1067 | }, 1068 | "14": { 1069 | "1": { 1070 | "dusk": 100, 1071 | "dawn": 0 1072 | }, 1073 | "2": { 1074 | "dusk": 250, 1075 | "dawn": 0 1076 | }, 1077 | "3": { 1078 | "dusk": 500, 1079 | "dawn": 0 1080 | }, 1081 | "4": { 1082 | "dusk": 750, 1083 | "dawn": 0 1084 | }, 1085 | "5": { 1086 | "dusk": 1000, 1087 | "dawn": 0 1088 | }, 1089 | "6": { 1090 | "dusk": 1250, 1091 | "dawn": 0 1092 | }, 1093 | "7": { 1094 | "dusk": 1500, 1095 | "dawn": 0 1096 | }, 1097 | "8": { 1098 | "dusk": 1750, 1099 | "dawn": 0 1100 | }, 1101 | "9": { 1102 | "dusk": 2000, 1103 | "dawn": 0 1104 | }, 1105 | "10": { 1106 | "dusk": 2250, 1107 | "dawn": 0 1108 | }, 1109 | "11": { 1110 | "dusk": 2800, 1111 | "dawn": 200 1112 | }, 1113 | "12": { 1114 | "dusk": 3350, 1115 | "dawn": 300 1116 | }, 1117 | "13": { 1118 | "dusk": 3900, 1119 | "dawn": 500 1120 | }, 1121 | "14": { 1122 | "dusk": 4450, 1123 | "dawn": 700 1124 | }, 1125 | "15": { 1126 | "dusk": 5000, 1127 | "dawn": 900 1128 | }, 1129 | "16": { 1130 | "dusk": 6000, 1131 | "dawn": 1100 1132 | }, 1133 | "17": { 1134 | "dusk": 7000, 1135 | "dawn": 1300 1136 | }, 1137 | "18": { 1138 | "dusk": 8000, 1139 | "dawn": 1500 1140 | }, 1141 | "19": { 1142 | "dusk": 9000, 1143 | "dawn": 1700 1144 | }, 1145 | "20": { 1146 | "dusk": 10000, 1147 | "dawn": 2000 1148 | } 1149 | }, 1150 | "15": { 1151 | "1": { 1152 | "dusk": 100, 1153 | "dawn": 0 1154 | }, 1155 | "2": { 1156 | "dusk": 250, 1157 | "dawn": 0 1158 | }, 1159 | "3": { 1160 | "dusk": 500, 1161 | "dawn": 0 1162 | }, 1163 | "4": { 1164 | "dusk": 750, 1165 | "dawn": 0 1166 | }, 1167 | "5": { 1168 | "dusk": 1000, 1169 | "dawn": 0 1170 | }, 1171 | "6": { 1172 | "dusk": 1250, 1173 | "dawn": 0 1174 | }, 1175 | "7": { 1176 | "dusk": 1500, 1177 | "dawn": 0 1178 | }, 1179 | "8": { 1180 | "dusk": 1750, 1181 | "dawn": 0 1182 | }, 1183 | "9": { 1184 | "dusk": 2000, 1185 | "dawn": 0 1186 | }, 1187 | "10": { 1188 | "dusk": 2250, 1189 | "dawn": 0 1190 | }, 1191 | "11": { 1192 | "dusk": 2800, 1193 | "dawn": 200 1194 | }, 1195 | "12": { 1196 | "dusk": 3350, 1197 | "dawn": 300 1198 | }, 1199 | "13": { 1200 | "dusk": 3900, 1201 | "dawn": 500 1202 | }, 1203 | "14": { 1204 | "dusk": 4450, 1205 | "dawn": 700 1206 | }, 1207 | "15": { 1208 | "dusk": 5000, 1209 | "dawn": 900 1210 | }, 1211 | "16": { 1212 | "dusk": 6000, 1213 | "dawn": 1100 1214 | }, 1215 | "17": { 1216 | "dusk": 7000, 1217 | "dawn": 1300 1218 | }, 1219 | "18": { 1220 | "dusk": 8000, 1221 | "dawn": 1500 1222 | }, 1223 | "19": { 1224 | "dusk": 9000, 1225 | "dawn": 1700 1226 | }, 1227 | "20": { 1228 | "dusk": 10000, 1229 | "dawn": 2000 1230 | } 1231 | }, 1232 | "16": { 1233 | "1": { 1234 | "dusk": 100, 1235 | "dawn": 0 1236 | }, 1237 | "2": { 1238 | "dusk": 250, 1239 | "dawn": 0 1240 | }, 1241 | "3": { 1242 | "dusk": 500, 1243 | "dawn": 0 1244 | }, 1245 | "4": { 1246 | "dusk": 750, 1247 | "dawn": 0 1248 | }, 1249 | "5": { 1250 | "dusk": 1000, 1251 | "dawn": 0 1252 | }, 1253 | "6": { 1254 | "dusk": 1250, 1255 | "dawn": 0 1256 | }, 1257 | "7": { 1258 | "dusk": 1500, 1259 | "dawn": 0 1260 | }, 1261 | "8": { 1262 | "dusk": 1750, 1263 | "dawn": 0 1264 | }, 1265 | "9": { 1266 | "dusk": 2000, 1267 | "dawn": 0 1268 | }, 1269 | "10": { 1270 | "dusk": 2250, 1271 | "dawn": 0 1272 | }, 1273 | "11": { 1274 | "dusk": 2800, 1275 | "dawn": 200 1276 | }, 1277 | "12": { 1278 | "dusk": 3350, 1279 | "dawn": 300 1280 | }, 1281 | "13": { 1282 | "dusk": 3900, 1283 | "dawn": 500 1284 | }, 1285 | "14": { 1286 | "dusk": 4450, 1287 | "dawn": 700 1288 | }, 1289 | "15": { 1290 | "dusk": 5000, 1291 | "dawn": 900 1292 | }, 1293 | "16": { 1294 | "dusk": 6000, 1295 | "dawn": 1100 1296 | }, 1297 | "17": { 1298 | "dusk": 7000, 1299 | "dawn": 1300 1300 | }, 1301 | "18": { 1302 | "dusk": 8000, 1303 | "dawn": 1500 1304 | }, 1305 | "19": { 1306 | "dusk": 9000, 1307 | "dawn": 1700 1308 | }, 1309 | "20": { 1310 | "dusk": 10000, 1311 | "dawn": 2000 1312 | } 1313 | }, 1314 | "17": { 1315 | "1": { 1316 | "dusk": 100, 1317 | "dawn": 0 1318 | }, 1319 | "2": { 1320 | "dusk": 250, 1321 | "dawn": 0 1322 | }, 1323 | "3": { 1324 | "dusk": 500, 1325 | "dawn": 0 1326 | }, 1327 | "4": { 1328 | "dusk": 750, 1329 | "dawn": 0 1330 | }, 1331 | "5": { 1332 | "dusk": 1000, 1333 | "dawn": 0 1334 | }, 1335 | "6": { 1336 | "dusk": 1250, 1337 | "dawn": 0 1338 | }, 1339 | "7": { 1340 | "dusk": 1500, 1341 | "dawn": 0 1342 | }, 1343 | "8": { 1344 | "dusk": 1750, 1345 | "dawn": 0 1346 | }, 1347 | "9": { 1348 | "dusk": 2000, 1349 | "dawn": 0 1350 | }, 1351 | "10": { 1352 | "dusk": 2250, 1353 | "dawn": 0 1354 | }, 1355 | "11": { 1356 | "dusk": 2800, 1357 | "dawn": 200 1358 | }, 1359 | "12": { 1360 | "dusk": 3350, 1361 | "dawn": 300 1362 | }, 1363 | "13": { 1364 | "dusk": 3900, 1365 | "dawn": 500 1366 | }, 1367 | "14": { 1368 | "dusk": 4450, 1369 | "dawn": 700 1370 | }, 1371 | "15": { 1372 | "dusk": 5000, 1373 | "dawn": 900 1374 | }, 1375 | "16": { 1376 | "dusk": 6000, 1377 | "dawn": 1100 1378 | }, 1379 | "17": { 1380 | "dusk": 7000, 1381 | "dawn": 1300 1382 | }, 1383 | "18": { 1384 | "dusk": 8000, 1385 | "dawn": 1500 1386 | }, 1387 | "19": { 1388 | "dusk": 9000, 1389 | "dawn": 1700 1390 | }, 1391 | "20": { 1392 | "dusk": 10000, 1393 | "dawn": 2000 1394 | } 1395 | } 1396 | } --------------------------------------------------------------------------------