diff --git a/package.json b/package.json index c1f5e720cc..7e58a6d46e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "KC3Kai", - "version": "32.8.0", + "version": "33.0.0", "description": "Kantai Collection Game Viewer and Tools", "repository": { "type": "git", diff --git a/src/assets/img/ships/477.png b/src/assets/img/ships/477.png index 430689065a..af8bebd849 100644 Binary files a/src/assets/img/ships/477.png and b/src/assets/img/ships/477.png differ diff --git a/src/assets/img/ships/477_d.png b/src/assets/img/ships/477_d.png index cd97c32446..a98a79e9f9 100644 Binary files a/src/assets/img/ships/477_d.png and b/src/assets/img/ships/477_d.png differ diff --git a/src/assets/img/ships/497.png b/src/assets/img/ships/497.png index 5a8d378163..e08d8eff6e 100644 Binary files a/src/assets/img/ships/497.png and b/src/assets/img/ships/497.png differ diff --git a/src/assets/img/ships/497_d.png b/src/assets/img/ships/497_d.png index c0e0252062..9e115fdd9a 100644 Binary files a/src/assets/img/ships/497_d.png and b/src/assets/img/ships/497_d.png differ diff --git a/src/assets/img/ships/542.png b/src/assets/img/ships/542.png index 0f71d1189b..7c580edc06 100644 Binary files a/src/assets/img/ships/542.png and b/src/assets/img/ships/542.png differ diff --git a/src/assets/img/ships/542_d.png b/src/assets/img/ships/542_d.png index f47984f7ee..404ab11c78 100644 Binary files a/src/assets/img/ships/542_d.png and b/src/assets/img/ships/542_d.png differ diff --git a/src/assets/img/shipseasonal/321.png b/src/assets/img/shipseasonal/321.png index 7f4bcbab21..6ae60c4255 100644 Binary files a/src/assets/img/shipseasonal/321.png and b/src/assets/img/shipseasonal/321.png differ diff --git a/src/assets/img/shipseasonal/321_d.png b/src/assets/img/shipseasonal/321_d.png index c2ad02eb74..e8a74c3506 100644 Binary files a/src/assets/img/shipseasonal/321_d.png and b/src/assets/img/shipseasonal/321_d.png differ diff --git a/src/assets/img/shipseasonal/532.png b/src/assets/img/shipseasonal/532.png new file mode 100644 index 0000000000..3d1e9861fc Binary files /dev/null and b/src/assets/img/shipseasonal/532.png differ diff --git a/src/assets/img/shipseasonal/532_d.png b/src/assets/img/shipseasonal/532_d.png new file mode 100644 index 0000000000..7689f0db76 Binary files /dev/null and b/src/assets/img/shipseasonal/532_d.png differ diff --git a/src/assets/img/shipseasonal/537.png b/src/assets/img/shipseasonal/537.png new file mode 100644 index 0000000000..3d1e9861fc Binary files /dev/null and b/src/assets/img/shipseasonal/537.png differ diff --git a/src/assets/img/shipseasonal/537_d.png b/src/assets/img/shipseasonal/537_d.png new file mode 100644 index 0000000000..7689f0db76 Binary files /dev/null and b/src/assets/img/shipseasonal/537_d.png differ diff --git a/src/assets/img/shipseasonal/Swimsuit/321.png b/src/assets/img/shipseasonal/Swimsuit/321.png index 169317cb59..609650d351 100644 Binary files a/src/assets/img/shipseasonal/Swimsuit/321.png and b/src/assets/img/shipseasonal/Swimsuit/321.png differ diff --git a/src/assets/img/shipseasonal/Swimsuit/321_d.png b/src/assets/img/shipseasonal/Swimsuit/321_d.png index bda114e336..b475582400 100644 Binary files a/src/assets/img/shipseasonal/Swimsuit/321_d.png and b/src/assets/img/shipseasonal/Swimsuit/321_d.png differ diff --git a/src/data/edges.json b/src/data/edges.json index e94203a5f0..698fbfcfdf 100644 --- a/src/data/edges.json +++ b/src/data/edges.json @@ -6,47 +6,59 @@ }, "World 1-2" : { "1" : [ "Start", "A"], - "2" : [ "Start", "C"], - "3" : [ "A", "B"], - "4" : [ "C", "D"] + "2" : [ "Start", "B"], + "3" : [ "B", "C"], + "4" : [ "A", "D"], + "5" : [ "A", "E"], + "6" : [ "D", "E"] }, "World 1-3" : { "1" : [ "Start", "A"], - "2" : [ "Start", "B"], - "3" : [ "A", "D"], - "4" : [ "B", "C"], - "5" : [ "B", "E"], + "2" : [ "D", "B"], + "3" : [ "Start", "C"], + "4" : [ "A", "D"], + "5" : [ "A", "E"], "6" : [ "C", "F"], - "7" : [ "D", "G"], - "8" : [ "D", "C"], - "9" : [ "E", "F"] + "7" : [ "H", "G"], + "8" : [ "F", "H"], + "9" : [ "H", "I"], + "10" : [ "F", "J"], + "11" : [ "B", "E"], + "12" : [ "E", "F"], + "13" : [ "H", "J"] }, "World 1-4" : { "1" : [ "Start", "A"], "2" : [ "Start", "B"], - "3" : [ "Start", "G"], - "4" : [ "A", "C"], - "5" : [ "G", "H"], - "6" : [ "C", "D"], - "7" : [ "C", "E"], - "8" : [ "H", "I"], - "9" : [ "I", "J"], - "10" : [ "D", "F"], - "11" : [ "B", "C"], - "12" : [ "E", "F"], - "13" : [ "I", "F"] + "3" : [ "B", "C"], + "4" : [ "A", "D"], + "5" : [ "D", "E"], + "6" : [ "C", "F"], + "7" : [ "D", "G"], + "8" : [ "E", "H"], + "9" : [ "F", "I"], + "10" : [ "G", "J"], + "11" : [ "J", "K"], + "12" : [ "H", "L"], + "13" : [ "B", "D"], + "14" : [ "F", "E"], + "15" : [ "F", "H"], + "16" : [ "I", "L"], + "17" : [ "J", "L"] }, "World 1-5" : { "1" : [ "Start", "A"], - "2" : [ "A", "B"], - "3" : [ "B", "D"], - "4" : [ "B", "C"], - "5" : [ "C", "E"], - "6" : [ "C", "F"], - "7" : [ "D", "H"], - "8" : [ "E", "G"], - "9" : [ "D", "I"], - "10" : [ "E", "I"] + "2" : [ "C", "B"], + "3" : [ "E", "C"], + "4" : [ "A", "D"], + "5" : [ "D", "E"], + "6" : [ "D", "F"], + "7" : [ "F", "G"], + "8" : [ "G", "H"], + "9" : [ "F", "I"], + "10" : [ "C", "J"], + "11" : [ "E", "J"], + "12" : [ "G", "J"] }, "World 1-6" : { "1" : [ "Start", "A"], @@ -68,360 +80,89 @@ "17" : [ "B", "N"] }, "World 2-1" : { - "1" : [ "Start", "A"], - "2" : [ "A", "B"], - "3" : [ "A", "D"], - "4" : [ "B", "C"], - "5" : [ "D", "F"], - "6" : [ "D", "E"] - }, - "World 2-2" : { - "1" : [ "Start", "A"], - "2" : [ "Start", "E"], - "3" : [ "A", "B"], - "4" : [ "E", "G"], - "5" : [ "B", "C"], - "6" : [ "B", "D"], - "7" : [ "E", "F"], - "8" : [ "A", "E"] - }, - "World 2-3" : { - "1" : [ "Start", "C"], - "2" : [ "Start", "A"], - "3" : [ "C", "H"], + "1" : [ "B", "A"], + "2" : [ "C", "B"], + "3" : [ "Start", "C"], "4" : [ "C", "D"], - "5" : [ "A", "B"], - "6" : [ "D", "E"], - "7" : [ "H", "I"], - "8" : [ "I", "J"], - "9" : [ "I", "K"], - "10" : [ "E", "F"], - "11" : [ "E", "G"], - "12" : [ "B", "E"] - }, - "World 2-4" : { - "1" : [ "Start", "A"], - "2" : [ "A", "K"], - "3" : [ "A", "F"], - "4" : [ "A", "B"], - "5" : [ "B", "C"], - "6" : [ "C", "D"], - "7" : [ "D", "E"], - "8" : [ "K", "L"], - "9" : [ "L", "M"], - "10" : [ "M", "N"], - "11" : [ "F", "G"], - "12" : [ "G", "I"], - "13" : [ "G", "H"], - "14" : [ "L", "O"], - "15" : [ "O", "P"], - "16" : [ "I", "J"], - "17" : [ "H", "J"], - "18" : [ "O", "J"], - "19" : [ "D", "G"] - }, - "World 2-5" : { - "1" : [ "Start", "A"], - "2" : [ "Start", "B"], - "3" : [ "A", "C"], - "4" : [ "B", "F"], - "5" : [ "A", "D"], - "6" : [ "B", "E"], - "7" : [ "D", "G"], - "8" : [ "D", "H"], - "9" : [ "E", "I"], - "10" : [ "H", "J"], - "11" : [ "I", "K"], - "12" : [ "H", "L"], - "13" : [ "E", "H"], - "14" : [ "I", "H"], - "15" : [ "I", "L"] - }, - "World 3-1" : { - "1" : [ "Start", "D"], - "2" : [ "Start", "A"], - "3" : [ "D", "F"], - "4" : [ "A", "B"], - "5" : [ "A", "C"], - "6" : [ "D", "E"] - }, - "World 3-2" : { - "1" : [ "Start", "E"], - "2" : [ "Start", "A"], - "3" : [ "Start", "D"], - "4" : [ "E", "F"], - "5" : [ "A", "B"], - "6" : [ "B", "C"], + "5" : [ "C", "E"], + "6" : [ "E", "F"], "7" : [ "F", "G"], - "8" : [ "F", "H"], - "9" : [ "D", "B"], - "10" : [ "D", "F"] + "8" : [ "D", "H"], + "9" : [ "E", "D"], + "10" : [ "E", "H"], + "11" : [ "F", "H"] }, - "World 3-3" : { - "1" : [ "Start", "A"], - "2" : [ "A", "B"], - "3" : [ "A", "E"], - "4" : [ "A", "H"], - "5" : [ "B", "C"], + "World 2-2" : { + "1" : [ "B", "A"], + "2" : [ "C", "B"], + "3" : [ "Start", "C"], + "4" : [ "C", "D"], + "5" : [ "C", "E"], "6" : [ "E", "F"], - "7" : [ "E", "I"], - "8" : [ "C", "D"], - "9" : [ "I", "K"], - "10" : [ "I", "J"], - "11" : [ "F", "G"], - "12" : [ "H", "I"], - "13" : [ "I", "G"] - }, - "World 3-4" : { - "1" : [ "Start", "A"], - "2" : [ "Start", "J"], - "3" : [ "Start", "K"], - "4" : [ "A", "B"], - "5" : [ "A", "F"], - "6" : [ "J", "L"], - "7" : [ "F", "G"], - "8" : [ "L", "M"], - "9" : [ "B", "C"], - "10" : [ "G", "H"], - "11" : [ "M", "N"], - "12" : [ "C", "D"], - "13" : [ "H", "I"], - "14" : [ "N", "O"], - "15" : [ "H", "E"], - "16" : [ "J", "F"], - "17" : [ "K", "L"], - "18" : [ "M", "H"], - "19" : [ "C", "H"], - "20" : [ "D", "E"] + "7" : [ "E", "G"], + "8" : [ "F", "H"], + "9" : [ "H", "I"], + "10" : [ "H", "J"], + "11" : [ "E", "K"], + "12" : [ "G", "H"], + "13" : [ "G", "K"], + "14" : [ "H", "K"] }, + + "World 3-5" : { - "1" : [ "Start", "A"], - "2" : [ "A", "H"], - "3" : [ "A", "D"], - "4" : [ "A", "C"], - "5" : [ "A", "E"], - "6" : [ "Start", "B"], - "7" : [ "B", "G"], - "8" : [ "C", "F"], - "9" : [ "F", "I"], - "10" : [ "G", "J"], + "1" : [ "Start", "B"], + "2" : [ "B", "A"], + "3" : [ "B", "C"], + "4" : [ "B", "D"], + "5" : [ "B", "E"], + "6" : [ "Start", "F"], + "7" : [ "F", "G"], + "8" : [ "D", "H"], + "9" : [ "H", "J"], + "10" : [ "G", "I"], "11" : [ "G", "K"], - "12" : [ "B", "E"], - "13" : [ "D", "B"], - "14" : [ "E", "F"], - "15" : [ "F", "K"] + "12" : [ "F", "E"], + "13" : [ "C", "F"], + "14" : [ "E", "H"], + "15" : [ "H", "K"] }, - "World 4-1" : { - "1" : [ "Start", "E"], - "2" : [ "Start", "A"], - "3" : [ "E", "H"], - "4" : [ "E", "F"], - "5" : [ "H", "I"], - "6" : [ "A", "B"], - "7" : [ "F", "G"], - "8" : [ "B", "C"], - "9" : [ "G", "D"], - "10" : [ "F", "I"], - "11" : [ "G", "I"], - "12" : [ "B", "D"] - }, - "World 4-2" : { - "1" : [ "Start", "F"], - "2" : [ "Start", "A"], - "3" : [ "A", "B"], - "4" : [ "F", "G"], - "5" : [ "F", "E"], - "6" : [ "B", "C"], - "7" : [ "G", "H"], - "8" : [ "H", "I"], - "9" : [ "C", "D"], - "10" : [ "A", "E"], - "11" : [ "E", "H"], - "12" : [ "C", "H"], - "13" : [ "H", "D"] - }, - "World 4-3" : { - "1" : [ "Start", "J"], - "2" : [ "Start", "A"], - "3" : [ "A", "B"], - "4" : [ "J", "F"], - "5" : [ "J", "K"], - "6" : [ "B", "C"], - "7" : [ "F", "D"], - "8" : [ "F", "G"], - "9" : [ "G", "H"], - "10" : [ "K", "L"], - "11" : [ "D", "E"], - "12" : [ "L", "M"], - "13" : [ "G", "I"], - "14" : [ "Start", "F"], - "15" : [ "B", "F"], - "16" : [ "F", "K"], - "17" : [ "C", "D"], - "18" : [ "B", "D"], - "19" : [ "D", "G"], - "20" : [ "K", "G"], - "21" : [ "G", "L"] - }, - "World 4-4" : { - "1" : [ "Start", "A"], - "2" : [ "A", "B"], - "3" : [ "A", "I"], - "4" : [ "A", "F"], - "5" : [ "B", "C"], - "6" : [ "C", "D"], - "7" : [ "C", "G"], - "8" : [ "I", "J"], - "9" : [ "C", "E"], - "10" : [ "G", "H"], - "11" : [ "F", "C"], - "12" : [ "F", "G"], - "13" : [ "I", "G"], - "14" : [ "G", "J"] - }, - "World 4-5" : { - "1" : [ "Start", "A"], - "2" : [ "Start", "B"], - "3" : [ "A", "D"], - "4" : [ "A", "C"], - "5" : [ "B", "E"], - "6" : [ "C", "F"], - "7" : [ "D", "G"], - "8" : [ "E", "H"], - "9" : [ "G", "I"], - "10" : [ "F", "J"], - "11" : [ "H", "K"], - "12" : [ "J", "L"], - "13" : [ "H", "M"], - "14" : [ "B", "C"], - "15" : [ "G", "F"], - "16" : [ "I", "F"], - "17" : [ "F", "H"], - "18" : [ "I", "J"], - "19" : [ "J", "M"] - }, - "World 5-1" : { + + + "World 6-1" : { "1" : [ "Start", "B"], "2" : [ "Start", "A"], - "3" : [ "B", "D"], - "4" : [ "A", "C"], + "3" : [ "Start", "C"], + "4" : [ "A", "D"], "5" : [ "A", "F"], - "6" : [ "C", "E"], - "7" : [ "C", "H"], - "8" : [ "E", "G"], - "9" : [ "H", "I"], - "10" : [ "D", "F"], - "11" : [ "H", "E"], - "12" : [ "F", "H"] - }, - "World 5-2" : { - "1" : [ "Start", "A"], - "2" : [ "A", "B"], - "3" : [ "A", "F"], - "4" : [ "B", "G"], - "5" : [ "G", "E"], - "6" : [ "B", "C"], - "7" : [ "F", "I"], + "6" : [ "F", "G"], + "7" : [ "G", "I"], "8" : [ "G", "H"], - "9" : [ "I", "J"], - "10" : [ "E", "D"], - "11" : [ "F", "G"], - "12" : [ "I", "H"], - "13" : [ "H", "J"], - "14" : [ "C", "D"] - }, - "World 5-3" : { - "1" : [ "Start", "A"], - "2" : [ "A", "B"], - "3" : [ "A", "C"], - "4" : [ "B", "D"], - "5" : [ "D", "E"], - "6" : [ "D", "F"], - "7" : [ "F", "G"], - "8" : [ "G", "H"], - "9" : [ "D", "I"], - "10" : [ "I", "J"], - "11" : [ "I", "K"], - "12" : [ "C", "D"], - "13" : [ "G", "I"], - "14" : [ "H", "I"] - }, - "World 5-4" : { - "1" : [ "Start", "A"], - "2" : [ "Start", "B"], - "3" : [ "Start", "C"], - "4" : [ "B", "F"], - "5" : [ "C", "G"], - "6" : [ "F", "I"], - "7" : [ "A", "E"], - "8" : [ "A", "D"], - "9" : [ "I", "L"], - "10" : [ "L", "N"], - "11" : [ "L", "M"], - "12" : [ "E", "H"], - "13" : [ "H", "K"], - "14" : [ "H", "J"], - "15" : [ "N", "O"], - "16" : [ "G", "I"], - "17" : [ "D", "H"], - "18" : [ "H", "M"], - "19" : [ "M", "O"], - "20" : [ "K", "O"] + "9" : [ "H", "E"], + "10" : [ "H", "J"], + "11" : [ "H", "K"], + "12" : [ "C", "F"], + "13" : [ "D", "F"] }, - "World 5-5" : { + "World 6-2" : { "1" : [ "Start", "B"], - "2" : [ "Start", "A"], - "3" : [ "A", "F"], - "4" : [ "A", "C"], - "5" : [ "A", "D"], - "6" : [ "B", "K"], - "7" : [ "K", "M"], - "8" : [ "K", "J"], - "9" : [ "J", "I"], - "10" : [ "F", "G"], - "11" : [ "I", "H"], - "12" : [ "C", "E"], - "13" : [ "E", "L"], - "14" : [ "G", "N"], - "15" : [ "I", "G"], - "16" : [ "G", "H"], - "17" : [ "D", "E"], - "18" : [ "E", "N"] - }, - "World 6-1" : { - "1" : [ "Start", "G"], - "2" : [ "Start", "A"], - "3" : [ "Start", "B"], - "4" : [ "A", "C"], - "5" : [ "A", "D"], - "6" : [ "D", "E"], - "7" : [ "E", "H"], - "8" : [ "E", "F"], + "2" : [ "Start", "C"], + "3" : [ "C", "A"], + "4" : [ "B", "D"], + "5" : [ "D", "F"], + "6" : [ "C", "E"], + "7" : [ "D", "H"], + "8" : [ "H", "G"], "9" : [ "F", "I"], - "10" : [ "F", "J"], - "11" : [ "F", "K"], - "12" : [ "B", "D"], - "13" : [ "C", "D"] - }, - "World 6-2" : { - "1" : [ "Start", "A"], - "2" : [ "Start", "B"], - "3" : [ "B", "C"], - "4" : [ "A", "D"], - "5" : [ "D", "E"], - "6" : [ "B", "F"], - "7" : [ "D", "G"], - "8" : [ "G", "J"], - "9" : [ "E", "H"], - "10" : [ "F", "I"], - "11" : [ "G", "K"], - "12" : [ "A", "B"], - "13" : [ "B", "D"], - "14" : [ "F", "E"], - "15" : [ "H", "J"], - "16" : [ "F", "H"], - "17" : [ "H", "K"], - "18" : [ "I", "K"] + "10" : [ "E", "J"], + "11" : [ "H", "K"], + "12" : [ "B", "C"], + "13" : [ "C", "D"], + "14" : [ "E", "F"], + "15" : [ "I", "G"], + "16" : [ "E", "I"], + "17" : [ "I", "K"], + "18" : [ "J", "K"] }, "World 6-3" : { "1" : [ "Start", "A"], diff --git a/src/data/lang b/src/data/lang index ffb9277d03..433164e6f3 160000 --- a/src/data/lang +++ b/src/data/lang @@ -1 +1 @@ -Subproject commit ffb9277d036c0f773a8ea869026ffb12e644ba2f +Subproject commit 433164e6f3b1613436824c7bc55db5979475709c diff --git a/src/data/seasonal_icons.json b/src/data/seasonal_icons.json index 7ab553e882..5f4122f2b3 100644 --- a/src/data/seasonal_icons.json +++ b/src/data/seasonal_icons.json @@ -1 +1 @@ -[ 15, 16, 22, 23, 26, 27, 51, 52, 59, 70, 73, 81, 93, 94, 120, 121, 131, 134, 136, 141, 144, 145, 151, 155, 159, 162, 174, 175, 179, 180, 183, 184, 185, 187, 213, 214, 219, 220, 230, 231, 232, 233, 242, 244, 262, 276, 286, 287, 303, 310, 311, 318, 321, 334, 344, 345, 347, 348, 349, 350, 359, 369, 372, 383, 384, 373, 396, 403, 407, 411, 412, 416, 424, 425, 431, 436, 441, 443, 446, 451, 452, 453, 457, 458, 464, 470, 477, 478, 485, 488, 491, 499, 500, 524, 525, 543, 544 ] \ No newline at end of file +[ 15, 16, 22, 23, 26, 27, 51, 52, 59, 70, 73, 81, 93, 94, 120, 121, 131, 134, 136, 141, 144, 145, 151, 155, 159, 162, 174, 175, 179, 180, 183, 184, 185, 187, 213, 214, 219, 220, 230, 231, 232, 233, 242, 244, 262, 276, 286, 287, 303, 310, 311, 318, 321, 334, 344, 345, 347, 348, 349, 350, 359, 369, 372, 383, 384, 373, 396, 403, 407, 411, 412, 416, 424, 425, 431, 436, 441, 443, 446, 451, 452, 453, 457, 458, 464, 470, 477, 478, 485, 488, 491, 499, 500, 524, 525, 532, 537, 543, 544 ] \ No newline at end of file diff --git a/src/library/injections/dmm.css b/src/library/injections/dmm.css index 16cfed5f91..844c77cb66 100644 --- a/src/library/injections/dmm.css +++ b/src/library/injections/dmm.css @@ -24,8 +24,8 @@ font-family:"Helvetica Neue",Tahoma,Helvetica,Arial,sans-serif; font-size:12px; color:#333; - width:800px; - height:480px; + width:1200px; + height:720px; position:absolute; top:0px; left:0px; @@ -39,49 +39,49 @@ /* OVERLAY: QUEST --------------------------*/ .kc3 .overlay_quests { - width:629px; - height:336px; - top:110px; - left:144px; + width:944px; + height:504px; + top:165px; + left:216px; } .kc3 .ol_quest { - width:629px; - height:64px; - margin:0px 0px 4px 0px !important; + width:944px; + height:95px; + margin: 0 0 7px 0 !important; } .kc3 .ol_quest .icon { - width:72px; - height:64px; + width:106px; + height:96px; float:left; } .kc3 .ol_quest .content { - width:431px; - height:40px; + width:640px; + height:65px; background:#E4D5C2; float:left; margin:2px 0px 0px 0px !important; } .kc3 .ol_quest .content .name { - width:431px; - height:13px; - line-height:13px; - font-size:13px; + width:640px; + height:22px; + line-height:22px; + font-size:22px; margin:2px 0px 2px 0px !important; } .kc3 .ol_quest .content .desc { - width:431px; - height:24px; - line-height:12px; - font-size:11px; + width:640px; + height:44px; + line-height:16px; + font-size:15px; overflow:hidden; } .kc3 .ol_quest .tracking { - width:60px; - height:40px; - line-height:60px; + width:100px; + height:60px; + line-height:95px; margin:2px 0px 0px 0px !important; float:left; - font-size:18px; + font-size:24px; font-weight:bold; text-align:center; color:#555; @@ -93,16 +93,16 @@ font-size:11px; } .kc3 .ol_quest .no_tl { - width:24px; - height:24px; + width: 36px; + height: 36px; background:rgba(150,190,230, 0.6); float:right; - margin:20px -26px 0px 0px !important; + margin: 30px -39px 0px 0px !important; position:relative; - border-radius:15px; - line-height:24px; + border-radius: 21px; + line-height: 36px; text-align:center; - font-size:16px; + font-size: 24px; font-weight:bold; color:#fff; pointer-events:visible; @@ -161,6 +161,7 @@ height:372px; left:26px; top:18px; + zoom:1.5; } .kc3 .overlay_markers .letter { position:absolute; @@ -185,11 +186,11 @@ /* OVERLAY: IDLE SCREEN --------------------------*/ .kc3 .overlay_idle { - width:790px; - height:480px; - padding:445px 10px 0px 0px !important; + width:1190px; + height:720px; + padding:675px 10px 0px 0px !important; text-align:right; - font-size:22px; + font-size:33px; color:#fff; font-weight:normal; text-shadow:1px 1px 2px #151515, diff --git a/src/library/injections/dmm.js b/src/library/injections/dmm.js index f6aa77beb4..777858145b 100644 --- a/src/library/injections/dmm.js +++ b/src/library/injections/dmm.js @@ -3,14 +3,15 @@ console.debug("DMM site inject response", response); switch (response.mode) { case 'frame': + var scale = (response.scale || 100) / 100; $("body").css("margin", "0px"); $("body").css("overflow", "hidden"); $("#game_frame").css("position", "fixed"); - $("#game_frame").css("left", "-50px"); - $("#game_frame").css("top", "-16px"); + $("#game_frame").css("left", "0px"); + $("#game_frame").css("top", -112 * (1 - scale)); $("#game_frame").css("z-index", "999"); $("#dmm-ntgnavi-renew").css("display", "none"); - $("#game_frame").css("zoom", (response.scale || 100) / 100); + //$("#game_frame").css("zoom", scale); break; case 'inject': DMMCustomizations.apply(response); diff --git a/src/library/injections/dmm_takeover.js b/src/library/injections/dmm_takeover.js index b0bd00b442..a0a4ece14e 100644 --- a/src/library/injections/dmm_takeover.js +++ b/src/library/injections/dmm_takeover.js @@ -118,14 +118,14 @@ 'margin-left': 'auto', 'margin-right': 'auto', padding: 0, - width: 800, - height: 480, + width: 1200, + height: 720, position: 'relative', zoom: this.gameZoomScale }); $("#game_frame").css({ - width: 800, - height: 480 + width: 1200, + height: 720 }); $(".dmm-ntgnavi").hide(); $(".area-naviapp").hide(); @@ -143,17 +143,17 @@ var self = this; this.resizeTimer = setInterval(function(){ - if ($("#game_frame").width() != 800 || $("#game_frame").height() != 480) { + if ($("#game_frame").width() !== 1200 || $("#game_frame").height() !== 720) { self.resizeGameFrame(); } }, 10000); }, - // Resize game frame to 800x480 + // Resize game frame to 1200x720 resizeGameFrame: function(){ - console.log("Resizing game frame to 800x480"); + console.log("Resizing game frame to 1200x720"); $("#game_frame").css({ - width: 800, - height: 480 + width: 1200, + height: 720 }); }, // Final process on document ready @@ -188,7 +188,7 @@ $("body").css("min-height", visibleHeight); // Prevent scrollbar shown if computed height not accurate but larger than game player $("body").css("overflow-y", !$("#alert").is(":visible") - && visibleHeight > self.gameZoomScale * 480 ? "hidden" : "auto"); + && visibleHeight > self.gameZoomScale * 720 ? "hidden" : "auto"); }; // Background if(!config.api_bg_image){ diff --git a/src/library/injections/osapi.js b/src/library/injections/osapi.js index a2f30482e7..5abaf9a9a3 100644 --- a/src/library/injections/osapi.js +++ b/src/library/injections/osapi.js @@ -21,17 +21,25 @@ Bad side, if it saving on background service failed, no fallback plans but to re function checkAgain(){ console.log("Checking API link..."); // If API link is found - if(document.getElementById("externalswf")){ - console.log( document.getElementById("externalswf").getAttribute("src") ); + if(document.getElementById("htmlWrap")){ + console.log( document.getElementById("htmlWrap").getAttribute("src") ); // Send it to background script (new RMsg( "service", "set_api_link", - { swfsrc: document.getElementById("externalswf").getAttribute("src") } + { swfsrc: document.getElementById("htmlWrap").getAttribute("src") } )).execute(); // Stop interval clearInterval(intervalChecker); + } else if(document.getElementById("externalswf")){ + console.log( document.getElementById("externalswf").getAttribute("src") ); + (new RMsg( + "service", + "set_api_link", + { swfsrc: document.getElementById("externalswf").getAttribute("src") } + )).execute(); + clearInterval(intervalChecker); } } @@ -50,7 +58,13 @@ Bad side, if it saving on background service failed, no fallback plans but to re || response.storage[0] == "false" || response.storage[1] == "true" ){ console.log("Setting zoom to scale", response.value[0] + "%"); - document.body.style.zoom = (response.value[0] || 100) / 100; + var scale = (response.value[0] || 100) / 100; + document.body.style.transform = "scale(" + scale + ")"; + setTimeout(function(){ + var playerOffset = $("#flashWrap").offset(); + $("#flashWrap").css("margin-left", -playerOffset.left / scale); + $("#flashWrap").css("margin-top", -playerOffset.top); + }, 3000); } // For dmm site play mode if(response.value[1] && response.storage[0] == "true"){ diff --git a/src/library/modules/Kcsapi.js b/src/library/modules/Kcsapi.js index 1fde8da95d..ae7077adc4 100644 --- a/src/library/modules/Kcsapi.js +++ b/src/library/modules/Kcsapi.js @@ -58,6 +58,9 @@ Previously known as "Reactor" KC3Network.trigger("GameUpdate", newCounts); } }, + "api_start2/getData":function(params, response, headers){ + this.api_start2(params, response, headers); + }, /* Consolidated Game Loading Call -------------------------------------------------------*/ diff --git a/src/library/objects/Gear.js b/src/library/objects/Gear.js index 34de7f1c55..9eeef80aaa 100644 --- a/src/library/objects/Gear.js +++ b/src/library/objects/Gear.js @@ -33,7 +33,7 @@ KC3改 Equipment Object } }; - KC3Gear.prototype.exists = function(){ return this.itemId > 0 && this.masterId > 0; }; + KC3Gear.prototype.exists = function(){ return this.itemId > 0 && this.masterId > 0 && this.master() !== false; }; KC3Gear.prototype.isDummy = function(){ return ! this.exists(); }; KC3Gear.prototype.master = function(){ return KC3Master.slotitem( this.masterId ); }; KC3Gear.prototype.name = function(){ return KC3Meta.gearName( this.master().api_name ); }; @@ -1341,13 +1341,13 @@ KC3改 Equipment Object // Handling data only from master defined at AntiAir module. KC3Gear.prototype.isAntiAirAircraft = function(){ - return this.masterId > 0 && + return this.exists() && KC3GearManager.antiAirFighterType2Ids.indexOf(this.master().api_type[2]) > -1 && this.master().api_tyku > 0; }; KC3Gear.prototype.isAirstrikeAircraft = function(){ - return this.masterId > 0 && + return this.exists() && KC3GearManager.airStrikeBomberType2Ids.indexOf(this.master().api_type[2]) > -1 && (this.master().api_raig > 0 || this.master().api_baku > 0); }; @@ -1370,7 +1370,7 @@ KC3改 Equipment Object KC3GearManager.aswAircraftType2Ids.slice(0) : KC3GearManager.aswAircraftType2Ids.filter(id => id !== 25 && id !== 26); if(forSupport) type2Ids.push(10, 45); - return this.masterId > 0 && + return this.exists() && type2Ids.indexOf(this.master().api_type[2]) > -1 && this.master().api_tais > 0; }; @@ -1386,7 +1386,7 @@ KC3改 Equipment Object // Seaplane Recon capable for LBAS ASW attack: // Type 0 Model 11B variants const type2Ids = forLbas ? [8, 10, 47] : [8, 25, 26, 47]; - return this.masterId > 0 && + return this.exists() && type2Ids.indexOf(this.master().api_type[2]) > -1 && this.master().api_tais > 6; }; @@ -1395,12 +1395,12 @@ KC3改 Equipment Object // Contact trigger-able by Recon Aircraft, Recon Seaplane, Large Flying Boat // Contact select-able by previous 3 types, plus Torpedo Bomber const type2 = isSelection ? [8, 9, 10, 41, 58, 59] : [9, 10, 41, 59]; - return this.masterId > 0 && + return this.exists() && type2.indexOf(this.master().api_type[2]) > -1; }; KC3Gear.prototype.isAirRadar = function(){ - return this.masterId > 0 && + return this.exists() && [12, 13].indexOf(this.master().api_type[2]) > -1 && this.master().api_tyku > 1; }; @@ -1411,19 +1411,19 @@ KC3改 Equipment Object since the accuracy <= 2 for all Air Radars in Small Radar category, but they have forgotten there are Air Radars with accuracy > 2 in Large Radar category, and there is a Destroyer (Kasumi K2) who can equip Large Radar... */ - return this.masterId > 0 && + return this.exists() && [12, 13].indexOf(this.master().api_type[2]) > -1 && this.master().api_houm > 2; }; KC3Gear.prototype.isAafdBuiltinHighAngleMount = function(){ - return this.masterId > 0 && + return this.exists() && [1, 4].indexOf(this.master().api_type[2]) > -1 && this.master().api_tyku > 7; }; KC3Gear.prototype.isCdMachineGun = function(){ - return this.masterId > 0 && + return this.exists() && this.master().api_type[2] === 21 && this.master().api_tyku > 8; }; @@ -1432,13 +1432,13 @@ KC3改 Equipment Object /* In-game, newly implemented Depth Charge are counted as different items in kinds of scenes, but their type in category or icon is the same with Depth Charge Projector. To differentiate them, the only method for now is a white-list of IDs. */ - return this.masterId > 0 && this.master().api_type[2] === 15 && + return this.exists() && this.master().api_type[2] === 15 && // Current implemented: Type95 DC, Type2 DC [226, 227].indexOf(this.masterId) > -1; }; KC3Gear.prototype.isDepthChargeProjector = function(){ - return this.masterId > 0 && this.master().api_type[2] === 15 && + return this.exists() && this.master().api_type[2] === 15 && // Current implemented: Type94 DCP, Type3 DCP, Type3 DCP CD, 15cm9t ASW Rocket //[44, 45].indexOf(this.masterId) > -1; // To maintenance fewer lists @@ -1475,7 +1475,7 @@ KC3改 Equipment Object nameText = gearObj.name(); if(gearObj.stars > 0){ nameText += " \u2605{0}".format(gearObj.stars); } if(gearObj.ace > 0){ nameText += " \u00bb{0}".format(gearObj.ace); } - if(slotSize !== undefined && + if(slotSize !== undefined && gearData && (KC3GearManager.carrierBasedAircraftType3Ids.indexOf(gearData.api_type[3]) >- 1 || KC3GearManager.landBasedAircraftType3Ids.indexOf(gearData.api_type[3]) >- 1)){ nameText += " x{0}".format(slotSize); diff --git a/src/library/objects/Screenshot.js b/src/library/objects/Screenshot.js index 0209c179fa..6c7051df09 100644 --- a/src/library/objects/Screenshot.js +++ b/src/library/objects/Screenshot.js @@ -42,8 +42,8 @@ KCScreenshot.prototype.remoteStart = function(tabId, offset){ KCScreenshot.prototype.prepare = function(){ // Initialize HTML5 Canvas this.canvas = document.createElement("canvas"); - this.canvas.width = 800 * this.scale; - this.canvas.height = 480 * this.scale; + this.canvas.width = 1200 * this.scale; + this.canvas.height = 720 * this.scale; this.context = this.canvas.getContext("2d"); // Initialize Image Tag @@ -125,8 +125,8 @@ KCScreenshot.prototype.crop = function(offset){ chrome.tabs.getZoom(null, function(zoomFactor){ // Get gamebox dimensions and position var params = { - realWidth: 800 * zoomFactor * self.scale, - realHeight: 480 * zoomFactor * self.scale, + realWidth: 1200 * zoomFactor * self.scale, + realHeight: 720 * zoomFactor * self.scale, offTop: offset.top * zoomFactor * self.scale, offLeft: offset.left * zoomFactor * self.scale, }; @@ -140,8 +140,8 @@ KCScreenshot.prototype.crop = function(offset){ params.realHeight, 0, 0, - 800 * self.scale, - 480 * self.scale + 1200 * self.scale, + 720 * self.scale ); self.output(); diff --git a/src/library/objects/ShowcaseExporter.js b/src/library/objects/ShowcaseExporter.js index 4e416b847f..0af1c7a510 100644 --- a/src/library/objects/ShowcaseExporter.js +++ b/src/library/objects/ShowcaseExporter.js @@ -615,6 +615,7 @@ var equip = allGears[i]; var equipMaster = KC3Master.slotitem(equip.masterId); + if (!equipMaster) continue; var masterId = "m" + equip.masterId; var typeId = "t" + equipMaster.api_type[3]; diff --git a/src/manifest.json b/src/manifest.json index 4dd84a5cb9..bb648f6f68 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -3,7 +3,7 @@ "name": "KC3改 Development", "short_name": "KC3改", "description": "Kantai Collection Game Viewer and Helper", - "version": "32.8.0", + "version": "33.0.0", "devtools_page": "pages/devtools/init.html", "options_page": "pages/settings/settings.html", "icons": { diff --git a/src/pages/game/api.css b/src/pages/game/api.css index 21975e45e7..a9b7e782a5 100644 --- a/src/pages/game/api.css +++ b/src/pages/game/api.css @@ -220,18 +220,19 @@ body { /* PLAY GAME --------------------------*/ .box-game { - width:800px; - height:480px; + width:1200px; + height:720px; display:none; position:relative; } .box-game .game-swf { - width:800px; - height:480px; + width:100%; + height:102%; } .box-game .overlays { width:800px; height:480px; + zoom:1.5; position:absolute; top:0px; left:0px; @@ -344,7 +345,7 @@ body { width:629px; height:336px; top:110px; - left:144px; + left:142px; } .ol_quest { width:629px; @@ -516,8 +517,8 @@ body { /* OVERLAY: TAIHA ALERT --------------------------*/ .taiha_blood { - width:800px; - height:480px; + width:120px; + height:720px; top:0px; left:0px; background:url("../../assets/img/ui/blood.png"); @@ -525,8 +526,8 @@ body { opacity:0.5; } .taiha_red { - width:800px; - height:480px; + width:1200px; + height:720px; top:0px; left:0px; display:none; diff --git a/src/pages/game/api.js b/src/pages/game/api.js index 3a27be7538..dddde4fe1d 100644 --- a/src/pages/game/api.js +++ b/src/pages/game/api.js @@ -51,7 +51,7 @@ var // Show game screens function ActivateGame(){ waiting = false; - $(".box-wrap").css("background", "#fff"); + var scale = (ConfigManager.api_gameScale || 100) / 100; $(".box-wait").hide(); $(".game-swf").remove(); $(".box-game") @@ -59,8 +59,19 @@ function ActivateGame(){ .find(".game-swf") .attr("src", localStorage.absoluteswf) .end() - .show(); - $(".box-wrap").css("zoom", ((ConfigManager.api_gameScale || 100) / 100)); + .show() + .css("transform", `scale(${scale})`); + $(".box-wrap").css({ + "background": "#fff", + "width": 1200 * scale, + "height": 720 * scale, + "margin-top": ConfigManager.api_margin + }); + var gamebox = $(".box-game").offset(), wrapper = $(".box-wrap").offset(); + $(".box-game").css({ + "margin-left": -gamebox.left + wrapper.left, + "margin-top": -gamebox.top + wrapper.top, + }); idleTimer = setInterval(idleFunction, 1000); if(ConfigManager.alert_idle_counter) { $(".game-idle-timer").trigger("refresh-tick"); @@ -80,7 +91,7 @@ $(document).on("ready", function(){ KC3Translation.execute(); // Apply interface configs - $(".box-wrap").css("margin-top", ConfigManager.api_margin+"px"); + //$(".box-wrap").css("margin-top", ConfigManager.api_margin+"px"); if(ConfigManager.api_bg_image === ""){ $("body").css("background", ConfigManager.api_bg_color); }else{ diff --git a/src/pages/game/dmm.js b/src/pages/game/dmm.js index 1d5f9c71ce..f2de391a51 100644 --- a/src/pages/game/dmm.js +++ b/src/pages/game/dmm.js @@ -51,6 +51,7 @@ var // Show game screens function ActivateGame(){ waiting = false; + var scale = (ConfigManager.api_gameScale || 100) / 100; $(".box-wrap").css("background", "#fff"); $(".box-wait").hide(); $(".game-swf").remove(); @@ -60,7 +61,19 @@ function ActivateGame(){ .attr("src", "http://www.dmm.com/netgame/social/-/gadgets/=/app_id=854854/") .end() .show(); - $(".box-wrap").css("zoom", ((ConfigManager.api_gameScale || 100) / 100)); + $(".box-wrap").css({ + "background": "#fff", + "width": 1200 * scale, + "height": 720 * scale, + "margin-top": ConfigManager.api_margin + }); + /* + var gamebox = $(".box-game").offset(), wrapper = $(".box-wrap").offset(); + $(".box-game").css({ + "margin-left": -gamebox.left + wrapper.left, + "margin-top": -gamebox.top + wrapper.top, + }); + */ idleTimer = setInterval(idleFunction,1000); if(ConfigManager.alert_idle_counter) { $(".game-idle-timer").trigger("refresh-tick"); @@ -79,7 +92,7 @@ $(document).on("ready", function(){ KC3Translation.execute(); // Apply interface configs - $(".box-wrap").css("margin-top", ConfigManager.api_margin+"px"); + //$(".box-wrap").css("margin-top", ConfigManager.api_margin+"px"); if(ConfigManager.api_bg_image === ""){ $("body").css("background", ConfigManager.api_bg_color); }else{ diff --git a/src/pages/strategy/tabs/fleet/fleet.js b/src/pages/strategy/tabs/fleet/fleet.js index ac5fa1cb9f..8e97729ee1 100644 --- a/src/pages/strategy/tabs/fleet/fleet.js +++ b/src/pages/strategy/tabs/fleet/fleet.js @@ -447,8 +447,9 @@ h: $(fleetBox).height(), t: $(document).scrollTop(), }; + const dpr = window.devicePixelRatio || 1; chrome.tabs.getZoom(undefined, scale => { - if(scale !== 1) Object.keys(coords).forEach(p => { coords[p] *= scale; }); + if(scale !== 1 || dpr !== 1) Object.keys(coords).forEach(p => { coords[p] *= scale * dpr; }); chrome.tabs.captureVisibleTab(undefined, {format: "png"}, (dataUrl) => { const canvas = document.createElement("canvas"), img = new Image(); img.onload = (e) => { diff --git a/src/pages/strategy/tabs/profile/profile.js b/src/pages/strategy/tabs/profile/profile.js index 1dd9bd8875..458a3672e6 100644 --- a/src/pages/strategy/tabs/profile/profile.js +++ b/src/pages/strategy/tabs/profile/profile.js @@ -919,6 +919,10 @@ $(selector + " .colorbox").css("background", "#d75048"); $(selector + " .feed_text").html(isRaw ? log.api_message : KC3Meta.term("NewsfeedUnlockMap")); break; + case "8": + $(selector + " .colorbox").css("background", "#d75048"); + $(selector + " .feed_text").html(isRaw ? log.api_message : KC3Meta.term("NewsfeedUnlockArea")); + break; case "11": $(selector + " .colorbox").css("background", "#9999ff"); $(selector + " .feed_text").html(isRaw ? log.api_message : KC3Meta.term("NewsfeedUpdateLib")); diff --git a/src/pages/strategy/tabs/showcase/showcase.js b/src/pages/strategy/tabs/showcase/showcase.js index 59c11d0cf4..8ab3f6c6db 100644 --- a/src/pages/strategy/tabs/showcase/showcase.js +++ b/src/pages/strategy/tabs/showcase/showcase.js @@ -156,6 +156,7 @@ var GearMaster, GearType; $.each(GearRecords, function(index, element){ GearMaster = KC3Master.slotitem( index.substr(1) ); + if(!GearMaster) return; GearType = GearMaster.api_type[3]; // If gear type does not exist yet diff --git a/update b/update index d9897097d4..4eb887445a 100644 --- a/update +++ b/update @@ -1,7 +1,7 @@ { - "version" : "32.8.0", + "version" : "33.0.0", "pr" : "https://github.com/KC3Kai/KC3Kai/pulls?q=label%3Atype%3Arelease%20", - "time" : "Tue, 14 August 2018 11:55:00 +0900", + "time" : "Sat, 18 August 2018 03:00:00 +0900", "maintenance_start": "Wed, 15 August 2018 11:55:00 +0900", - "maintenance_end": "Fri, 17 August 2018 18:00:00 +0900" + "maintenance_end": "Fri, 17 August 2018 21:00:00 +0900" }