From e5ffc4d52d06bb9c7cec582864af3c5e119d1733 Mon Sep 17 00:00:00 2001 From: Houmgaor Date: Mon, 23 Feb 2026 18:24:54 +0100 Subject: [PATCH] refactor(channelserver): move paper data tables out of handler function The handleMsgMhfGetPaperData function was 565 lines, but most of it was inline data table literals. Extract tower config (case 5) and tower scaling (case 6) slices into package-level vars in handlers_data_paper_tables.go, reducing the handler to 73 lines while co-locating all paper data tables in one file. --- server/channelserver/handlers_data_paper.go | 499 +---------------- .../handlers_data_paper_tables.go | 502 ++++++++++++++++++ 2 files changed, 504 insertions(+), 497 deletions(-) diff --git a/server/channelserver/handlers_data_paper.go b/server/channelserver/handlers_data_paper.go index 0a1a8c55e..88c43cdf4 100644 --- a/server/channelserver/handlers_data_paper.go +++ b/server/channelserver/handlers_data_paper.go @@ -1,7 +1,6 @@ package channelserver import ( - "erupe-ce/common/mhfmon" "time" "erupe-ce/common/byteframe" @@ -67,503 +66,9 @@ func handleMsgMhfGetPaperData(s *Session, p mhfpacket.MHFPacket) { []PaperMissionData{}, } case 5: - paperData = []PaperData{ - // getTowerQuestTowerLevel - {1001, 1, 0, 0, 0, 0, 0}, - {1001, 2, 0, 0, 0, 0, 0}, - // iniTQT - {1003, 1, 100, 100, 200, 100, 0}, - {1003, 2, 150, 100, 240, 100, 0}, - {1004, 10, 9999, 40, 0, 0, 0}, - {1005, 10, 500, 0, 0, 0, 0}, - // getPaperDataSetFromProp - {1007, 1, 0, 0, 0, 0, 0}, - {1008, 200, 400, 3000, 400, 3000, 0}, - // getPaperDataSetParam1 / Dure Goal - {1010, 1, 4000, 0, 0, 0, 0}, - {1010, 2, 4000, 0, 0, 0, 0}, - // update_disp_flag / getPaperDataSetParam1 - {1011, 1, 6000, 15000, 20000, 25000, 30000}, - {1011, 2, 6000, 15000, 20000, 25000, 30000}, - {1012, 1, 8000, 17500, 22500, 27500, 31000}, - {1012, 2, 8000, 17500, 22500, 27500, 31000}, - // setServerZako - {1015, 1, 16, 16, 16, 0, 0}, - {1015, 2, 16, 16, 16, 0, 0}, - // createTowerFloorRandomNumberArray - {1101, 1, 2016, 500, 0, 0, 0}, - {1101, 2, 2016, 500, 0, 0, 0}, - // HRP/SRP/GRP/GSRP/TRP reward - {1103, 1, 0, 0, 3000, 0, 3000}, - {1103, 2, 0, 0, 3000, 0, 3000}, - // getTowerNextVenomLevel - {1104, 1, 10, 9999, 40, 0, 0}, - {1104, 2, 10, 9999, 40, 0, 0}, - {1105, 1, 10, 500, 0, 0, 0}, - {1105, 2, 10, 500, 0, 0, 0}, - // setServerBoss - {2001, 1, mhfmon.Gravios, 58, 0, 6, 700}, - {2001, 1, mhfmon.Gypceros, 58, 0, 3, 200}, - {2001, 1, mhfmon.Basarios, 58, 0, 7, 250}, - {2001, 1, mhfmon.Velocidrome, 58, 0, 1, 100}, - {2001, 1, mhfmon.Rajang, 58, 0, 8, 1000}, - {2001, 1, mhfmon.ShogunCeanataur, 58, 0, 9, 500}, - {2001, 1, mhfmon.Bulldrome, 58, 0, 2, 150}, - {2001, 1, mhfmon.Hypnocatrice, 58, 0, 4, 200}, - {2001, 1, mhfmon.Lavasioth, 58, 0, 5, 500}, - {2001, 1, mhfmon.Tigrex, 58, 0, 10, 800}, - {2001, 1, mhfmon.Espinas, 58, 0, 11, 900}, - {2001, 1, mhfmon.Pariapuria, 58, 0, 12, 600}, - {2001, 2, mhfmon.Gravios, 60, 0, 6, 700}, - {2001, 2, mhfmon.Gypceros, 60, 0, 3, 200}, - {2001, 2, mhfmon.Basarios, 60, 0, 7, 350}, - {2001, 2, mhfmon.Velocidrome, 60, 0, 1, 100}, - {2001, 2, mhfmon.PurpleGypceros, 60, 0, 13, 200}, - {2001, 2, mhfmon.YianGaruga, 60, 0, 15, 600}, - {2001, 2, mhfmon.Rajang, 60, 0, 8, 1000}, - {2001, 2, mhfmon.ShogunCeanataur, 60, 0, 2, 500}, - {2001, 2, mhfmon.Bulldrome, 60, 0, 9, 150}, - {2001, 2, mhfmon.Hypnocatrice, 60, 0, 4, 200}, - {2001, 2, mhfmon.Lavasioth, 60, 0, 5, 500}, - {2001, 2, mhfmon.Tigrex, 60, 0, 10, 800}, - {2001, 2, mhfmon.Espinas, 60, 0, 11, 900}, - {2001, 2, mhfmon.BurningEspinas, 60, 0, 14, 900}, - {2001, 2, mhfmon.Pariapuria, 60, 0, 12, 600}, - {2001, 2, mhfmon.Dyuragaua, 60, 0, 16, 1000}, - } + paperData = paperDataTower case 6: - paperData = []PaperData{ - // updateClearTowerFloor - {1002, 100, 0, 0, 0, 0, 0}, - // give_gem_func - {1006, 1, 10000, 10000, 0, 0, 0}, - {1006, 2, 10000, 20000, 0, 0, 0}, - {1009, 20, 0, 0, 0, 0, 0}, - // ttcStageInitDRP - {1013, 1, 1, 1, 100, 200, 300}, - {1013, 1, 1, 2, 100, 200, 300}, - {1013, 1, 2, 1, 300, 100, 200}, - {1013, 1, 2, 2, 300, 100, 200}, - {1013, 1, 3, 1, 200, 300, 100}, - {1013, 1, 3, 2, 200, 300, 100}, - {1013, 2, 1, 1, 300, 100, 200}, - {1013, 2, 1, 2, 300, 100, 200}, - {1013, 2, 2, 1, 200, 300, 100}, - {1013, 2, 2, 2, 200, 300, 100}, - {1013, 2, 3, 1, 100, 200, 300}, - {1013, 2, 3, 2, 100, 200, 300}, - {1013, 3, 1, 1, 200, 300, 100}, - {1013, 3, 1, 2, 200, 300, 100}, - {1013, 3, 2, 1, 100, 200, 300}, - {1013, 3, 2, 2, 100, 200, 300}, - {1013, 3, 3, 1, 300, 100, 200}, - {1013, 3, 3, 2, 300, 100, 200}, - {1016, 1, 1, 80, 0, 0, 0}, - {1016, 1, 2, 80, 0, 0, 0}, - {1016, 1, 3, 80, 0, 0, 0}, - {1016, 2, 1, 80, 0, 0, 0}, - {1016, 2, 2, 80, 0, 0, 0}, - {1016, 2, 3, 80, 0, 0, 0}, - {1201, 1, 60, 50, 0, 0, 0}, - {1201, 2, 60, 50, 0, 0, 0}, - // Gimmick Damage {ID, Block, StartFloor, EndFloor, Multiplier*100, Unk, Unk} - {1202, 1, 0, 5, 50, 0, 0}, - {1202, 1, 6, 20, 60, 0, 0}, - {1202, 1, 21, 40, 70, 0, 0}, - {1202, 1, 41, 120, 80, 0, 0}, - {1202, 1, 121, 160, 90, 0, 0}, - {1202, 1, 161, 250, 100, 0, 0}, - {1202, 1, 251, 500, 100, 0, 0}, - {1202, 1, 501, 9999, 100, 0, 0}, - {1202, 2, 0, 100, 100, 0, 0}, - {1202, 2, 101, 200, 100, 0, 0}, - {1202, 2, 201, 500, 150, 0, 0}, - {1202, 2, 501, 9999, 150, 0, 0}, - // Mon Damage {ID, Block, StartFloor, EndFloor, Multiplier*100, Unk, Unk} - {1203, 1, 0, 5, 10, 0, 0}, - {1203, 1, 6, 10, 20, 0, 0}, - {1203, 1, 11, 30, 30, 0, 0}, - {1203, 1, 31, 60, 40, 0, 0}, - {1203, 1, 61, 120, 50, 0, 0}, - {1203, 1, 121, 130, 60, 0, 0}, - {1203, 1, 131, 140, 70, 0, 0}, - {1203, 1, 141, 150, 80, 0, 0}, - {1203, 1, 151, 160, 85, 0, 0}, - {1203, 1, 161, 200, 100, 0, 0}, - {1203, 1, 201, 500, 100, 0, 0}, - {1203, 1, 501, 9999, 100, 0, 0}, - {1203, 2, 0, 120, 70, 0, 0}, - {1203, 2, 121, 500, 120, 0, 0}, - {1203, 2, 501, 9999, 120, 0, 0}, - // Mon HP {ID, Block, StartFloor, EndFloor, Multiplier*100, Unk, Unk} - {1204, 1, 0, 5, 15, 0, 0}, - {1204, 1, 6, 10, 20, 0, 0}, - {1204, 1, 11, 15, 25, 0, 0}, - {1204, 1, 16, 20, 27, 0, 0}, - {1204, 1, 21, 25, 30, 0, 0}, - {1204, 1, 26, 30, 32, 0, 0}, - {1204, 1, 31, 40, 35, 0, 0}, - {1204, 1, 41, 50, 37, 0, 0}, - {1204, 1, 51, 60, 40, 0, 0}, - {1204, 1, 61, 70, 43, 0, 0}, - {1204, 1, 71, 80, 45, 0, 0}, - {1204, 1, 81, 90, 47, 0, 0}, - {1204, 1, 91, 100, 50, 0, 0}, - {1204, 1, 101, 110, 60, 0, 0}, - {1204, 1, 111, 120, 70, 0, 0}, - {1204, 1, 121, 130, 75, 0, 0}, - {1204, 1, 131, 140, 82, 0, 0}, - {1204, 1, 141, 160, 85, 0, 0}, - {1204, 1, 161, 200, 100, 0, 0}, - {1204, 1, 201, 500, 100, 0, 0}, - {1204, 1, 501, 9999, 100, 0, 0}, - {1204, 2, 0, 120, 70, 0, 0}, - {1204, 2, 121, 500, 120, 0, 0}, - {1204, 2, 501, 9999, 120, 0, 0}, - // Supply Items {ID, Block, Unk, ItemID, Quantity, Unk, Unk} - {4001, 1, 0, 0, 0, 0, 0}, - {4001, 2, 0, 10667, 5, 0, 1}, - {4001, 2, 0, 10667, 5, 0, 1}, - {4001, 2, 0, 10667, 5, 0, 1}, - {4001, 2, 0, 10667, 5, 0, 1}, - {4001, 2, 0, 10668, 2, 0, 1}, - {4001, 2, 0, 10668, 2, 0, 1}, - {4001, 2, 0, 10668, 2, 0, 1}, - {4001, 2, 0, 10668, 2, 0, 1}, - {4001, 2, 0, 10669, 1, 0, 1}, - {4001, 2, 0, 10669, 1, 0, 1}, - {4001, 2, 0, 10669, 1, 0, 1}, - {4001, 2, 0, 10669, 1, 0, 1}, - {4001, 2, 0, 10671, 3, 0, 1}, - {4001, 2, 0, 10671, 3, 0, 1}, - {4001, 2, 0, 10671, 3, 0, 1}, - {4001, 2, 0, 10671, 3, 0, 1}, - {4001, 2, 0, 10384, 1, 0, 1}, - {4001, 2, 0, 10384, 1, 0, 1}, - {4001, 2, 0, 10670, 2, 0, 1}, - {4001, 2, 0, 10670, 2, 0, 1}, - {4001, 2, 0, 10682, 2, 0, 1}, - {4001, 2, 0, 10683, 2, 0, 1}, - {4001, 2, 0, 10678, 1, 0, 1}, - {4001, 2, 0, 10678, 1, 0, 1}, - // Item Rewards {ID, Block, Unk, ItemID, Quantity?, Chance*100, Unk} - {4005, 1, 0, 11159, 1, 5000, 1}, - {4005, 1, 0, 11160, 1, 3350, 1}, - {4005, 1, 0, 11161, 1, 1500, 1}, - {4005, 1, 0, 11162, 1, 100, 1}, - {4005, 1, 0, 11163, 1, 50, 1}, - {4005, 2, 0, 11159, 2, 1800, 1}, - {4005, 2, 0, 11160, 2, 1200, 1}, - {4005, 2, 0, 11161, 2, 500, 1}, - {4005, 2, 0, 11162, 1, 50, 1}, - {4005, 2, 0, 11037, 1, 150, 1}, - {4005, 2, 0, 11038, 1, 150, 1}, - {4005, 2, 0, 11044, 1, 150, 1}, - {4005, 2, 0, 11057, 1, 150, 1}, - {4005, 2, 0, 11059, 1, 150, 1}, - {4005, 2, 0, 11079, 1, 150, 1}, - {4005, 2, 0, 11098, 1, 150, 1}, - {4005, 2, 0, 11104, 1, 150, 1}, - {4005, 2, 0, 11117, 1, 150, 1}, - {4005, 2, 0, 11128, 1, 150, 1}, - {4005, 2, 0, 11133, 1, 150, 1}, - {4005, 2, 0, 11137, 1, 150, 1}, - {4005, 2, 0, 11143, 1, 150, 1}, - {4005, 2, 0, 11132, 1, 150, 1}, - {4005, 2, 0, 11039, 1, 150, 1}, - {4005, 2, 0, 11040, 1, 150, 1}, - {4005, 2, 0, 11049, 1, 150, 1}, - {4005, 2, 0, 11061, 1, 150, 1}, - {4005, 2, 0, 11063, 1, 150, 1}, - {4005, 2, 0, 11077, 1, 150, 1}, - {4005, 2, 0, 11099, 1, 150, 1}, - {4005, 2, 0, 11105, 1, 150, 1}, - {4005, 2, 0, 11129, 1, 150, 1}, - {4005, 2, 0, 11130, 1, 150, 1}, - {4005, 2, 0, 11131, 1, 150, 1}, - {4005, 2, 0, 11139, 1, 150, 1}, - {4005, 2, 0, 11145, 1, 150, 1}, - {4005, 2, 0, 11096, 1, 150, 1}, - {4005, 2, 0, 11041, 1, 150, 1}, - {4005, 2, 0, 11047, 1, 150, 1}, - {4005, 2, 0, 11054, 1, 150, 1}, - {4005, 2, 0, 11065, 1, 150, 1}, - {4005, 2, 0, 11068, 1, 150, 1}, - {4005, 2, 0, 11075, 1, 150, 1}, - {4005, 2, 0, 11100, 1, 150, 1}, - {4005, 2, 0, 11106, 1, 150, 1}, - {4005, 2, 0, 11119, 1, 150, 1}, - {4005, 2, 0, 11135, 1, 150, 1}, - {4005, 2, 0, 11136, 1, 150, 1}, - {4005, 2, 0, 11138, 1, 150, 1}, - {4005, 2, 0, 11088, 1, 150, 1}, - {4005, 2, 0, 10370, 1, 150, 1}, - {4005, 2, 0, 10368, 1, 150, 1}, - {4006, 1, 0, 11159, 1, 5000, 1}, - {4006, 1, 0, 11160, 1, 3350, 1}, - {4006, 1, 0, 11161, 1, 1500, 1}, - {4006, 1, 0, 11162, 1, 100, 1}, - {4006, 1, 0, 11163, 1, 50, 1}, - {4006, 2, 0, 11159, 2, 1800, 1}, - {4006, 2, 0, 11160, 2, 1200, 1}, - {4006, 2, 0, 11161, 2, 500, 1}, - {4006, 2, 0, 11162, 1, 50, 1}, - {4006, 2, 0, 11037, 1, 150, 1}, - {4006, 2, 0, 11038, 1, 150, 1}, - {4006, 2, 0, 11044, 1, 150, 1}, - {4006, 2, 0, 11057, 1, 150, 1}, - {4006, 2, 0, 11059, 1, 150, 1}, - {4006, 2, 0, 11079, 1, 150, 1}, - {4006, 2, 0, 11098, 1, 150, 1}, - {4006, 2, 0, 11104, 1, 150, 1}, - {4006, 2, 0, 11117, 1, 150, 1}, - {4006, 2, 0, 11128, 1, 150, 1}, - {4006, 2, 0, 11133, 1, 150, 1}, - {4006, 2, 0, 11137, 1, 150, 1}, - {4006, 2, 0, 11143, 1, 150, 1}, - {4006, 2, 0, 11132, 1, 150, 1}, - {4006, 2, 0, 11039, 1, 150, 1}, - {4006, 2, 0, 11040, 1, 150, 1}, - {4006, 2, 0, 11049, 1, 150, 1}, - {4006, 2, 0, 11061, 1, 150, 1}, - {4006, 2, 0, 11063, 1, 150, 1}, - {4006, 2, 0, 11077, 1, 150, 1}, - {4006, 2, 0, 11099, 1, 150, 1}, - {4006, 2, 0, 11105, 1, 150, 1}, - {4006, 2, 0, 11129, 1, 150, 1}, - {4006, 2, 0, 11130, 1, 150, 1}, - {4006, 2, 0, 11131, 1, 150, 1}, - {4006, 2, 0, 11139, 1, 150, 1}, - {4006, 2, 0, 11145, 1, 150, 1}, - {4006, 2, 0, 11096, 1, 150, 1}, - {4006, 2, 0, 11041, 1, 150, 1}, - {4006, 2, 0, 11047, 1, 150, 1}, - {4006, 2, 0, 11054, 1, 150, 1}, - {4006, 2, 0, 11065, 1, 150, 1}, - {4006, 2, 0, 11068, 1, 150, 1}, - {4006, 2, 0, 11075, 1, 150, 1}, - {4006, 2, 0, 11100, 1, 150, 1}, - {4006, 2, 0, 11106, 1, 150, 1}, - {4006, 2, 0, 11119, 1, 150, 1}, - {4006, 2, 0, 11135, 1, 150, 1}, - {4006, 2, 0, 11136, 1, 150, 1}, - {4006, 2, 0, 11138, 1, 150, 1}, - {4006, 2, 0, 11088, 1, 150, 1}, - {4006, 2, 0, 10370, 1, 150, 1}, - {4006, 2, 0, 10368, 1, 150, 1}, - {4007, 1, 0, 11058, 1, 70, 1}, - {4007, 1, 0, 11060, 1, 70, 1}, - {4007, 1, 0, 11062, 1, 70, 1}, - {4007, 1, 0, 11064, 1, 70, 1}, - {4007, 1, 0, 11066, 1, 70, 1}, - {4007, 1, 0, 11118, 1, 70, 1}, - {4007, 1, 0, 11120, 1, 70, 1}, - {4007, 1, 0, 11110, 1, 70, 1}, - {4007, 1, 0, 11112, 1, 70, 1}, - {4007, 1, 0, 11114, 1, 70, 1}, - {4007, 1, 0, 11042, 1, 70, 1}, - {4007, 1, 0, 11043, 1, 70, 1}, - {4007, 1, 0, 11074, 1, 70, 1}, - {4007, 1, 0, 11140, 1, 70, 1}, - {4007, 1, 0, 11067, 1, 70, 1}, - {4007, 1, 0, 11048, 1, 70, 1}, - {4007, 1, 0, 11046, 1, 70, 1}, - {4007, 1, 0, 11103, 1, 70, 1}, - {4007, 1, 0, 11107, 1, 70, 1}, - {4007, 1, 0, 11108, 1, 70, 1}, - {4007, 1, 0, 11121, 1, 70, 1}, - {4007, 1, 0, 11134, 1, 70, 1}, - {4007, 1, 0, 11084, 1, 70, 1}, - {4007, 1, 0, 11085, 1, 70, 1}, - {4007, 1, 0, 11086, 1, 70, 1}, - {4007, 1, 0, 11087, 1, 70, 1}, - {4007, 1, 0, 11094, 1, 70, 1}, - {4007, 1, 0, 11095, 1, 70, 1}, - {4007, 1, 0, 10374, 1, 70, 1}, - {4007, 1, 0, 10375, 1, 70, 1}, - {4007, 1, 0, 10376, 1, 70, 1}, - {4007, 1, 0, 10377, 1, 70, 1}, - {4007, 1, 0, 10378, 1, 70, 1}, - {4007, 1, 0, 11069, 1, 45, 1}, - {4007, 1, 0, 11071, 1, 45, 1}, - {4007, 1, 0, 11073, 1, 45, 1}, - {4007, 1, 0, 11076, 1, 45, 1}, - {4007, 1, 0, 11078, 1, 45, 1}, - {4007, 1, 0, 11116, 1, 45, 1}, - {4007, 1, 0, 11123, 1, 45, 1}, - {4007, 1, 0, 11127, 1, 45, 1}, - {4007, 1, 0, 11142, 1, 45, 1}, - {4007, 1, 0, 11056, 1, 45, 1}, - {4007, 1, 0, 11090, 1, 45, 1}, - {4007, 1, 0, 11097, 1, 45, 1}, - {4007, 1, 0, 10367, 1, 45, 1}, - {4007, 1, 0, 10371, 1, 45, 1}, - {4007, 1, 0, 10373, 1, 45, 1}, - {4007, 1, 0, 11080, 1, 15, 1}, - {4007, 1, 0, 11081, 1, 15, 1}, - {4007, 1, 0, 11083, 1, 15, 1}, - {4007, 1, 0, 11125, 1, 15, 1}, - {4007, 1, 0, 11093, 1, 14, 1}, - {4007, 1, 0, 11053, 1, 10, 1}, - {4007, 1, 0, 11147, 1, 10, 1}, - {4007, 1, 0, 10372, 1, 5, 1}, - {4007, 1, 0, 10369, 1, 1, 1}, - {4007, 1, 0, 11163, 1, 150, 1}, - {4007, 1, 0, 11465, 1, 50, 1}, - {4007, 1, 0, 11466, 1, 25, 1}, - {4007, 1, 0, 11467, 1, 200, 1}, - {4007, 1, 0, 11468, 1, 400, 1}, - {4007, 1, 0, 11469, 1, 150, 1}, - {4007, 1, 0, 11037, 1, 92, 1}, - {4007, 1, 0, 11038, 1, 92, 1}, - {4007, 1, 0, 11044, 1, 92, 1}, - {4007, 1, 0, 11057, 1, 92, 1}, - {4007, 1, 0, 11059, 1, 92, 1}, - {4007, 1, 0, 11079, 1, 92, 1}, - {4007, 1, 0, 11098, 1, 92, 1}, - {4007, 1, 0, 11104, 1, 92, 1}, - {4007, 1, 0, 11117, 1, 92, 1}, - {4007, 1, 0, 11133, 1, 92, 1}, - {4007, 1, 0, 11137, 1, 92, 1}, - {4007, 1, 0, 11143, 1, 92, 1}, - {4007, 1, 0, 11132, 1, 92, 1}, - {4007, 1, 0, 11039, 1, 92, 1}, - {4007, 1, 0, 11040, 1, 92, 1}, - {4007, 1, 0, 11049, 1, 92, 1}, - {4007, 1, 0, 11061, 1, 92, 1}, - {4007, 1, 0, 11063, 1, 92, 1}, - {4007, 1, 0, 11077, 1, 92, 1}, - {4007, 1, 0, 11099, 1, 92, 1}, - {4007, 1, 0, 11105, 1, 92, 1}, - {4007, 1, 0, 11129, 1, 92, 1}, - {4007, 1, 0, 11130, 1, 92, 1}, - {4007, 1, 0, 11131, 1, 92, 1}, - {4007, 1, 0, 11139, 1, 92, 1}, - {4007, 1, 0, 11145, 1, 91, 1}, - {4007, 1, 0, 11096, 1, 91, 1}, - {4007, 1, 0, 11041, 1, 91, 1}, - {4007, 1, 0, 11047, 1, 91, 1}, - {4007, 1, 0, 11054, 1, 91, 1}, - {4007, 1, 0, 11065, 1, 91, 1}, - {4007, 1, 0, 11068, 1, 91, 1}, - {4007, 1, 0, 11075, 1, 91, 1}, - {4007, 1, 0, 11100, 1, 91, 1}, - {4007, 1, 0, 11106, 1, 91, 1}, - {4007, 1, 0, 11119, 1, 91, 1}, - {4007, 1, 0, 11135, 1, 91, 1}, - {4007, 1, 0, 11136, 1, 91, 1}, - {4007, 1, 0, 11138, 1, 91, 1}, - {4007, 1, 0, 11088, 1, 91, 1}, - {4007, 1, 0, 10370, 1, 91, 1}, - {4007, 1, 0, 10368, 1, 91, 1}, - {4007, 1, 0, 11045, 1, 91, 1}, - {4007, 1, 0, 11070, 1, 91, 1}, - {4007, 1, 0, 11101, 1, 91, 1}, - {4007, 1, 0, 11109, 1, 91, 1}, - {4007, 1, 0, 11122, 1, 91, 1}, - {4007, 1, 0, 11141, 1, 91, 1}, - {4007, 1, 0, 11051, 1, 91, 1}, - {4007, 1, 0, 11102, 1, 91, 1}, - {4007, 1, 0, 11124, 1, 91, 1}, - {4007, 1, 0, 11072, 1, 91, 1}, - {4007, 1, 0, 11082, 1, 91, 1}, - {4007, 1, 0, 11115, 1, 91, 1}, - {4007, 1, 0, 11144, 1, 91, 1}, - {4007, 1, 0, 11089, 1, 91, 1}, - {4007, 1, 0, 11091, 1, 91, 1}, - {4007, 1, 0, 11092, 1, 91, 1}, - {4007, 1, 0, 11050, 1, 91, 1}, - {4007, 1, 0, 11111, 1, 91, 1}, - {4007, 1, 0, 11113, 1, 91, 1}, - {4007, 1, 0, 11126, 1, 91, 1}, - {4007, 1, 0, 11055, 1, 91, 1}, - {4007, 1, 0, 11052, 1, 91, 1}, - {4007, 1, 0, 11146, 1, 91, 1}, - {4007, 2, 0, 11058, 1, 90, 1}, - {4007, 2, 0, 11060, 1, 90, 1}, - {4007, 2, 0, 11062, 1, 90, 1}, - {4007, 2, 0, 11064, 1, 90, 1}, - {4007, 2, 0, 11066, 1, 90, 1}, - {4007, 2, 0, 11118, 1, 90, 1}, - {4007, 2, 0, 11120, 1, 90, 1}, - {4007, 2, 0, 11110, 1, 90, 1}, - {4007, 2, 0, 11112, 1, 90, 1}, - {4007, 2, 0, 11114, 1, 90, 1}, - {4007, 2, 0, 11042, 1, 90, 1}, - {4007, 2, 0, 11043, 1, 90, 1}, - {4007, 2, 0, 11074, 1, 90, 1}, - {4007, 2, 0, 11140, 1, 90, 1}, - {4007, 2, 0, 11067, 1, 90, 1}, - {4007, 2, 0, 11048, 1, 90, 1}, - {4007, 2, 0, 11046, 1, 90, 1}, - {4007, 2, 0, 11103, 1, 90, 1}, - {4007, 2, 0, 11107, 1, 90, 1}, - {4007, 2, 0, 11108, 1, 90, 1}, - {4007, 2, 0, 11121, 1, 90, 1}, - {4007, 2, 0, 11134, 1, 90, 1}, - {4007, 2, 0, 11084, 1, 90, 1}, - {4007, 2, 0, 11085, 1, 90, 1}, - {4007, 2, 0, 11086, 1, 90, 1}, - {4007, 2, 0, 11087, 1, 90, 1}, - {4007, 2, 0, 11094, 1, 90, 1}, - {4007, 2, 0, 11095, 1, 90, 1}, - {4007, 2, 0, 10374, 1, 90, 1}, - {4007, 2, 0, 10375, 1, 90, 1}, - {4007, 2, 0, 10376, 1, 90, 1}, - {4007, 2, 0, 10377, 1, 90, 1}, - {4007, 2, 0, 10378, 1, 90, 1}, - {4007, 2, 0, 11069, 1, 80, 1}, - {4007, 2, 0, 11071, 1, 80, 1}, - {4007, 2, 0, 11073, 1, 80, 1}, - {4007, 2, 0, 11076, 1, 80, 1}, - {4007, 2, 0, 11078, 1, 80, 1}, - {4007, 2, 0, 11116, 1, 80, 1}, - {4007, 2, 0, 11123, 1, 80, 1}, - {4007, 2, 0, 11127, 1, 80, 1}, - {4007, 2, 0, 11142, 1, 80, 1}, - {4007, 2, 0, 11056, 1, 80, 1}, - {4007, 2, 0, 11090, 1, 80, 1}, - {4007, 2, 0, 11097, 1, 80, 1}, - {4007, 2, 0, 10367, 1, 80, 1}, - {4007, 2, 0, 10371, 1, 80, 1}, - {4007, 2, 0, 10373, 1, 80, 1}, - {4007, 2, 0, 11080, 1, 22, 1}, - {4007, 2, 0, 11081, 1, 22, 1}, - {4007, 2, 0, 11083, 1, 22, 1}, - {4007, 2, 0, 11125, 1, 22, 1}, - {4007, 2, 0, 11093, 1, 22, 1}, - {4007, 2, 0, 11053, 1, 15, 1}, - {4007, 2, 0, 11147, 1, 15, 1}, - {4007, 2, 0, 10372, 1, 8, 1}, - {4007, 2, 0, 10369, 1, 2, 1}, - {4007, 2, 0, 11159, 3, 1220, 1}, - {4007, 2, 0, 11160, 3, 650, 1}, - {4007, 2, 0, 11161, 3, 160, 1}, - {4007, 2, 0, 11661, 1, 800, 1}, - {4007, 2, 0, 11662, 1, 800, 1}, - {4007, 2, 0, 11163, 1, 500, 1}, - {4007, 2, 0, 11162, 1, 550, 1}, - {4007, 2, 0, 11465, 1, 50, 1}, - {4007, 2, 0, 11466, 1, 25, 1}, - {4007, 2, 0, 11467, 1, 250, 1}, - {4007, 2, 0, 11468, 1, 500, 1}, - {4007, 2, 0, 11469, 1, 175, 1}, - // Probably treasure chest rewards - {4202, 1, 0, 11163, 1, 6000, 1}, - {4202, 1, 0, 11465, 1, 200, 1}, - {4202, 1, 0, 11466, 1, 100, 1}, - {4202, 1, 0, 11467, 1, 1000, 1}, - {4202, 1, 0, 11468, 1, 2000, 1}, - {4202, 1, 0, 11469, 1, 700, 1}, - {4202, 2, 0, 11661, 1, 800, 1}, - {4202, 2, 0, 11662, 1, 800, 1}, - {4202, 2, 0, 11163, 1, 400, 1}, - {4202, 2, 0, 11465, 1, 400, 1}, - {4202, 2, 0, 11466, 1, 200, 1}, - {4202, 2, 0, 11467, 1, 2000, 1}, - {4202, 2, 0, 11468, 1, 4000, 1}, - {4202, 2, 0, 11469, 1, 1400, 1}, - } + paperData = paperDataTowerScaling default: if pkt.DataType < 1000 { s.logger.Info("PaperData request for unknown type", zap.Uint32("DataType", pkt.DataType)) diff --git a/server/channelserver/handlers_data_paper_tables.go b/server/channelserver/handlers_data_paper_tables.go index 177ad3bbc..a3a910579 100644 --- a/server/channelserver/handlers_data_paper_tables.go +++ b/server/channelserver/handlers_data_paper_tables.go @@ -1,5 +1,507 @@ package channelserver +import "erupe-ce/common/mhfmon" + +// paperDataTower contains tower/Tenrouirai configuration parameters (DataType 5). +var paperDataTower = []PaperData{ + // getTowerQuestTowerLevel + {1001, 1, 0, 0, 0, 0, 0}, + {1001, 2, 0, 0, 0, 0, 0}, + // iniTQT + {1003, 1, 100, 100, 200, 100, 0}, + {1003, 2, 150, 100, 240, 100, 0}, + {1004, 10, 9999, 40, 0, 0, 0}, + {1005, 10, 500, 0, 0, 0, 0}, + // getPaperDataSetFromProp + {1007, 1, 0, 0, 0, 0, 0}, + {1008, 200, 400, 3000, 400, 3000, 0}, + // getPaperDataSetParam1 / Dure Goal + {1010, 1, 4000, 0, 0, 0, 0}, + {1010, 2, 4000, 0, 0, 0, 0}, + // update_disp_flag / getPaperDataSetParam1 + {1011, 1, 6000, 15000, 20000, 25000, 30000}, + {1011, 2, 6000, 15000, 20000, 25000, 30000}, + {1012, 1, 8000, 17500, 22500, 27500, 31000}, + {1012, 2, 8000, 17500, 22500, 27500, 31000}, + // setServerZako + {1015, 1, 16, 16, 16, 0, 0}, + {1015, 2, 16, 16, 16, 0, 0}, + // createTowerFloorRandomNumberArray + {1101, 1, 2016, 500, 0, 0, 0}, + {1101, 2, 2016, 500, 0, 0, 0}, + // HRP/SRP/GRP/GSRP/TRP reward + {1103, 1, 0, 0, 3000, 0, 3000}, + {1103, 2, 0, 0, 3000, 0, 3000}, + // getTowerNextVenomLevel + {1104, 1, 10, 9999, 40, 0, 0}, + {1104, 2, 10, 9999, 40, 0, 0}, + {1105, 1, 10, 500, 0, 0, 0}, + {1105, 2, 10, 500, 0, 0, 0}, + // setServerBoss + {2001, 1, mhfmon.Gravios, 58, 0, 6, 700}, + {2001, 1, mhfmon.Gypceros, 58, 0, 3, 200}, + {2001, 1, mhfmon.Basarios, 58, 0, 7, 250}, + {2001, 1, mhfmon.Velocidrome, 58, 0, 1, 100}, + {2001, 1, mhfmon.Rajang, 58, 0, 8, 1000}, + {2001, 1, mhfmon.ShogunCeanataur, 58, 0, 9, 500}, + {2001, 1, mhfmon.Bulldrome, 58, 0, 2, 150}, + {2001, 1, mhfmon.Hypnocatrice, 58, 0, 4, 200}, + {2001, 1, mhfmon.Lavasioth, 58, 0, 5, 500}, + {2001, 1, mhfmon.Tigrex, 58, 0, 10, 800}, + {2001, 1, mhfmon.Espinas, 58, 0, 11, 900}, + {2001, 1, mhfmon.Pariapuria, 58, 0, 12, 600}, + {2001, 2, mhfmon.Gravios, 60, 0, 6, 700}, + {2001, 2, mhfmon.Gypceros, 60, 0, 3, 200}, + {2001, 2, mhfmon.Basarios, 60, 0, 7, 350}, + {2001, 2, mhfmon.Velocidrome, 60, 0, 1, 100}, + {2001, 2, mhfmon.PurpleGypceros, 60, 0, 13, 200}, + {2001, 2, mhfmon.YianGaruga, 60, 0, 15, 600}, + {2001, 2, mhfmon.Rajang, 60, 0, 8, 1000}, + {2001, 2, mhfmon.ShogunCeanataur, 60, 0, 2, 500}, + {2001, 2, mhfmon.Bulldrome, 60, 0, 9, 150}, + {2001, 2, mhfmon.Hypnocatrice, 60, 0, 4, 200}, + {2001, 2, mhfmon.Lavasioth, 60, 0, 5, 500}, + {2001, 2, mhfmon.Tigrex, 60, 0, 10, 800}, + {2001, 2, mhfmon.Espinas, 60, 0, 11, 900}, + {2001, 2, mhfmon.BurningEspinas, 60, 0, 14, 900}, + {2001, 2, mhfmon.Pariapuria, 60, 0, 12, 600}, + {2001, 2, mhfmon.Dyuragaua, 60, 0, 16, 1000}, +} + +// paperDataTowerScaling contains tower floor scaling tables (DataType 6). +var paperDataTowerScaling = []PaperData{ + // updateClearTowerFloor + {1002, 100, 0, 0, 0, 0, 0}, + // give_gem_func + {1006, 1, 10000, 10000, 0, 0, 0}, + {1006, 2, 10000, 20000, 0, 0, 0}, + {1009, 20, 0, 0, 0, 0, 0}, + // ttcStageInitDRP + {1013, 1, 1, 1, 100, 200, 300}, + {1013, 1, 1, 2, 100, 200, 300}, + {1013, 1, 2, 1, 300, 100, 200}, + {1013, 1, 2, 2, 300, 100, 200}, + {1013, 1, 3, 1, 200, 300, 100}, + {1013, 1, 3, 2, 200, 300, 100}, + {1013, 2, 1, 1, 300, 100, 200}, + {1013, 2, 1, 2, 300, 100, 200}, + {1013, 2, 2, 1, 200, 300, 100}, + {1013, 2, 2, 2, 200, 300, 100}, + {1013, 2, 3, 1, 100, 200, 300}, + {1013, 2, 3, 2, 100, 200, 300}, + {1013, 3, 1, 1, 200, 300, 100}, + {1013, 3, 1, 2, 200, 300, 100}, + {1013, 3, 2, 1, 100, 200, 300}, + {1013, 3, 2, 2, 100, 200, 300}, + {1013, 3, 3, 1, 300, 100, 200}, + {1013, 3, 3, 2, 300, 100, 200}, + {1016, 1, 1, 80, 0, 0, 0}, + {1016, 1, 2, 80, 0, 0, 0}, + {1016, 1, 3, 80, 0, 0, 0}, + {1016, 2, 1, 80, 0, 0, 0}, + {1016, 2, 2, 80, 0, 0, 0}, + {1016, 2, 3, 80, 0, 0, 0}, + {1201, 1, 60, 50, 0, 0, 0}, + {1201, 2, 60, 50, 0, 0, 0}, + // Gimmick Damage {ID, Block, StartFloor, EndFloor, Multiplier*100, Unk, Unk} + {1202, 1, 0, 5, 50, 0, 0}, + {1202, 1, 6, 20, 60, 0, 0}, + {1202, 1, 21, 40, 70, 0, 0}, + {1202, 1, 41, 120, 80, 0, 0}, + {1202, 1, 121, 160, 90, 0, 0}, + {1202, 1, 161, 250, 100, 0, 0}, + {1202, 1, 251, 500, 100, 0, 0}, + {1202, 1, 501, 9999, 100, 0, 0}, + {1202, 2, 0, 100, 100, 0, 0}, + {1202, 2, 101, 200, 100, 0, 0}, + {1202, 2, 201, 500, 150, 0, 0}, + {1202, 2, 501, 9999, 150, 0, 0}, + // Mon Damage {ID, Block, StartFloor, EndFloor, Multiplier*100, Unk, Unk} + {1203, 1, 0, 5, 10, 0, 0}, + {1203, 1, 6, 10, 20, 0, 0}, + {1203, 1, 11, 30, 30, 0, 0}, + {1203, 1, 31, 60, 40, 0, 0}, + {1203, 1, 61, 120, 50, 0, 0}, + {1203, 1, 121, 130, 60, 0, 0}, + {1203, 1, 131, 140, 70, 0, 0}, + {1203, 1, 141, 150, 80, 0, 0}, + {1203, 1, 151, 160, 85, 0, 0}, + {1203, 1, 161, 200, 100, 0, 0}, + {1203, 1, 201, 500, 100, 0, 0}, + {1203, 1, 501, 9999, 100, 0, 0}, + {1203, 2, 0, 120, 70, 0, 0}, + {1203, 2, 121, 500, 120, 0, 0}, + {1203, 2, 501, 9999, 120, 0, 0}, + // Mon HP {ID, Block, StartFloor, EndFloor, Multiplier*100, Unk, Unk} + {1204, 1, 0, 5, 15, 0, 0}, + {1204, 1, 6, 10, 20, 0, 0}, + {1204, 1, 11, 15, 25, 0, 0}, + {1204, 1, 16, 20, 27, 0, 0}, + {1204, 1, 21, 25, 30, 0, 0}, + {1204, 1, 26, 30, 32, 0, 0}, + {1204, 1, 31, 40, 35, 0, 0}, + {1204, 1, 41, 50, 37, 0, 0}, + {1204, 1, 51, 60, 40, 0, 0}, + {1204, 1, 61, 70, 43, 0, 0}, + {1204, 1, 71, 80, 45, 0, 0}, + {1204, 1, 81, 90, 47, 0, 0}, + {1204, 1, 91, 100, 50, 0, 0}, + {1204, 1, 101, 110, 60, 0, 0}, + {1204, 1, 111, 120, 70, 0, 0}, + {1204, 1, 121, 130, 75, 0, 0}, + {1204, 1, 131, 140, 82, 0, 0}, + {1204, 1, 141, 160, 85, 0, 0}, + {1204, 1, 161, 200, 100, 0, 0}, + {1204, 1, 201, 500, 100, 0, 0}, + {1204, 1, 501, 9999, 100, 0, 0}, + {1204, 2, 0, 120, 70, 0, 0}, + {1204, 2, 121, 500, 120, 0, 0}, + {1204, 2, 501, 9999, 120, 0, 0}, + // Supply Items {ID, Block, Unk, ItemID, Quantity, Unk, Unk} + {4001, 1, 0, 0, 0, 0, 0}, + {4001, 2, 0, 10667, 5, 0, 1}, + {4001, 2, 0, 10667, 5, 0, 1}, + {4001, 2, 0, 10667, 5, 0, 1}, + {4001, 2, 0, 10667, 5, 0, 1}, + {4001, 2, 0, 10668, 2, 0, 1}, + {4001, 2, 0, 10668, 2, 0, 1}, + {4001, 2, 0, 10668, 2, 0, 1}, + {4001, 2, 0, 10668, 2, 0, 1}, + {4001, 2, 0, 10669, 1, 0, 1}, + {4001, 2, 0, 10669, 1, 0, 1}, + {4001, 2, 0, 10669, 1, 0, 1}, + {4001, 2, 0, 10669, 1, 0, 1}, + {4001, 2, 0, 10671, 3, 0, 1}, + {4001, 2, 0, 10671, 3, 0, 1}, + {4001, 2, 0, 10671, 3, 0, 1}, + {4001, 2, 0, 10671, 3, 0, 1}, + {4001, 2, 0, 10384, 1, 0, 1}, + {4001, 2, 0, 10384, 1, 0, 1}, + {4001, 2, 0, 10670, 2, 0, 1}, + {4001, 2, 0, 10670, 2, 0, 1}, + {4001, 2, 0, 10682, 2, 0, 1}, + {4001, 2, 0, 10683, 2, 0, 1}, + {4001, 2, 0, 10678, 1, 0, 1}, + {4001, 2, 0, 10678, 1, 0, 1}, + // Item Rewards {ID, Block, Unk, ItemID, Quantity?, Chance*100, Unk} + {4005, 1, 0, 11159, 1, 5000, 1}, + {4005, 1, 0, 11160, 1, 3350, 1}, + {4005, 1, 0, 11161, 1, 1500, 1}, + {4005, 1, 0, 11162, 1, 100, 1}, + {4005, 1, 0, 11163, 1, 50, 1}, + {4005, 2, 0, 11159, 2, 1800, 1}, + {4005, 2, 0, 11160, 2, 1200, 1}, + {4005, 2, 0, 11161, 2, 500, 1}, + {4005, 2, 0, 11162, 1, 50, 1}, + {4005, 2, 0, 11037, 1, 150, 1}, + {4005, 2, 0, 11038, 1, 150, 1}, + {4005, 2, 0, 11044, 1, 150, 1}, + {4005, 2, 0, 11057, 1, 150, 1}, + {4005, 2, 0, 11059, 1, 150, 1}, + {4005, 2, 0, 11079, 1, 150, 1}, + {4005, 2, 0, 11098, 1, 150, 1}, + {4005, 2, 0, 11104, 1, 150, 1}, + {4005, 2, 0, 11117, 1, 150, 1}, + {4005, 2, 0, 11128, 1, 150, 1}, + {4005, 2, 0, 11133, 1, 150, 1}, + {4005, 2, 0, 11137, 1, 150, 1}, + {4005, 2, 0, 11143, 1, 150, 1}, + {4005, 2, 0, 11132, 1, 150, 1}, + {4005, 2, 0, 11039, 1, 150, 1}, + {4005, 2, 0, 11040, 1, 150, 1}, + {4005, 2, 0, 11049, 1, 150, 1}, + {4005, 2, 0, 11061, 1, 150, 1}, + {4005, 2, 0, 11063, 1, 150, 1}, + {4005, 2, 0, 11077, 1, 150, 1}, + {4005, 2, 0, 11099, 1, 150, 1}, + {4005, 2, 0, 11105, 1, 150, 1}, + {4005, 2, 0, 11129, 1, 150, 1}, + {4005, 2, 0, 11130, 1, 150, 1}, + {4005, 2, 0, 11131, 1, 150, 1}, + {4005, 2, 0, 11139, 1, 150, 1}, + {4005, 2, 0, 11145, 1, 150, 1}, + {4005, 2, 0, 11096, 1, 150, 1}, + {4005, 2, 0, 11041, 1, 150, 1}, + {4005, 2, 0, 11047, 1, 150, 1}, + {4005, 2, 0, 11054, 1, 150, 1}, + {4005, 2, 0, 11065, 1, 150, 1}, + {4005, 2, 0, 11068, 1, 150, 1}, + {4005, 2, 0, 11075, 1, 150, 1}, + {4005, 2, 0, 11100, 1, 150, 1}, + {4005, 2, 0, 11106, 1, 150, 1}, + {4005, 2, 0, 11119, 1, 150, 1}, + {4005, 2, 0, 11135, 1, 150, 1}, + {4005, 2, 0, 11136, 1, 150, 1}, + {4005, 2, 0, 11138, 1, 150, 1}, + {4005, 2, 0, 11088, 1, 150, 1}, + {4005, 2, 0, 10370, 1, 150, 1}, + {4005, 2, 0, 10368, 1, 150, 1}, + {4006, 1, 0, 11159, 1, 5000, 1}, + {4006, 1, 0, 11160, 1, 3350, 1}, + {4006, 1, 0, 11161, 1, 1500, 1}, + {4006, 1, 0, 11162, 1, 100, 1}, + {4006, 1, 0, 11163, 1, 50, 1}, + {4006, 2, 0, 11159, 2, 1800, 1}, + {4006, 2, 0, 11160, 2, 1200, 1}, + {4006, 2, 0, 11161, 2, 500, 1}, + {4006, 2, 0, 11162, 1, 50, 1}, + {4006, 2, 0, 11037, 1, 150, 1}, + {4006, 2, 0, 11038, 1, 150, 1}, + {4006, 2, 0, 11044, 1, 150, 1}, + {4006, 2, 0, 11057, 1, 150, 1}, + {4006, 2, 0, 11059, 1, 150, 1}, + {4006, 2, 0, 11079, 1, 150, 1}, + {4006, 2, 0, 11098, 1, 150, 1}, + {4006, 2, 0, 11104, 1, 150, 1}, + {4006, 2, 0, 11117, 1, 150, 1}, + {4006, 2, 0, 11128, 1, 150, 1}, + {4006, 2, 0, 11133, 1, 150, 1}, + {4006, 2, 0, 11137, 1, 150, 1}, + {4006, 2, 0, 11143, 1, 150, 1}, + {4006, 2, 0, 11132, 1, 150, 1}, + {4006, 2, 0, 11039, 1, 150, 1}, + {4006, 2, 0, 11040, 1, 150, 1}, + {4006, 2, 0, 11049, 1, 150, 1}, + {4006, 2, 0, 11061, 1, 150, 1}, + {4006, 2, 0, 11063, 1, 150, 1}, + {4006, 2, 0, 11077, 1, 150, 1}, + {4006, 2, 0, 11099, 1, 150, 1}, + {4006, 2, 0, 11105, 1, 150, 1}, + {4006, 2, 0, 11129, 1, 150, 1}, + {4006, 2, 0, 11130, 1, 150, 1}, + {4006, 2, 0, 11131, 1, 150, 1}, + {4006, 2, 0, 11139, 1, 150, 1}, + {4006, 2, 0, 11145, 1, 150, 1}, + {4006, 2, 0, 11096, 1, 150, 1}, + {4006, 2, 0, 11041, 1, 150, 1}, + {4006, 2, 0, 11047, 1, 150, 1}, + {4006, 2, 0, 11054, 1, 150, 1}, + {4006, 2, 0, 11065, 1, 150, 1}, + {4006, 2, 0, 11068, 1, 150, 1}, + {4006, 2, 0, 11075, 1, 150, 1}, + {4006, 2, 0, 11100, 1, 150, 1}, + {4006, 2, 0, 11106, 1, 150, 1}, + {4006, 2, 0, 11119, 1, 150, 1}, + {4006, 2, 0, 11135, 1, 150, 1}, + {4006, 2, 0, 11136, 1, 150, 1}, + {4006, 2, 0, 11138, 1, 150, 1}, + {4006, 2, 0, 11088, 1, 150, 1}, + {4006, 2, 0, 10370, 1, 150, 1}, + {4006, 2, 0, 10368, 1, 150, 1}, + {4007, 1, 0, 11058, 1, 70, 1}, + {4007, 1, 0, 11060, 1, 70, 1}, + {4007, 1, 0, 11062, 1, 70, 1}, + {4007, 1, 0, 11064, 1, 70, 1}, + {4007, 1, 0, 11066, 1, 70, 1}, + {4007, 1, 0, 11118, 1, 70, 1}, + {4007, 1, 0, 11120, 1, 70, 1}, + {4007, 1, 0, 11110, 1, 70, 1}, + {4007, 1, 0, 11112, 1, 70, 1}, + {4007, 1, 0, 11114, 1, 70, 1}, + {4007, 1, 0, 11042, 1, 70, 1}, + {4007, 1, 0, 11043, 1, 70, 1}, + {4007, 1, 0, 11074, 1, 70, 1}, + {4007, 1, 0, 11140, 1, 70, 1}, + {4007, 1, 0, 11067, 1, 70, 1}, + {4007, 1, 0, 11048, 1, 70, 1}, + {4007, 1, 0, 11046, 1, 70, 1}, + {4007, 1, 0, 11103, 1, 70, 1}, + {4007, 1, 0, 11107, 1, 70, 1}, + {4007, 1, 0, 11108, 1, 70, 1}, + {4007, 1, 0, 11121, 1, 70, 1}, + {4007, 1, 0, 11134, 1, 70, 1}, + {4007, 1, 0, 11084, 1, 70, 1}, + {4007, 1, 0, 11085, 1, 70, 1}, + {4007, 1, 0, 11086, 1, 70, 1}, + {4007, 1, 0, 11087, 1, 70, 1}, + {4007, 1, 0, 11094, 1, 70, 1}, + {4007, 1, 0, 11095, 1, 70, 1}, + {4007, 1, 0, 10374, 1, 70, 1}, + {4007, 1, 0, 10375, 1, 70, 1}, + {4007, 1, 0, 10376, 1, 70, 1}, + {4007, 1, 0, 10377, 1, 70, 1}, + {4007, 1, 0, 10378, 1, 70, 1}, + {4007, 1, 0, 11069, 1, 45, 1}, + {4007, 1, 0, 11071, 1, 45, 1}, + {4007, 1, 0, 11073, 1, 45, 1}, + {4007, 1, 0, 11076, 1, 45, 1}, + {4007, 1, 0, 11078, 1, 45, 1}, + {4007, 1, 0, 11116, 1, 45, 1}, + {4007, 1, 0, 11123, 1, 45, 1}, + {4007, 1, 0, 11127, 1, 45, 1}, + {4007, 1, 0, 11142, 1, 45, 1}, + {4007, 1, 0, 11056, 1, 45, 1}, + {4007, 1, 0, 11090, 1, 45, 1}, + {4007, 1, 0, 11097, 1, 45, 1}, + {4007, 1, 0, 10367, 1, 45, 1}, + {4007, 1, 0, 10371, 1, 45, 1}, + {4007, 1, 0, 10373, 1, 45, 1}, + {4007, 1, 0, 11080, 1, 15, 1}, + {4007, 1, 0, 11081, 1, 15, 1}, + {4007, 1, 0, 11083, 1, 15, 1}, + {4007, 1, 0, 11125, 1, 15, 1}, + {4007, 1, 0, 11093, 1, 14, 1}, + {4007, 1, 0, 11053, 1, 10, 1}, + {4007, 1, 0, 11147, 1, 10, 1}, + {4007, 1, 0, 10372, 1, 5, 1}, + {4007, 1, 0, 10369, 1, 1, 1}, + {4007, 1, 0, 11163, 1, 150, 1}, + {4007, 1, 0, 11465, 1, 50, 1}, + {4007, 1, 0, 11466, 1, 25, 1}, + {4007, 1, 0, 11467, 1, 200, 1}, + {4007, 1, 0, 11468, 1, 400, 1}, + {4007, 1, 0, 11469, 1, 150, 1}, + {4007, 1, 0, 11037, 1, 92, 1}, + {4007, 1, 0, 11038, 1, 92, 1}, + {4007, 1, 0, 11044, 1, 92, 1}, + {4007, 1, 0, 11057, 1, 92, 1}, + {4007, 1, 0, 11059, 1, 92, 1}, + {4007, 1, 0, 11079, 1, 92, 1}, + {4007, 1, 0, 11098, 1, 92, 1}, + {4007, 1, 0, 11104, 1, 92, 1}, + {4007, 1, 0, 11117, 1, 92, 1}, + {4007, 1, 0, 11133, 1, 92, 1}, + {4007, 1, 0, 11137, 1, 92, 1}, + {4007, 1, 0, 11143, 1, 92, 1}, + {4007, 1, 0, 11132, 1, 92, 1}, + {4007, 1, 0, 11039, 1, 92, 1}, + {4007, 1, 0, 11040, 1, 92, 1}, + {4007, 1, 0, 11049, 1, 92, 1}, + {4007, 1, 0, 11061, 1, 92, 1}, + {4007, 1, 0, 11063, 1, 92, 1}, + {4007, 1, 0, 11077, 1, 92, 1}, + {4007, 1, 0, 11099, 1, 92, 1}, + {4007, 1, 0, 11105, 1, 92, 1}, + {4007, 1, 0, 11129, 1, 92, 1}, + {4007, 1, 0, 11130, 1, 92, 1}, + {4007, 1, 0, 11131, 1, 92, 1}, + {4007, 1, 0, 11139, 1, 92, 1}, + {4007, 1, 0, 11145, 1, 91, 1}, + {4007, 1, 0, 11096, 1, 91, 1}, + {4007, 1, 0, 11041, 1, 91, 1}, + {4007, 1, 0, 11047, 1, 91, 1}, + {4007, 1, 0, 11054, 1, 91, 1}, + {4007, 1, 0, 11065, 1, 91, 1}, + {4007, 1, 0, 11068, 1, 91, 1}, + {4007, 1, 0, 11075, 1, 91, 1}, + {4007, 1, 0, 11100, 1, 91, 1}, + {4007, 1, 0, 11106, 1, 91, 1}, + {4007, 1, 0, 11119, 1, 91, 1}, + {4007, 1, 0, 11135, 1, 91, 1}, + {4007, 1, 0, 11136, 1, 91, 1}, + {4007, 1, 0, 11138, 1, 91, 1}, + {4007, 1, 0, 11088, 1, 91, 1}, + {4007, 1, 0, 10370, 1, 91, 1}, + {4007, 1, 0, 10368, 1, 91, 1}, + {4007, 1, 0, 11045, 1, 91, 1}, + {4007, 1, 0, 11070, 1, 91, 1}, + {4007, 1, 0, 11101, 1, 91, 1}, + {4007, 1, 0, 11109, 1, 91, 1}, + {4007, 1, 0, 11122, 1, 91, 1}, + {4007, 1, 0, 11141, 1, 91, 1}, + {4007, 1, 0, 11051, 1, 91, 1}, + {4007, 1, 0, 11102, 1, 91, 1}, + {4007, 1, 0, 11124, 1, 91, 1}, + {4007, 1, 0, 11072, 1, 91, 1}, + {4007, 1, 0, 11082, 1, 91, 1}, + {4007, 1, 0, 11115, 1, 91, 1}, + {4007, 1, 0, 11144, 1, 91, 1}, + {4007, 1, 0, 11089, 1, 91, 1}, + {4007, 1, 0, 11091, 1, 91, 1}, + {4007, 1, 0, 11092, 1, 91, 1}, + {4007, 1, 0, 11050, 1, 91, 1}, + {4007, 1, 0, 11111, 1, 91, 1}, + {4007, 1, 0, 11113, 1, 91, 1}, + {4007, 1, 0, 11126, 1, 91, 1}, + {4007, 1, 0, 11055, 1, 91, 1}, + {4007, 1, 0, 11052, 1, 91, 1}, + {4007, 1, 0, 11146, 1, 91, 1}, + {4007, 2, 0, 11058, 1, 90, 1}, + {4007, 2, 0, 11060, 1, 90, 1}, + {4007, 2, 0, 11062, 1, 90, 1}, + {4007, 2, 0, 11064, 1, 90, 1}, + {4007, 2, 0, 11066, 1, 90, 1}, + {4007, 2, 0, 11118, 1, 90, 1}, + {4007, 2, 0, 11120, 1, 90, 1}, + {4007, 2, 0, 11110, 1, 90, 1}, + {4007, 2, 0, 11112, 1, 90, 1}, + {4007, 2, 0, 11114, 1, 90, 1}, + {4007, 2, 0, 11042, 1, 90, 1}, + {4007, 2, 0, 11043, 1, 90, 1}, + {4007, 2, 0, 11074, 1, 90, 1}, + {4007, 2, 0, 11140, 1, 90, 1}, + {4007, 2, 0, 11067, 1, 90, 1}, + {4007, 2, 0, 11048, 1, 90, 1}, + {4007, 2, 0, 11046, 1, 90, 1}, + {4007, 2, 0, 11103, 1, 90, 1}, + {4007, 2, 0, 11107, 1, 90, 1}, + {4007, 2, 0, 11108, 1, 90, 1}, + {4007, 2, 0, 11121, 1, 90, 1}, + {4007, 2, 0, 11134, 1, 90, 1}, + {4007, 2, 0, 11084, 1, 90, 1}, + {4007, 2, 0, 11085, 1, 90, 1}, + {4007, 2, 0, 11086, 1, 90, 1}, + {4007, 2, 0, 11087, 1, 90, 1}, + {4007, 2, 0, 11094, 1, 90, 1}, + {4007, 2, 0, 11095, 1, 90, 1}, + {4007, 2, 0, 10374, 1, 90, 1}, + {4007, 2, 0, 10375, 1, 90, 1}, + {4007, 2, 0, 10376, 1, 90, 1}, + {4007, 2, 0, 10377, 1, 90, 1}, + {4007, 2, 0, 10378, 1, 90, 1}, + {4007, 2, 0, 11069, 1, 80, 1}, + {4007, 2, 0, 11071, 1, 80, 1}, + {4007, 2, 0, 11073, 1, 80, 1}, + {4007, 2, 0, 11076, 1, 80, 1}, + {4007, 2, 0, 11078, 1, 80, 1}, + {4007, 2, 0, 11116, 1, 80, 1}, + {4007, 2, 0, 11123, 1, 80, 1}, + {4007, 2, 0, 11127, 1, 80, 1}, + {4007, 2, 0, 11142, 1, 80, 1}, + {4007, 2, 0, 11056, 1, 80, 1}, + {4007, 2, 0, 11090, 1, 80, 1}, + {4007, 2, 0, 11097, 1, 80, 1}, + {4007, 2, 0, 10367, 1, 80, 1}, + {4007, 2, 0, 10371, 1, 80, 1}, + {4007, 2, 0, 10373, 1, 80, 1}, + {4007, 2, 0, 11080, 1, 22, 1}, + {4007, 2, 0, 11081, 1, 22, 1}, + {4007, 2, 0, 11083, 1, 22, 1}, + {4007, 2, 0, 11125, 1, 22, 1}, + {4007, 2, 0, 11093, 1, 22, 1}, + {4007, 2, 0, 11053, 1, 15, 1}, + {4007, 2, 0, 11147, 1, 15, 1}, + {4007, 2, 0, 10372, 1, 8, 1}, + {4007, 2, 0, 10369, 1, 2, 1}, + {4007, 2, 0, 11159, 3, 1220, 1}, + {4007, 2, 0, 11160, 3, 650, 1}, + {4007, 2, 0, 11161, 3, 160, 1}, + {4007, 2, 0, 11661, 1, 800, 1}, + {4007, 2, 0, 11662, 1, 800, 1}, + {4007, 2, 0, 11163, 1, 500, 1}, + {4007, 2, 0, 11162, 1, 550, 1}, + {4007, 2, 0, 11465, 1, 50, 1}, + {4007, 2, 0, 11466, 1, 25, 1}, + {4007, 2, 0, 11467, 1, 250, 1}, + {4007, 2, 0, 11468, 1, 500, 1}, + {4007, 2, 0, 11469, 1, 175, 1}, + // Probably treasure chest rewards + {4202, 1, 0, 11163, 1, 6000, 1}, + {4202, 1, 0, 11465, 1, 200, 1}, + {4202, 1, 0, 11466, 1, 100, 1}, + {4202, 1, 0, 11467, 1, 1000, 1}, + {4202, 1, 0, 11468, 1, 2000, 1}, + {4202, 1, 0, 11469, 1, 700, 1}, + {4202, 2, 0, 11661, 1, 800, 1}, + {4202, 2, 0, 11662, 1, 800, 1}, + {4202, 2, 0, 11163, 1, 400, 1}, + {4202, 2, 0, 11465, 1, 400, 1}, + {4202, 2, 0, 11466, 1, 200, 1}, + {4202, 2, 0, 11467, 1, 2000, 1}, + {4202, 2, 0, 11468, 1, 4000, 1}, + {4202, 2, 0, 11469, 1, 1400, 1}, +} + var paperGiftData = map[uint32][]PaperGift{ 6001: { {11159, 1, 1, 5000},