diff --git a/public/missiles/bolt.json b/public/missiles/bolt.json new file mode 100644 index 0000000..6ebc5f8 --- /dev/null +++ b/public/missiles/bolt.json @@ -0,0 +1,331 @@ +{ + "name": "bolt", + "celFile": "XBowBolt", + "width": 512, + "height": 9, + "directions": 32, + "framesPerDirection": 1, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 14, + 7, + -6, + -62 + ] + ], + [ + [ + 15, + 0, + 14, + 7, + -4, + -59 + ] + ], + [ + [ + 30, + 0, + 14, + 7, + -8, + -58 + ] + ], + [ + [ + 45, + 0, + 13, + 6, + -10, + -60 + ] + ], + [ + [ + 59, + 0, + 4, + 8, + -4, + -62 + ] + ], + [ + [ + 64, + 0, + 18, + 5, + -7, + -60 + ] + ], + [ + [ + 83, + 0, + 5, + 9, + -1, + -59 + ] + ], + [ + [ + 89, + 0, + 17, + 4, + -11, + -57 + ] + ], + [ + [ + 107, + 0, + 9, + 8, + -5, + -62 + ] + ], + [ + [ + 117, + 0, + 17, + 6, + -7, + -61 + ] + ], + [ + [ + 135, + 0, + 17, + 5, + -5, + -59 + ] + ], + [ + [ + 153, + 0, + 8, + 8, + -1, + -59 + ] + ], + [ + [ + 162, + 0, + 8, + 8, + -4, + -58 + ] + ], + [ + [ + 171, + 0, + 17, + 5, + -10, + -57 + ] + ], + [ + [ + 189, + 0, + 17, + 5, + -12, + -59 + ] + ], + [ + [ + 207, + 0, + 8, + 8, + -7, + -61 + ] + ], + [ + [ + 216, + 0, + 6, + 8, + -4, + -62 + ] + ], + [ + [ + 223, + 0, + 11, + 8, + -5, + -62 + ] + ], + [ + [ + 235, + 0, + 15, + 7, + -6, + -62 + ] + ], + [ + [ + 251, + 0, + 18, + 5, + -7, + -60 + ] + ], + [ + [ + 270, + 0, + 18, + 4, + -6, + -59 + ] + ], + [ + [ + 289, + 0, + 15, + 6, + -4, + -59 + ] + ], + [ + [ + 305, + 0, + 11, + 7, + -2, + -59 + ] + ], + [ + [ + 317, + 0, + 6, + 8, + 0, + -59 + ] + ], + [ + [ + 324, + 0, + 6, + 9, + -2, + -59 + ] + ], + [ + [ + 331, + 0, + 11, + 8, + -6, + -58 + ] + ], + [ + [ + 343, + 0, + 15, + 7, + -9, + -58 + ] + ], + [ + [ + 359, + 0, + 18, + 5, + -11, + -57 + ] + ], + [ + [ + 378, + 0, + 18, + 4, + -12, + -58 + ] + ], + [ + [ + 397, + 0, + 16, + 5, + -11, + -59 + ] + ], + [ + [ + 414, + 0, + 11, + 7, + -9, + -61 + ] + ], + [ + [ + 426, + 0, + 5, + 8, + -5, + -61 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/bolt.png b/public/missiles/bolt.png new file mode 100644 index 0000000..0315b31 Binary files /dev/null and b/public/missiles/bolt.png differ diff --git a/public/missiles/chargedstrikebolt.json b/public/missiles/chargedstrikebolt.json new file mode 100644 index 0000000..8d5d8bc --- /dev/null +++ b/public/missiles/chargedstrikebolt.json @@ -0,0 +1,1323 @@ +{ + "name": "chargedstrikebolt", + "celFile": "ChargedBolt", + "width": 1024, + "height": 744, + "directions": 16, + "framesPerDirection": 10, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 58, + 58, + -31, + -33 + ], + [ + 59, + 0, + 58, + 58, + -31, + -33 + ], + [ + 118, + 0, + 58, + 58, + -31, + -33 + ], + [ + 177, + 0, + 58, + 58, + -31, + -33 + ], + [ + 236, + 0, + 58, + 58, + -31, + -33 + ], + [ + 295, + 0, + 58, + 58, + -31, + -33 + ], + [ + 354, + 0, + 58, + 58, + -31, + -33 + ], + [ + 413, + 0, + 58, + 58, + -31, + -33 + ], + [ + 472, + 0, + 58, + 58, + -31, + -33 + ], + [ + 531, + 0, + 58, + 58, + -31, + -33 + ] + ], + [ + [ + 590, + 0, + 62, + 56, + -29, + -34 + ], + [ + 653, + 0, + 62, + 56, + -29, + -34 + ], + [ + 716, + 0, + 62, + 56, + -29, + -34 + ], + [ + 779, + 0, + 62, + 56, + -29, + -34 + ], + [ + 842, + 0, + 62, + 56, + -29, + -34 + ], + [ + 905, + 0, + 62, + 56, + -29, + -34 + ], + [ + 0, + 59, + 62, + 56, + -29, + -34 + ], + [ + 63, + 59, + 62, + 56, + -29, + -34 + ], + [ + 126, + 59, + 62, + 56, + -29, + -34 + ], + [ + 189, + 59, + 62, + 56, + -29, + -34 + ] + ], + [ + [ + 252, + 59, + 67, + 77, + -28, + -41 + ], + [ + 320, + 59, + 67, + 77, + -28, + -41 + ], + [ + 388, + 59, + 67, + 77, + -28, + -41 + ], + [ + 456, + 59, + 67, + 77, + -28, + -41 + ], + [ + 524, + 59, + 67, + 77, + -28, + -41 + ], + [ + 592, + 59, + 67, + 77, + -28, + -41 + ], + [ + 660, + 59, + 67, + 77, + -28, + -41 + ], + [ + 728, + 59, + 67, + 77, + -28, + -41 + ], + [ + 796, + 59, + 67, + 77, + -28, + -41 + ], + [ + 864, + 59, + 67, + 77, + -28, + -41 + ] + ], + [ + [ + 932, + 59, + 64, + 65, + -34, + -31 + ], + [ + 0, + 137, + 64, + 65, + -34, + -31 + ], + [ + 65, + 137, + 64, + 65, + -34, + -31 + ], + [ + 130, + 137, + 64, + 65, + -34, + -31 + ], + [ + 195, + 137, + 64, + 65, + -34, + -31 + ], + [ + 260, + 137, + 64, + 65, + -34, + -31 + ], + [ + 325, + 137, + 64, + 65, + -34, + -31 + ], + [ + 390, + 137, + 64, + 65, + -34, + -31 + ], + [ + 455, + 137, + 64, + 65, + -34, + -31 + ], + [ + 520, + 137, + 64, + 65, + -34, + -31 + ] + ], + [ + [ + 585, + 137, + 65, + 63, + -32, + -33 + ], + [ + 651, + 137, + 65, + 63, + -32, + -33 + ], + [ + 717, + 137, + 65, + 63, + -32, + -33 + ], + [ + 783, + 137, + 65, + 63, + -32, + -33 + ], + [ + 849, + 137, + 65, + 63, + -32, + -33 + ], + [ + 915, + 137, + 65, + 63, + -32, + -33 + ], + [ + 0, + 203, + 65, + 63, + -32, + -33 + ], + [ + 66, + 203, + 65, + 63, + -32, + -33 + ], + [ + 132, + 203, + 65, + 63, + -32, + -33 + ], + [ + 198, + 203, + 65, + 63, + -32, + -33 + ] + ], + [ + [ + 264, + 203, + 64, + 55, + -34, + -31 + ], + [ + 329, + 203, + 64, + 55, + -34, + -31 + ], + [ + 394, + 203, + 64, + 55, + -34, + -31 + ], + [ + 459, + 203, + 64, + 55, + -34, + -31 + ], + [ + 524, + 203, + 64, + 55, + -34, + -31 + ], + [ + 589, + 203, + 64, + 55, + -34, + -31 + ], + [ + 654, + 203, + 64, + 55, + -34, + -31 + ], + [ + 719, + 203, + 64, + 55, + -34, + -31 + ], + [ + 784, + 203, + 64, + 55, + -34, + -31 + ], + [ + 849, + 203, + 64, + 55, + -34, + -31 + ] + ], + [ + [ + 914, + 203, + 62, + 62, + -31, + -32 + ], + [ + 0, + 267, + 62, + 62, + -31, + -32 + ], + [ + 63, + 267, + 62, + 62, + -31, + -32 + ], + [ + 126, + 267, + 62, + 62, + -31, + -32 + ], + [ + 189, + 267, + 62, + 62, + -31, + -32 + ], + [ + 252, + 267, + 62, + 62, + -31, + -32 + ], + [ + 315, + 267, + 62, + 62, + -31, + -32 + ], + [ + 378, + 267, + 62, + 62, + -31, + -32 + ], + [ + 441, + 267, + 62, + 62, + -31, + -32 + ], + [ + 504, + 267, + 62, + 62, + -31, + -32 + ] + ], + [ + [ + 567, + 267, + 65, + 68, + -33, + -40 + ], + [ + 633, + 267, + 65, + 68, + -33, + -40 + ], + [ + 699, + 267, + 65, + 68, + -33, + -40 + ], + [ + 765, + 267, + 65, + 68, + -33, + -40 + ], + [ + 831, + 267, + 65, + 68, + -33, + -40 + ], + [ + 897, + 267, + 65, + 68, + -33, + -40 + ], + [ + 0, + 336, + 65, + 68, + -33, + -40 + ], + [ + 66, + 336, + 65, + 68, + -33, + -40 + ], + [ + 132, + 336, + 65, + 68, + -33, + -40 + ], + [ + 198, + 336, + 65, + 68, + -33, + -40 + ] + ], + [ + [ + 264, + 336, + 58, + 60, + -30, + -33 + ], + [ + 323, + 336, + 58, + 60, + -30, + -33 + ], + [ + 382, + 336, + 58, + 60, + -30, + -33 + ], + [ + 441, + 336, + 58, + 60, + -30, + -33 + ], + [ + 500, + 336, + 58, + 60, + -30, + -33 + ], + [ + 559, + 336, + 58, + 60, + -30, + -33 + ], + [ + 618, + 336, + 58, + 60, + -30, + -33 + ], + [ + 677, + 336, + 58, + 60, + -30, + -33 + ], + [ + 736, + 336, + 58, + 60, + -30, + -33 + ], + [ + 795, + 336, + 58, + 60, + -30, + -33 + ] + ], + [ + [ + 854, + 336, + 72, + 56, + -41, + -29 + ], + [ + 927, + 336, + 72, + 56, + -41, + -29 + ], + [ + 0, + 405, + 72, + 56, + -41, + -29 + ], + [ + 73, + 405, + 72, + 56, + -41, + -29 + ], + [ + 146, + 405, + 72, + 56, + -41, + -29 + ], + [ + 219, + 405, + 72, + 56, + -41, + -29 + ], + [ + 292, + 405, + 72, + 56, + -41, + -29 + ], + [ + 365, + 405, + 72, + 56, + -41, + -29 + ], + [ + 438, + 405, + 72, + 56, + -41, + -29 + ], + [ + 511, + 405, + 72, + 56, + -41, + -29 + ] + ], + [ + [ + 584, + 405, + 72, + 56, + -29, + -33 + ], + [ + 657, + 405, + 72, + 56, + -29, + -33 + ], + [ + 730, + 405, + 72, + 56, + -29, + -33 + ], + [ + 803, + 405, + 72, + 56, + -29, + -33 + ], + [ + 876, + 405, + 72, + 56, + -29, + -33 + ], + [ + 949, + 405, + 72, + 56, + -29, + -33 + ], + [ + 0, + 462, + 72, + 56, + -29, + -33 + ], + [ + 73, + 462, + 72, + 56, + -29, + -33 + ], + [ + 146, + 462, + 72, + 56, + -29, + -33 + ], + [ + 219, + 462, + 72, + 56, + -29, + -33 + ] + ], + [ + [ + 292, + 462, + 71, + 76, + -31, + -42 + ], + [ + 364, + 462, + 71, + 76, + -31, + -42 + ], + [ + 436, + 462, + 71, + 76, + -31, + -42 + ], + [ + 508, + 462, + 71, + 76, + -31, + -42 + ], + [ + 580, + 462, + 71, + 76, + -31, + -42 + ], + [ + 652, + 462, + 71, + 76, + -31, + -42 + ], + [ + 724, + 462, + 71, + 76, + -31, + -42 + ], + [ + 796, + 462, + 71, + 76, + -31, + -42 + ], + [ + 868, + 462, + 71, + 76, + -31, + -42 + ], + [ + 940, + 462, + 71, + 76, + -31, + -42 + ] + ], + [ + [ + 0, + 539, + 61, + 63, + -28, + -34 + ], + [ + 62, + 539, + 61, + 63, + -28, + -34 + ], + [ + 124, + 539, + 61, + 63, + -28, + -34 + ], + [ + 186, + 539, + 61, + 63, + -28, + -34 + ], + [ + 248, + 539, + 61, + 63, + -28, + -34 + ], + [ + 310, + 539, + 61, + 63, + -28, + -34 + ], + [ + 372, + 539, + 61, + 63, + -28, + -34 + ], + [ + 434, + 539, + 61, + 63, + -28, + -34 + ], + [ + 496, + 539, + 61, + 63, + -28, + -34 + ], + [ + 558, + 539, + 61, + 63, + -28, + -34 + ] + ], + [ + [ + 620, + 539, + 73, + 61, + -29, + -29 + ], + [ + 694, + 539, + 73, + 61, + -29, + -29 + ], + [ + 768, + 539, + 73, + 61, + -29, + -29 + ], + [ + 842, + 539, + 73, + 61, + -29, + -29 + ], + [ + 916, + 539, + 73, + 61, + -29, + -29 + ], + [ + 0, + 603, + 73, + 61, + -29, + -29 + ], + [ + 74, + 603, + 73, + 61, + -29, + -29 + ], + [ + 148, + 603, + 73, + 61, + -29, + -29 + ], + [ + 222, + 603, + 73, + 61, + -29, + -29 + ], + [ + 296, + 603, + 73, + 61, + -29, + -29 + ] + ], + [ + [ + 370, + 603, + 62, + 63, + -34, + -33 + ], + [ + 433, + 603, + 62, + 63, + -34, + -33 + ], + [ + 496, + 603, + 62, + 63, + -34, + -33 + ], + [ + 559, + 603, + 62, + 63, + -34, + -33 + ], + [ + 622, + 603, + 62, + 63, + -34, + -33 + ], + [ + 685, + 603, + 62, + 63, + -34, + -33 + ], + [ + 748, + 603, + 62, + 63, + -34, + -33 + ], + [ + 811, + 603, + 62, + 63, + -34, + -33 + ], + [ + 874, + 603, + 62, + 63, + -34, + -33 + ], + [ + 937, + 603, + 62, + 63, + -34, + -33 + ] + ], + [ + [ + 0, + 667, + 61, + 77, + -32, + -42 + ], + [ + 62, + 667, + 61, + 77, + -32, + -42 + ], + [ + 124, + 667, + 61, + 77, + -32, + -42 + ], + [ + 186, + 667, + 61, + 77, + -32, + -42 + ], + [ + 248, + 667, + 61, + 77, + -32, + -42 + ], + [ + 310, + 667, + 61, + 77, + -32, + -42 + ], + [ + 372, + 667, + 61, + 77, + -32, + -42 + ], + [ + 434, + 667, + 61, + 77, + -32, + -42 + ], + [ + 496, + 667, + 61, + 77, + -32, + -42 + ], + [ + 558, + 667, + 61, + 77, + -32, + -42 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/chargedstrikebolt.png b/public/missiles/chargedstrikebolt.png new file mode 100644 index 0000000..20377da Binary files /dev/null and b/public/missiles/chargedstrikebolt.png differ diff --git a/public/missiles/coldarrow.json b/public/missiles/coldarrow.json new file mode 100644 index 0000000..8fb5190 --- /dev/null +++ b/public/missiles/coldarrow.json @@ -0,0 +1,2123 @@ +{ + "name": "coldarrow", + "celFile": "IceArrow", + "width": 1024, + "height": 324, + "directions": 32, + "framesPerDirection": 8, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 45, + 25, + -20, + -60 + ], + [ + 46, + 0, + 45, + 25, + -20, + -60 + ], + [ + 92, + 0, + 45, + 25, + -20, + -60 + ], + [ + 138, + 0, + 45, + 25, + -20, + -60 + ], + [ + 184, + 0, + 45, + 25, + -20, + -60 + ], + [ + 230, + 0, + 45, + 25, + -20, + -60 + ], + [ + 276, + 0, + 45, + 25, + -20, + -60 + ], + [ + 322, + 0, + 45, + 25, + -20, + -60 + ] + ], + [ + [ + 368, + 0, + 44, + 25, + -19, + -58 + ], + [ + 413, + 0, + 44, + 25, + -19, + -58 + ], + [ + 458, + 0, + 44, + 25, + -19, + -58 + ], + [ + 503, + 0, + 44, + 25, + -19, + -58 + ], + [ + 548, + 0, + 44, + 25, + -19, + -58 + ], + [ + 593, + 0, + 44, + 25, + -19, + -58 + ], + [ + 638, + 0, + 44, + 25, + -19, + -58 + ], + [ + 683, + 0, + 44, + 25, + -19, + -58 + ] + ], + [ + [ + 728, + 0, + 45, + 25, + -25, + -58 + ], + [ + 774, + 0, + 45, + 25, + -25, + -58 + ], + [ + 820, + 0, + 45, + 25, + -25, + -58 + ], + [ + 866, + 0, + 45, + 25, + -25, + -58 + ], + [ + 912, + 0, + 45, + 25, + -25, + -58 + ], + [ + 958, + 0, + 45, + 25, + -25, + -58 + ], + [ + 0, + 26, + 45, + 25, + -25, + -58 + ], + [ + 46, + 26, + 45, + 25, + -25, + -58 + ] + ], + [ + [ + 92, + 26, + 45, + 24, + -25, + -60 + ], + [ + 138, + 26, + 45, + 24, + -25, + -60 + ], + [ + 184, + 26, + 45, + 24, + -25, + -60 + ], + [ + 230, + 26, + 45, + 24, + -25, + -60 + ], + [ + 276, + 26, + 45, + 24, + -25, + -60 + ], + [ + 322, + 26, + 45, + 24, + -25, + -60 + ], + [ + 368, + 26, + 45, + 24, + -25, + -60 + ], + [ + 414, + 26, + 45, + 24, + -25, + -60 + ] + ], + [ + [ + 460, + 26, + 16, + 31, + -8, + -64 + ], + [ + 477, + 26, + 16, + 31, + -8, + -64 + ], + [ + 494, + 26, + 16, + 31, + -8, + -64 + ], + [ + 511, + 26, + 16, + 31, + -8, + -64 + ], + [ + 528, + 26, + 16, + 31, + -8, + -64 + ], + [ + 545, + 26, + 16, + 31, + -8, + -64 + ], + [ + 562, + 26, + 16, + 31, + -8, + -64 + ], + [ + 579, + 26, + 16, + 31, + -8, + -64 + ] + ], + [ + [ + 596, + 26, + 61, + 15, + -27, + -54 + ], + [ + 658, + 26, + 61, + 15, + -27, + -54 + ], + [ + 720, + 26, + 61, + 15, + -27, + -54 + ], + [ + 782, + 26, + 61, + 15, + -27, + -54 + ], + [ + 844, + 26, + 61, + 15, + -27, + -54 + ], + [ + 906, + 26, + 61, + 15, + -27, + -54 + ], + [ + 0, + 58, + 61, + 15, + -27, + -54 + ], + [ + 62, + 58, + 61, + 15, + -27, + -54 + ] + ], + [ + [ + 124, + 58, + 16, + 32, + -8, + -61 + ], + [ + 141, + 58, + 16, + 32, + -8, + -61 + ], + [ + 158, + 58, + 16, + 32, + -8, + -61 + ], + [ + 175, + 58, + 16, + 32, + -8, + -61 + ], + [ + 192, + 58, + 16, + 32, + -8, + -61 + ], + [ + 209, + 58, + 16, + 32, + -8, + -61 + ], + [ + 226, + 58, + 16, + 32, + -8, + -61 + ], + [ + 243, + 58, + 16, + 32, + -8, + -61 + ] + ], + [ + [ + 260, + 58, + 60, + 15, + -34, + -54 + ], + [ + 321, + 58, + 60, + 15, + -34, + -54 + ], + [ + 382, + 58, + 60, + 15, + -34, + -54 + ], + [ + 443, + 58, + 60, + 15, + -34, + -54 + ], + [ + 504, + 58, + 60, + 15, + -34, + -54 + ], + [ + 565, + 58, + 60, + 15, + -34, + -54 + ], + [ + 626, + 58, + 60, + 15, + -34, + -54 + ], + [ + 687, + 58, + 60, + 15, + -34, + -54 + ] + ], + [ + [ + 748, + 58, + 27, + 30, + -12, + -63 + ], + [ + 776, + 58, + 27, + 30, + -12, + -63 + ], + [ + 804, + 58, + 27, + 30, + -12, + -63 + ], + [ + 832, + 58, + 27, + 30, + -12, + -63 + ], + [ + 860, + 58, + 27, + 30, + -12, + -63 + ], + [ + 888, + 58, + 27, + 30, + -12, + -63 + ], + [ + 916, + 58, + 27, + 30, + -12, + -63 + ], + [ + 944, + 58, + 27, + 30, + -12, + -63 + ] + ], + [ + [ + 0, + 91, + 57, + 19, + -25, + -57 + ], + [ + 58, + 91, + 57, + 19, + -25, + -57 + ], + [ + 116, + 91, + 57, + 19, + -25, + -57 + ], + [ + 174, + 91, + 57, + 19, + -25, + -57 + ], + [ + 232, + 91, + 57, + 19, + -25, + -57 + ], + [ + 290, + 91, + 57, + 19, + -25, + -57 + ], + [ + 348, + 91, + 57, + 19, + -25, + -57 + ], + [ + 406, + 91, + 57, + 19, + -25, + -57 + ] + ], + [ + [ + 464, + 91, + 57, + 18, + -25, + -55 + ], + [ + 522, + 91, + 57, + 18, + -25, + -55 + ], + [ + 580, + 91, + 57, + 18, + -25, + -55 + ], + [ + 638, + 91, + 57, + 18, + -25, + -55 + ], + [ + 696, + 91, + 57, + 18, + -25, + -55 + ], + [ + 754, + 91, + 57, + 18, + -25, + -55 + ], + [ + 812, + 91, + 57, + 18, + -25, + -55 + ], + [ + 870, + 91, + 57, + 18, + -25, + -55 + ] + ], + [ + [ + 928, + 91, + 27, + 30, + -12, + -60 + ], + [ + 956, + 91, + 27, + 30, + -12, + -60 + ], + [ + 984, + 91, + 27, + 30, + -12, + -60 + ], + [ + 0, + 122, + 27, + 30, + -12, + -60 + ], + [ + 28, + 122, + 27, + 30, + -12, + -60 + ], + [ + 56, + 122, + 27, + 30, + -12, + -60 + ], + [ + 84, + 122, + 27, + 30, + -12, + -60 + ], + [ + 112, + 122, + 27, + 30, + -12, + -60 + ] + ], + [ + [ + 140, + 122, + 27, + 30, + -15, + -60 + ], + [ + 168, + 122, + 27, + 30, + -15, + -60 + ], + [ + 196, + 122, + 27, + 30, + -15, + -60 + ], + [ + 224, + 122, + 27, + 30, + -15, + -60 + ], + [ + 252, + 122, + 27, + 30, + -15, + -60 + ], + [ + 280, + 122, + 27, + 30, + -15, + -60 + ], + [ + 308, + 122, + 27, + 30, + -15, + -60 + ], + [ + 336, + 122, + 27, + 30, + -15, + -60 + ] + ], + [ + [ + 364, + 122, + 57, + 18, + -32, + -55 + ], + [ + 422, + 122, + 57, + 18, + -32, + -55 + ], + [ + 480, + 122, + 57, + 18, + -32, + -55 + ], + [ + 538, + 122, + 57, + 18, + -32, + -55 + ], + [ + 596, + 122, + 57, + 18, + -32, + -55 + ], + [ + 654, + 122, + 57, + 18, + -32, + -55 + ], + [ + 712, + 122, + 57, + 18, + -32, + -55 + ], + [ + 770, + 122, + 57, + 18, + -32, + -55 + ] + ], + [ + [ + 828, + 122, + 57, + 19, + -32, + -57 + ], + [ + 886, + 122, + 57, + 19, + -32, + -57 + ], + [ + 944, + 122, + 57, + 19, + -32, + -57 + ], + [ + 0, + 153, + 57, + 19, + -32, + -57 + ], + [ + 58, + 153, + 57, + 19, + -32, + -57 + ], + [ + 116, + 153, + 57, + 19, + -32, + -57 + ], + [ + 174, + 153, + 57, + 19, + -32, + -57 + ], + [ + 232, + 153, + 57, + 19, + -32, + -57 + ] + ], + [ + [ + 290, + 153, + 27, + 30, + -15, + -63 + ], + [ + 318, + 153, + 27, + 30, + -15, + -63 + ], + [ + 346, + 153, + 27, + 30, + -15, + -63 + ], + [ + 374, + 153, + 27, + 30, + -15, + -63 + ], + [ + 402, + 153, + 27, + 30, + -15, + -63 + ], + [ + 430, + 153, + 27, + 30, + -15, + -63 + ], + [ + 458, + 153, + 27, + 30, + -15, + -63 + ], + [ + 486, + 153, + 27, + 30, + -15, + -63 + ] + ], + [ + [ + 514, + 153, + 19, + 31, + -9, + -64 + ], + [ + 534, + 153, + 19, + 31, + -9, + -64 + ], + [ + 554, + 153, + 19, + 31, + -9, + -64 + ], + [ + 574, + 153, + 19, + 31, + -9, + -64 + ], + [ + 594, + 153, + 19, + 31, + -9, + -64 + ], + [ + 614, + 153, + 19, + 31, + -9, + -64 + ], + [ + 634, + 153, + 19, + 31, + -9, + -64 + ], + [ + 654, + 153, + 19, + 31, + -9, + -64 + ] + ], + [ + [ + 674, + 153, + 36, + 28, + -16, + -62 + ], + [ + 711, + 153, + 36, + 28, + -16, + -62 + ], + [ + 748, + 153, + 36, + 28, + -16, + -62 + ], + [ + 785, + 153, + 36, + 28, + -16, + -62 + ], + [ + 822, + 153, + 36, + 28, + -16, + -62 + ], + [ + 859, + 153, + 36, + 28, + -16, + -62 + ], + [ + 896, + 153, + 36, + 28, + -16, + -62 + ], + [ + 933, + 153, + 36, + 28, + -16, + -62 + ] + ], + [ + [ + 970, + 153, + 51, + 21, + -22, + -58 + ], + [ + 0, + 185, + 51, + 21, + -22, + -58 + ], + [ + 52, + 185, + 51, + 21, + -22, + -58 + ], + [ + 104, + 185, + 51, + 21, + -22, + -58 + ], + [ + 156, + 185, + 51, + 21, + -22, + -58 + ], + [ + 208, + 185, + 51, + 21, + -22, + -58 + ], + [ + 260, + 185, + 51, + 21, + -22, + -58 + ], + [ + 312, + 185, + 51, + 21, + -22, + -58 + ] + ], + [ + [ + 364, + 185, + 59, + 16, + -26, + -55 + ], + [ + 424, + 185, + 59, + 16, + -26, + -55 + ], + [ + 484, + 185, + 59, + 16, + -26, + -55 + ], + [ + 544, + 185, + 59, + 16, + -26, + -55 + ], + [ + 604, + 185, + 59, + 16, + -26, + -55 + ], + [ + 664, + 185, + 59, + 16, + -26, + -55 + ], + [ + 724, + 185, + 59, + 16, + -26, + -55 + ], + [ + 784, + 185, + 59, + 16, + -26, + -55 + ] + ], + [ + [ + 844, + 185, + 59, + 16, + -26, + -54 + ], + [ + 904, + 185, + 59, + 16, + -26, + -54 + ], + [ + 964, + 185, + 59, + 16, + -26, + -54 + ], + [ + 0, + 207, + 59, + 16, + -26, + -54 + ], + [ + 60, + 207, + 59, + 16, + -26, + -54 + ], + [ + 120, + 207, + 59, + 16, + -26, + -54 + ], + [ + 180, + 207, + 59, + 16, + -26, + -54 + ], + [ + 240, + 207, + 59, + 16, + -26, + -54 + ] + ], + [ + [ + 300, + 207, + 50, + 21, + -22, + -56 + ], + [ + 351, + 207, + 50, + 21, + -22, + -56 + ], + [ + 402, + 207, + 50, + 21, + -22, + -56 + ], + [ + 453, + 207, + 50, + 21, + -22, + -56 + ], + [ + 504, + 207, + 50, + 21, + -22, + -56 + ], + [ + 555, + 207, + 50, + 21, + -22, + -56 + ], + [ + 606, + 207, + 50, + 21, + -22, + -56 + ], + [ + 657, + 207, + 50, + 21, + -22, + -56 + ] + ], + [ + [ + 708, + 207, + 36, + 28, + -16, + -59 + ], + [ + 745, + 207, + 36, + 28, + -16, + -59 + ], + [ + 782, + 207, + 36, + 28, + -16, + -59 + ], + [ + 819, + 207, + 36, + 28, + -16, + -59 + ], + [ + 856, + 207, + 36, + 28, + -16, + -59 + ], + [ + 893, + 207, + 36, + 28, + -16, + -59 + ], + [ + 930, + 207, + 36, + 28, + -16, + -59 + ], + [ + 967, + 207, + 36, + 28, + -16, + -59 + ] + ], + [ + [ + 1004, + 207, + 19, + 31, + -9, + -60 + ], + [ + 0, + 239, + 19, + 31, + -9, + -60 + ], + [ + 20, + 239, + 19, + 31, + -9, + -60 + ], + [ + 40, + 239, + 19, + 31, + -9, + -60 + ], + [ + 60, + 239, + 19, + 31, + -9, + -60 + ], + [ + 80, + 239, + 19, + 31, + -9, + -60 + ], + [ + 100, + 239, + 19, + 31, + -9, + -60 + ], + [ + 120, + 239, + 19, + 31, + -9, + -60 + ] + ], + [ + [ + 140, + 239, + 19, + 31, + -10, + -60 + ], + [ + 160, + 239, + 19, + 31, + -10, + -60 + ], + [ + 180, + 239, + 19, + 31, + -10, + -60 + ], + [ + 200, + 239, + 19, + 31, + -10, + -60 + ], + [ + 220, + 239, + 19, + 31, + -10, + -60 + ], + [ + 240, + 239, + 19, + 31, + -10, + -60 + ], + [ + 260, + 239, + 19, + 31, + -10, + -60 + ], + [ + 280, + 239, + 19, + 31, + -10, + -60 + ] + ], + [ + [ + 300, + 239, + 36, + 28, + -20, + -59 + ], + [ + 337, + 239, + 36, + 28, + -20, + -59 + ], + [ + 374, + 239, + 36, + 28, + -20, + -59 + ], + [ + 411, + 239, + 36, + 28, + -20, + -59 + ], + [ + 448, + 239, + 36, + 28, + -20, + -59 + ], + [ + 485, + 239, + 36, + 28, + -20, + -59 + ], + [ + 522, + 239, + 36, + 28, + -20, + -59 + ], + [ + 559, + 239, + 36, + 28, + -20, + -59 + ] + ], + [ + [ + 596, + 239, + 52, + 21, + -29, + -56 + ], + [ + 649, + 239, + 52, + 21, + -29, + -56 + ], + [ + 702, + 239, + 52, + 21, + -29, + -56 + ], + [ + 755, + 239, + 52, + 21, + -29, + -56 + ], + [ + 808, + 239, + 52, + 21, + -29, + -56 + ], + [ + 861, + 239, + 52, + 21, + -29, + -56 + ], + [ + 914, + 239, + 52, + 21, + -29, + -56 + ], + [ + 967, + 239, + 52, + 21, + -29, + -56 + ] + ], + [ + [ + 0, + 271, + 59, + 16, + -33, + -54 + ], + [ + 60, + 271, + 59, + 16, + -33, + -54 + ], + [ + 120, + 271, + 59, + 16, + -33, + -54 + ], + [ + 180, + 271, + 59, + 16, + -33, + -54 + ], + [ + 240, + 271, + 59, + 16, + -33, + -54 + ], + [ + 300, + 271, + 59, + 16, + -33, + -54 + ], + [ + 360, + 271, + 59, + 16, + -33, + -54 + ], + [ + 420, + 271, + 59, + 16, + -33, + -54 + ] + ], + [ + [ + 480, + 271, + 59, + 16, + -33, + -55 + ], + [ + 540, + 271, + 59, + 16, + -33, + -55 + ], + [ + 600, + 271, + 59, + 16, + -33, + -55 + ], + [ + 660, + 271, + 59, + 16, + -33, + -55 + ], + [ + 720, + 271, + 59, + 16, + -33, + -55 + ], + [ + 780, + 271, + 59, + 16, + -33, + -55 + ], + [ + 840, + 271, + 59, + 16, + -33, + -55 + ], + [ + 900, + 271, + 59, + 16, + -33, + -55 + ] + ], + [ + [ + 960, + 271, + 52, + 21, + -29, + -58 + ], + [ + 0, + 293, + 52, + 21, + -29, + -58 + ], + [ + 53, + 293, + 52, + 21, + -29, + -58 + ], + [ + 106, + 293, + 52, + 21, + -29, + -58 + ], + [ + 159, + 293, + 52, + 21, + -29, + -58 + ], + [ + 212, + 293, + 52, + 21, + -29, + -58 + ], + [ + 265, + 293, + 52, + 21, + -29, + -58 + ], + [ + 318, + 293, + 52, + 21, + -29, + -58 + ] + ], + [ + [ + 371, + 293, + 36, + 28, + -20, + -62 + ], + [ + 408, + 293, + 36, + 28, + -20, + -62 + ], + [ + 445, + 293, + 36, + 28, + -20, + -62 + ], + [ + 482, + 293, + 36, + 28, + -20, + -62 + ], + [ + 519, + 293, + 36, + 28, + -20, + -62 + ], + [ + 556, + 293, + 36, + 28, + -20, + -62 + ], + [ + 593, + 293, + 36, + 28, + -20, + -62 + ], + [ + 630, + 293, + 36, + 28, + -20, + -62 + ] + ], + [ + [ + 667, + 293, + 19, + 31, + -10, + -64 + ], + [ + 687, + 293, + 19, + 31, + -10, + -64 + ], + [ + 707, + 293, + 19, + 31, + -10, + -64 + ], + [ + 727, + 293, + 19, + 31, + -10, + -64 + ], + [ + 747, + 293, + 19, + 31, + -10, + -64 + ], + [ + 767, + 293, + 19, + 31, + -10, + -64 + ], + [ + 787, + 293, + 19, + 31, + -10, + -64 + ], + [ + 807, + 293, + 19, + 31, + -10, + -64 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/coldarrow.png b/public/missiles/coldarrow.png new file mode 100644 index 0000000..e352559 Binary files /dev/null and b/public/missiles/coldarrow.png differ diff --git a/public/missiles/explodingarrow.json b/public/missiles/explodingarrow.json new file mode 100644 index 0000000..b551eab --- /dev/null +++ b/public/missiles/explodingarrow.json @@ -0,0 +1,2123 @@ +{ + "name": "explodingarrow", + "celFile": "FireArrow", + "width": 512, + "height": 355, + "directions": 32, + "framesPerDirection": 8, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 32, + 18, + -16, + -56 + ], + [ + 33, + 0, + 32, + 18, + -16, + -56 + ], + [ + 66, + 0, + 32, + 18, + -16, + -56 + ], + [ + 99, + 0, + 32, + 18, + -16, + -56 + ], + [ + 132, + 0, + 32, + 18, + -16, + -56 + ], + [ + 165, + 0, + 32, + 18, + -16, + -56 + ], + [ + 198, + 0, + 32, + 18, + -16, + -56 + ], + [ + 231, + 0, + 32, + 18, + -16, + -56 + ] + ], + [ + [ + 264, + 0, + 32, + 20, + -16, + -56 + ], + [ + 297, + 0, + 32, + 20, + -16, + -56 + ], + [ + 330, + 0, + 32, + 20, + -16, + -56 + ], + [ + 363, + 0, + 32, + 20, + -16, + -56 + ], + [ + 396, + 0, + 32, + 20, + -16, + -56 + ], + [ + 429, + 0, + 32, + 20, + -16, + -56 + ], + [ + 462, + 0, + 32, + 20, + -16, + -56 + ], + [ + 0, + 21, + 32, + 20, + -16, + -56 + ] + ], + [ + [ + 33, + 21, + 32, + 20, + -16, + -56 + ], + [ + 66, + 21, + 32, + 20, + -16, + -56 + ], + [ + 99, + 21, + 32, + 20, + -16, + -56 + ], + [ + 132, + 21, + 32, + 20, + -16, + -56 + ], + [ + 165, + 21, + 32, + 20, + -16, + -56 + ], + [ + 198, + 21, + 32, + 20, + -16, + -56 + ], + [ + 231, + 21, + 32, + 20, + -16, + -56 + ], + [ + 264, + 21, + 32, + 20, + -16, + -56 + ] + ], + [ + [ + 297, + 21, + 32, + 19, + -16, + -57 + ], + [ + 330, + 21, + 32, + 19, + -16, + -57 + ], + [ + 363, + 21, + 32, + 19, + -16, + -57 + ], + [ + 396, + 21, + 32, + 19, + -16, + -57 + ], + [ + 429, + 21, + 32, + 19, + -16, + -57 + ], + [ + 462, + 21, + 32, + 19, + -16, + -57 + ], + [ + 0, + 42, + 32, + 19, + -16, + -57 + ], + [ + 33, + 42, + 32, + 19, + -16, + -57 + ] + ], + [ + [ + 66, + 42, + 10, + 24, + -5, + -59 + ], + [ + 77, + 42, + 10, + 24, + -5, + -59 + ], + [ + 88, + 42, + 10, + 24, + -5, + -59 + ], + [ + 99, + 42, + 10, + 24, + -5, + -59 + ], + [ + 110, + 42, + 10, + 24, + -5, + -59 + ], + [ + 121, + 42, + 10, + 24, + -5, + -59 + ], + [ + 132, + 42, + 10, + 24, + -5, + -59 + ], + [ + 143, + 42, + 10, + 24, + -5, + -59 + ] + ], + [ + [ + 154, + 42, + 41, + 10, + -22, + -52 + ], + [ + 196, + 42, + 41, + 10, + -22, + -52 + ], + [ + 238, + 42, + 41, + 10, + -22, + -52 + ], + [ + 280, + 42, + 41, + 10, + -22, + -52 + ], + [ + 322, + 42, + 41, + 10, + -22, + -52 + ], + [ + 364, + 42, + 41, + 10, + -22, + -52 + ], + [ + 406, + 42, + 41, + 10, + -22, + -52 + ], + [ + 448, + 42, + 41, + 10, + -22, + -52 + ] + ], + [ + [ + 490, + 42, + 10, + 25, + -5, + -59 + ], + [ + 501, + 42, + 10, + 25, + -5, + -59 + ], + [ + 0, + 68, + 10, + 25, + -5, + -59 + ], + [ + 11, + 68, + 10, + 25, + -5, + -59 + ], + [ + 22, + 68, + 10, + 25, + -5, + -59 + ], + [ + 33, + 68, + 10, + 25, + -5, + -59 + ], + [ + 44, + 68, + 10, + 25, + -5, + -59 + ], + [ + 55, + 68, + 10, + 25, + -5, + -59 + ] + ], + [ + [ + 66, + 68, + 41, + 10, + -19, + -52 + ], + [ + 108, + 68, + 41, + 10, + -19, + -52 + ], + [ + 150, + 68, + 41, + 10, + -19, + -52 + ], + [ + 192, + 68, + 41, + 10, + -19, + -52 + ], + [ + 234, + 68, + 41, + 10, + -19, + -52 + ], + [ + 276, + 68, + 41, + 10, + -19, + -52 + ], + [ + 318, + 68, + 41, + 10, + -19, + -52 + ], + [ + 360, + 68, + 41, + 10, + -19, + -52 + ] + ], + [ + [ + 402, + 68, + 21, + 22, + -10, + -58 + ], + [ + 424, + 68, + 21, + 22, + -10, + -58 + ], + [ + 446, + 68, + 21, + 22, + -10, + -58 + ], + [ + 468, + 68, + 21, + 22, + -10, + -58 + ], + [ + 490, + 68, + 21, + 22, + -10, + -58 + ], + [ + 0, + 94, + 21, + 22, + -10, + -58 + ], + [ + 22, + 94, + 21, + 22, + -10, + -58 + ], + [ + 44, + 94, + 21, + 22, + -10, + -58 + ] + ], + [ + [ + 66, + 94, + 38, + 14, + -20, + -54 + ], + [ + 105, + 94, + 38, + 14, + -20, + -54 + ], + [ + 144, + 94, + 38, + 14, + -20, + -54 + ], + [ + 183, + 94, + 38, + 14, + -20, + -54 + ], + [ + 222, + 94, + 38, + 14, + -20, + -54 + ], + [ + 261, + 94, + 38, + 14, + -20, + -54 + ], + [ + 300, + 94, + 38, + 14, + -20, + -54 + ], + [ + 339, + 94, + 38, + 14, + -20, + -54 + ] + ], + [ + [ + 378, + 94, + 38, + 14, + -20, + -53 + ], + [ + 417, + 94, + 38, + 14, + -20, + -53 + ], + [ + 456, + 94, + 38, + 14, + -20, + -53 + ], + [ + 0, + 117, + 38, + 14, + -20, + -53 + ], + [ + 39, + 117, + 38, + 14, + -20, + -53 + ], + [ + 78, + 117, + 38, + 14, + -20, + -53 + ], + [ + 117, + 117, + 38, + 14, + -20, + -53 + ], + [ + 156, + 117, + 38, + 14, + -20, + -53 + ] + ], + [ + [ + 195, + 117, + 21, + 23, + -10, + -58 + ], + [ + 217, + 117, + 21, + 23, + -10, + -58 + ], + [ + 239, + 117, + 21, + 23, + -10, + -58 + ], + [ + 261, + 117, + 21, + 23, + -10, + -58 + ], + [ + 283, + 117, + 21, + 23, + -10, + -58 + ], + [ + 305, + 117, + 21, + 23, + -10, + -58 + ], + [ + 327, + 117, + 21, + 23, + -10, + -58 + ], + [ + 349, + 117, + 21, + 23, + -10, + -58 + ] + ], + [ + [ + 371, + 117, + 22, + 23, + -12, + -58 + ], + [ + 394, + 117, + 22, + 23, + -12, + -58 + ], + [ + 417, + 117, + 22, + 23, + -12, + -58 + ], + [ + 440, + 117, + 22, + 23, + -12, + -58 + ], + [ + 463, + 117, + 22, + 23, + -12, + -58 + ], + [ + 486, + 117, + 22, + 23, + -12, + -58 + ], + [ + 0, + 141, + 22, + 23, + -12, + -58 + ], + [ + 23, + 141, + 22, + 23, + -12, + -58 + ] + ], + [ + [ + 46, + 141, + 38, + 14, + -18, + -53 + ], + [ + 85, + 141, + 38, + 14, + -18, + -53 + ], + [ + 124, + 141, + 38, + 14, + -18, + -53 + ], + [ + 163, + 141, + 38, + 14, + -18, + -53 + ], + [ + 202, + 141, + 38, + 14, + -18, + -53 + ], + [ + 241, + 141, + 38, + 14, + -18, + -53 + ], + [ + 280, + 141, + 38, + 14, + -18, + -53 + ], + [ + 319, + 141, + 38, + 14, + -18, + -53 + ] + ], + [ + [ + 358, + 141, + 38, + 15, + -18, + -55 + ], + [ + 397, + 141, + 38, + 15, + -18, + -55 + ], + [ + 436, + 141, + 38, + 15, + -18, + -55 + ], + [ + 0, + 165, + 38, + 15, + -18, + -55 + ], + [ + 39, + 165, + 38, + 15, + -18, + -55 + ], + [ + 78, + 165, + 38, + 15, + -18, + -55 + ], + [ + 117, + 165, + 38, + 15, + -18, + -55 + ], + [ + 156, + 165, + 38, + 15, + -18, + -55 + ] + ], + [ + [ + 195, + 165, + 22, + 23, + -12, + -59 + ], + [ + 218, + 165, + 22, + 23, + -12, + -59 + ], + [ + 241, + 165, + 22, + 23, + -12, + -59 + ], + [ + 264, + 165, + 22, + 23, + -12, + -59 + ], + [ + 287, + 165, + 22, + 23, + -12, + -59 + ], + [ + 310, + 165, + 22, + 23, + -12, + -59 + ], + [ + 333, + 165, + 22, + 23, + -12, + -59 + ], + [ + 356, + 165, + 22, + 23, + -12, + -59 + ] + ], + [ + [ + 379, + 165, + 16, + 23, + -7, + -58 + ], + [ + 396, + 165, + 16, + 23, + -7, + -58 + ], + [ + 413, + 165, + 16, + 23, + -7, + -58 + ], + [ + 430, + 165, + 16, + 23, + -7, + -58 + ], + [ + 447, + 165, + 16, + 23, + -7, + -58 + ], + [ + 464, + 165, + 16, + 23, + -7, + -58 + ], + [ + 481, + 165, + 16, + 23, + -7, + -58 + ], + [ + 0, + 189, + 16, + 23, + -7, + -58 + ] + ], + [ + [ + 17, + 189, + 27, + 20, + -13, + -57 + ], + [ + 45, + 189, + 27, + 20, + -13, + -57 + ], + [ + 73, + 189, + 27, + 20, + -13, + -57 + ], + [ + 101, + 189, + 27, + 20, + -13, + -57 + ], + [ + 129, + 189, + 27, + 20, + -13, + -57 + ], + [ + 157, + 189, + 27, + 20, + -13, + -57 + ], + [ + 185, + 189, + 27, + 20, + -13, + -57 + ], + [ + 213, + 189, + 27, + 20, + -13, + -57 + ] + ], + [ + [ + 241, + 189, + 35, + 16, + -18, + -55 + ], + [ + 277, + 189, + 35, + 16, + -18, + -55 + ], + [ + 313, + 189, + 35, + 16, + -18, + -55 + ], + [ + 349, + 189, + 35, + 16, + -18, + -55 + ], + [ + 385, + 189, + 35, + 16, + -18, + -55 + ], + [ + 421, + 189, + 35, + 16, + -18, + -55 + ], + [ + 457, + 189, + 35, + 16, + -18, + -55 + ], + [ + 0, + 213, + 35, + 16, + -18, + -55 + ] + ], + [ + [ + 36, + 213, + 41, + 11, + -22, + -53 + ], + [ + 78, + 213, + 41, + 11, + -22, + -53 + ], + [ + 120, + 213, + 41, + 11, + -22, + -53 + ], + [ + 162, + 213, + 41, + 11, + -22, + -53 + ], + [ + 204, + 213, + 41, + 11, + -22, + -53 + ], + [ + 246, + 213, + 41, + 11, + -22, + -53 + ], + [ + 288, + 213, + 41, + 11, + -22, + -53 + ], + [ + 330, + 213, + 41, + 11, + -22, + -53 + ] + ], + [ + [ + 372, + 213, + 41, + 12, + -22, + -52 + ], + [ + 414, + 213, + 41, + 12, + -22, + -52 + ], + [ + 456, + 213, + 41, + 12, + -22, + -52 + ], + [ + 0, + 230, + 41, + 12, + -22, + -52 + ], + [ + 42, + 230, + 41, + 12, + -22, + -52 + ], + [ + 84, + 230, + 41, + 12, + -22, + -52 + ], + [ + 126, + 230, + 41, + 12, + -22, + -52 + ], + [ + 168, + 230, + 41, + 12, + -22, + -52 + ] + ], + [ + [ + 210, + 230, + 35, + 18, + -18, + -55 + ], + [ + 246, + 230, + 35, + 18, + -18, + -55 + ], + [ + 282, + 230, + 35, + 18, + -18, + -55 + ], + [ + 318, + 230, + 35, + 18, + -18, + -55 + ], + [ + 354, + 230, + 35, + 18, + -18, + -55 + ], + [ + 390, + 230, + 35, + 18, + -18, + -55 + ], + [ + 426, + 230, + 35, + 18, + -18, + -55 + ], + [ + 462, + 230, + 35, + 18, + -18, + -55 + ] + ], + [ + [ + 0, + 249, + 27, + 22, + -13, + -57 + ], + [ + 28, + 249, + 27, + 22, + -13, + -57 + ], + [ + 56, + 249, + 27, + 22, + -13, + -57 + ], + [ + 84, + 249, + 27, + 22, + -13, + -57 + ], + [ + 112, + 249, + 27, + 22, + -13, + -57 + ], + [ + 140, + 249, + 27, + 22, + -13, + -57 + ], + [ + 168, + 249, + 27, + 22, + -13, + -57 + ], + [ + 196, + 249, + 27, + 22, + -13, + -57 + ] + ], + [ + [ + 224, + 249, + 16, + 24, + -7, + -58 + ], + [ + 241, + 249, + 16, + 24, + -7, + -58 + ], + [ + 258, + 249, + 16, + 24, + -7, + -58 + ], + [ + 275, + 249, + 16, + 24, + -7, + -58 + ], + [ + 292, + 249, + 16, + 24, + -7, + -58 + ], + [ + 309, + 249, + 16, + 24, + -7, + -58 + ], + [ + 326, + 249, + 16, + 24, + -7, + -58 + ], + [ + 343, + 249, + 16, + 24, + -7, + -58 + ] + ], + [ + [ + 360, + 249, + 16, + 24, + -9, + -58 + ], + [ + 377, + 249, + 16, + 24, + -9, + -58 + ], + [ + 394, + 249, + 16, + 24, + -9, + -58 + ], + [ + 411, + 249, + 16, + 24, + -9, + -58 + ], + [ + 428, + 249, + 16, + 24, + -9, + -58 + ], + [ + 445, + 249, + 16, + 24, + -9, + -58 + ], + [ + 462, + 249, + 16, + 24, + -9, + -58 + ], + [ + 479, + 249, + 16, + 24, + -9, + -58 + ] + ], + [ + [ + 0, + 274, + 27, + 22, + -14, + -57 + ], + [ + 28, + 274, + 27, + 22, + -14, + -57 + ], + [ + 56, + 274, + 27, + 22, + -14, + -57 + ], + [ + 84, + 274, + 27, + 22, + -14, + -57 + ], + [ + 112, + 274, + 27, + 22, + -14, + -57 + ], + [ + 140, + 274, + 27, + 22, + -14, + -57 + ], + [ + 168, + 274, + 27, + 22, + -14, + -57 + ], + [ + 196, + 274, + 27, + 22, + -14, + -57 + ] + ], + [ + [ + 224, + 274, + 35, + 18, + -17, + -55 + ], + [ + 260, + 274, + 35, + 18, + -17, + -55 + ], + [ + 296, + 274, + 35, + 18, + -17, + -55 + ], + [ + 332, + 274, + 35, + 18, + -17, + -55 + ], + [ + 368, + 274, + 35, + 18, + -17, + -55 + ], + [ + 404, + 274, + 35, + 18, + -17, + -55 + ], + [ + 440, + 274, + 35, + 18, + -17, + -55 + ], + [ + 476, + 274, + 35, + 18, + -17, + -55 + ] + ], + [ + [ + 0, + 297, + 41, + 12, + -19, + -52 + ], + [ + 42, + 297, + 41, + 12, + -19, + -52 + ], + [ + 84, + 297, + 41, + 12, + -19, + -52 + ], + [ + 126, + 297, + 41, + 12, + -19, + -52 + ], + [ + 168, + 297, + 41, + 12, + -19, + -52 + ], + [ + 210, + 297, + 41, + 12, + -19, + -52 + ], + [ + 252, + 297, + 41, + 12, + -19, + -52 + ], + [ + 294, + 297, + 41, + 12, + -19, + -52 + ] + ], + [ + [ + 336, + 297, + 41, + 11, + -19, + -53 + ], + [ + 378, + 297, + 41, + 11, + -19, + -53 + ], + [ + 420, + 297, + 41, + 11, + -19, + -53 + ], + [ + 462, + 297, + 41, + 11, + -19, + -53 + ], + [ + 0, + 310, + 41, + 11, + -19, + -53 + ], + [ + 42, + 310, + 41, + 11, + -19, + -53 + ], + [ + 84, + 310, + 41, + 11, + -19, + -53 + ], + [ + 126, + 310, + 41, + 11, + -19, + -53 + ] + ], + [ + [ + 168, + 310, + 35, + 17, + -17, + -56 + ], + [ + 204, + 310, + 35, + 17, + -17, + -56 + ], + [ + 240, + 310, + 35, + 17, + -17, + -56 + ], + [ + 276, + 310, + 35, + 17, + -17, + -56 + ], + [ + 312, + 310, + 35, + 17, + -17, + -56 + ], + [ + 348, + 310, + 35, + 17, + -17, + -56 + ], + [ + 384, + 310, + 35, + 17, + -17, + -56 + ], + [ + 420, + 310, + 35, + 17, + -17, + -56 + ] + ], + [ + [ + 456, + 310, + 27, + 20, + -14, + -57 + ], + [ + 484, + 310, + 27, + 20, + -14, + -57 + ], + [ + 0, + 331, + 27, + 20, + -14, + -57 + ], + [ + 28, + 331, + 27, + 20, + -14, + -57 + ], + [ + 56, + 331, + 27, + 20, + -14, + -57 + ], + [ + 84, + 331, + 27, + 20, + -14, + -57 + ], + [ + 112, + 331, + 27, + 20, + -14, + -57 + ], + [ + 140, + 331, + 27, + 20, + -14, + -57 + ] + ], + [ + [ + 168, + 331, + 16, + 24, + -9, + -59 + ], + [ + 185, + 331, + 16, + 24, + -9, + -59 + ], + [ + 202, + 331, + 16, + 24, + -9, + -59 + ], + [ + 219, + 331, + 16, + 24, + -9, + -59 + ], + [ + 236, + 331, + 16, + 24, + -9, + -59 + ], + [ + 253, + 331, + 16, + 24, + -9, + -59 + ], + [ + 270, + 331, + 16, + 24, + -9, + -59 + ], + [ + 287, + 331, + 16, + 24, + -9, + -59 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/explodingarrow.png b/public/missiles/explodingarrow.png new file mode 100644 index 0000000..5fe7d44 Binary files /dev/null and b/public/missiles/explodingarrow.png differ diff --git a/public/missiles/explodingarrowexp.json b/public/missiles/explodingarrowexp.json new file mode 100644 index 0000000..a5b6b86 --- /dev/null +++ b/public/missiles/explodingarrowexp.json @@ -0,0 +1,141 @@ +{ + "name": "explodingarrowexp", + "celFile": "ExpArrowExplode", + "width": 1024, + "height": 699, + "directions": 1, + "framesPerDirection": 16, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 208, + 174, + -108, + -123 + ], + [ + 209, + 0, + 208, + 174, + -108, + -123 + ], + [ + 418, + 0, + 208, + 174, + -108, + -123 + ], + [ + 627, + 0, + 208, + 174, + -108, + -123 + ], + [ + 0, + 175, + 208, + 174, + -108, + -123 + ], + [ + 209, + 175, + 208, + 174, + -108, + -123 + ], + [ + 418, + 175, + 208, + 174, + -108, + -123 + ], + [ + 627, + 175, + 208, + 174, + -108, + -123 + ], + [ + 0, + 350, + 208, + 174, + -108, + -123 + ], + [ + 209, + 350, + 208, + 174, + -108, + -123 + ], + [ + 418, + 350, + 208, + 174, + -108, + -123 + ], + [ + 627, + 350, + 208, + 174, + -108, + -123 + ], + [ + 0, + 525, + 208, + 174, + -108, + -123 + ], + [ + 209, + 525, + 208, + 174, + -108, + -123 + ], + [ + 418, + 525, + 208, + 174, + -108, + -123 + ], + [ + 627, + 525, + 208, + 174, + -108, + -123 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/explodingarrowexp.png b/public/missiles/explodingarrowexp.png new file mode 100644 index 0000000..e6dedd3 Binary files /dev/null and b/public/missiles/explodingarrowexp.png differ diff --git a/public/missiles/freezingarrow.json b/public/missiles/freezingarrow.json new file mode 100644 index 0000000..d605275 --- /dev/null +++ b/public/missiles/freezingarrow.json @@ -0,0 +1,2123 @@ +{ + "name": "freezingarrow", + "celFile": "IceArrow", + "width": 1024, + "height": 324, + "directions": 32, + "framesPerDirection": 8, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 45, + 25, + -20, + -60 + ], + [ + 46, + 0, + 45, + 25, + -20, + -60 + ], + [ + 92, + 0, + 45, + 25, + -20, + -60 + ], + [ + 138, + 0, + 45, + 25, + -20, + -60 + ], + [ + 184, + 0, + 45, + 25, + -20, + -60 + ], + [ + 230, + 0, + 45, + 25, + -20, + -60 + ], + [ + 276, + 0, + 45, + 25, + -20, + -60 + ], + [ + 322, + 0, + 45, + 25, + -20, + -60 + ] + ], + [ + [ + 368, + 0, + 44, + 25, + -19, + -58 + ], + [ + 413, + 0, + 44, + 25, + -19, + -58 + ], + [ + 458, + 0, + 44, + 25, + -19, + -58 + ], + [ + 503, + 0, + 44, + 25, + -19, + -58 + ], + [ + 548, + 0, + 44, + 25, + -19, + -58 + ], + [ + 593, + 0, + 44, + 25, + -19, + -58 + ], + [ + 638, + 0, + 44, + 25, + -19, + -58 + ], + [ + 683, + 0, + 44, + 25, + -19, + -58 + ] + ], + [ + [ + 728, + 0, + 45, + 25, + -25, + -58 + ], + [ + 774, + 0, + 45, + 25, + -25, + -58 + ], + [ + 820, + 0, + 45, + 25, + -25, + -58 + ], + [ + 866, + 0, + 45, + 25, + -25, + -58 + ], + [ + 912, + 0, + 45, + 25, + -25, + -58 + ], + [ + 958, + 0, + 45, + 25, + -25, + -58 + ], + [ + 0, + 26, + 45, + 25, + -25, + -58 + ], + [ + 46, + 26, + 45, + 25, + -25, + -58 + ] + ], + [ + [ + 92, + 26, + 45, + 24, + -25, + -60 + ], + [ + 138, + 26, + 45, + 24, + -25, + -60 + ], + [ + 184, + 26, + 45, + 24, + -25, + -60 + ], + [ + 230, + 26, + 45, + 24, + -25, + -60 + ], + [ + 276, + 26, + 45, + 24, + -25, + -60 + ], + [ + 322, + 26, + 45, + 24, + -25, + -60 + ], + [ + 368, + 26, + 45, + 24, + -25, + -60 + ], + [ + 414, + 26, + 45, + 24, + -25, + -60 + ] + ], + [ + [ + 460, + 26, + 16, + 31, + -8, + -64 + ], + [ + 477, + 26, + 16, + 31, + -8, + -64 + ], + [ + 494, + 26, + 16, + 31, + -8, + -64 + ], + [ + 511, + 26, + 16, + 31, + -8, + -64 + ], + [ + 528, + 26, + 16, + 31, + -8, + -64 + ], + [ + 545, + 26, + 16, + 31, + -8, + -64 + ], + [ + 562, + 26, + 16, + 31, + -8, + -64 + ], + [ + 579, + 26, + 16, + 31, + -8, + -64 + ] + ], + [ + [ + 596, + 26, + 61, + 15, + -27, + -54 + ], + [ + 658, + 26, + 61, + 15, + -27, + -54 + ], + [ + 720, + 26, + 61, + 15, + -27, + -54 + ], + [ + 782, + 26, + 61, + 15, + -27, + -54 + ], + [ + 844, + 26, + 61, + 15, + -27, + -54 + ], + [ + 906, + 26, + 61, + 15, + -27, + -54 + ], + [ + 0, + 58, + 61, + 15, + -27, + -54 + ], + [ + 62, + 58, + 61, + 15, + -27, + -54 + ] + ], + [ + [ + 124, + 58, + 16, + 32, + -8, + -61 + ], + [ + 141, + 58, + 16, + 32, + -8, + -61 + ], + [ + 158, + 58, + 16, + 32, + -8, + -61 + ], + [ + 175, + 58, + 16, + 32, + -8, + -61 + ], + [ + 192, + 58, + 16, + 32, + -8, + -61 + ], + [ + 209, + 58, + 16, + 32, + -8, + -61 + ], + [ + 226, + 58, + 16, + 32, + -8, + -61 + ], + [ + 243, + 58, + 16, + 32, + -8, + -61 + ] + ], + [ + [ + 260, + 58, + 60, + 15, + -34, + -54 + ], + [ + 321, + 58, + 60, + 15, + -34, + -54 + ], + [ + 382, + 58, + 60, + 15, + -34, + -54 + ], + [ + 443, + 58, + 60, + 15, + -34, + -54 + ], + [ + 504, + 58, + 60, + 15, + -34, + -54 + ], + [ + 565, + 58, + 60, + 15, + -34, + -54 + ], + [ + 626, + 58, + 60, + 15, + -34, + -54 + ], + [ + 687, + 58, + 60, + 15, + -34, + -54 + ] + ], + [ + [ + 748, + 58, + 27, + 30, + -12, + -63 + ], + [ + 776, + 58, + 27, + 30, + -12, + -63 + ], + [ + 804, + 58, + 27, + 30, + -12, + -63 + ], + [ + 832, + 58, + 27, + 30, + -12, + -63 + ], + [ + 860, + 58, + 27, + 30, + -12, + -63 + ], + [ + 888, + 58, + 27, + 30, + -12, + -63 + ], + [ + 916, + 58, + 27, + 30, + -12, + -63 + ], + [ + 944, + 58, + 27, + 30, + -12, + -63 + ] + ], + [ + [ + 0, + 91, + 57, + 19, + -25, + -57 + ], + [ + 58, + 91, + 57, + 19, + -25, + -57 + ], + [ + 116, + 91, + 57, + 19, + -25, + -57 + ], + [ + 174, + 91, + 57, + 19, + -25, + -57 + ], + [ + 232, + 91, + 57, + 19, + -25, + -57 + ], + [ + 290, + 91, + 57, + 19, + -25, + -57 + ], + [ + 348, + 91, + 57, + 19, + -25, + -57 + ], + [ + 406, + 91, + 57, + 19, + -25, + -57 + ] + ], + [ + [ + 464, + 91, + 57, + 18, + -25, + -55 + ], + [ + 522, + 91, + 57, + 18, + -25, + -55 + ], + [ + 580, + 91, + 57, + 18, + -25, + -55 + ], + [ + 638, + 91, + 57, + 18, + -25, + -55 + ], + [ + 696, + 91, + 57, + 18, + -25, + -55 + ], + [ + 754, + 91, + 57, + 18, + -25, + -55 + ], + [ + 812, + 91, + 57, + 18, + -25, + -55 + ], + [ + 870, + 91, + 57, + 18, + -25, + -55 + ] + ], + [ + [ + 928, + 91, + 27, + 30, + -12, + -60 + ], + [ + 956, + 91, + 27, + 30, + -12, + -60 + ], + [ + 984, + 91, + 27, + 30, + -12, + -60 + ], + [ + 0, + 122, + 27, + 30, + -12, + -60 + ], + [ + 28, + 122, + 27, + 30, + -12, + -60 + ], + [ + 56, + 122, + 27, + 30, + -12, + -60 + ], + [ + 84, + 122, + 27, + 30, + -12, + -60 + ], + [ + 112, + 122, + 27, + 30, + -12, + -60 + ] + ], + [ + [ + 140, + 122, + 27, + 30, + -15, + -60 + ], + [ + 168, + 122, + 27, + 30, + -15, + -60 + ], + [ + 196, + 122, + 27, + 30, + -15, + -60 + ], + [ + 224, + 122, + 27, + 30, + -15, + -60 + ], + [ + 252, + 122, + 27, + 30, + -15, + -60 + ], + [ + 280, + 122, + 27, + 30, + -15, + -60 + ], + [ + 308, + 122, + 27, + 30, + -15, + -60 + ], + [ + 336, + 122, + 27, + 30, + -15, + -60 + ] + ], + [ + [ + 364, + 122, + 57, + 18, + -32, + -55 + ], + [ + 422, + 122, + 57, + 18, + -32, + -55 + ], + [ + 480, + 122, + 57, + 18, + -32, + -55 + ], + [ + 538, + 122, + 57, + 18, + -32, + -55 + ], + [ + 596, + 122, + 57, + 18, + -32, + -55 + ], + [ + 654, + 122, + 57, + 18, + -32, + -55 + ], + [ + 712, + 122, + 57, + 18, + -32, + -55 + ], + [ + 770, + 122, + 57, + 18, + -32, + -55 + ] + ], + [ + [ + 828, + 122, + 57, + 19, + -32, + -57 + ], + [ + 886, + 122, + 57, + 19, + -32, + -57 + ], + [ + 944, + 122, + 57, + 19, + -32, + -57 + ], + [ + 0, + 153, + 57, + 19, + -32, + -57 + ], + [ + 58, + 153, + 57, + 19, + -32, + -57 + ], + [ + 116, + 153, + 57, + 19, + -32, + -57 + ], + [ + 174, + 153, + 57, + 19, + -32, + -57 + ], + [ + 232, + 153, + 57, + 19, + -32, + -57 + ] + ], + [ + [ + 290, + 153, + 27, + 30, + -15, + -63 + ], + [ + 318, + 153, + 27, + 30, + -15, + -63 + ], + [ + 346, + 153, + 27, + 30, + -15, + -63 + ], + [ + 374, + 153, + 27, + 30, + -15, + -63 + ], + [ + 402, + 153, + 27, + 30, + -15, + -63 + ], + [ + 430, + 153, + 27, + 30, + -15, + -63 + ], + [ + 458, + 153, + 27, + 30, + -15, + -63 + ], + [ + 486, + 153, + 27, + 30, + -15, + -63 + ] + ], + [ + [ + 514, + 153, + 19, + 31, + -9, + -64 + ], + [ + 534, + 153, + 19, + 31, + -9, + -64 + ], + [ + 554, + 153, + 19, + 31, + -9, + -64 + ], + [ + 574, + 153, + 19, + 31, + -9, + -64 + ], + [ + 594, + 153, + 19, + 31, + -9, + -64 + ], + [ + 614, + 153, + 19, + 31, + -9, + -64 + ], + [ + 634, + 153, + 19, + 31, + -9, + -64 + ], + [ + 654, + 153, + 19, + 31, + -9, + -64 + ] + ], + [ + [ + 674, + 153, + 36, + 28, + -16, + -62 + ], + [ + 711, + 153, + 36, + 28, + -16, + -62 + ], + [ + 748, + 153, + 36, + 28, + -16, + -62 + ], + [ + 785, + 153, + 36, + 28, + -16, + -62 + ], + [ + 822, + 153, + 36, + 28, + -16, + -62 + ], + [ + 859, + 153, + 36, + 28, + -16, + -62 + ], + [ + 896, + 153, + 36, + 28, + -16, + -62 + ], + [ + 933, + 153, + 36, + 28, + -16, + -62 + ] + ], + [ + [ + 970, + 153, + 51, + 21, + -22, + -58 + ], + [ + 0, + 185, + 51, + 21, + -22, + -58 + ], + [ + 52, + 185, + 51, + 21, + -22, + -58 + ], + [ + 104, + 185, + 51, + 21, + -22, + -58 + ], + [ + 156, + 185, + 51, + 21, + -22, + -58 + ], + [ + 208, + 185, + 51, + 21, + -22, + -58 + ], + [ + 260, + 185, + 51, + 21, + -22, + -58 + ], + [ + 312, + 185, + 51, + 21, + -22, + -58 + ] + ], + [ + [ + 364, + 185, + 59, + 16, + -26, + -55 + ], + [ + 424, + 185, + 59, + 16, + -26, + -55 + ], + [ + 484, + 185, + 59, + 16, + -26, + -55 + ], + [ + 544, + 185, + 59, + 16, + -26, + -55 + ], + [ + 604, + 185, + 59, + 16, + -26, + -55 + ], + [ + 664, + 185, + 59, + 16, + -26, + -55 + ], + [ + 724, + 185, + 59, + 16, + -26, + -55 + ], + [ + 784, + 185, + 59, + 16, + -26, + -55 + ] + ], + [ + [ + 844, + 185, + 59, + 16, + -26, + -54 + ], + [ + 904, + 185, + 59, + 16, + -26, + -54 + ], + [ + 964, + 185, + 59, + 16, + -26, + -54 + ], + [ + 0, + 207, + 59, + 16, + -26, + -54 + ], + [ + 60, + 207, + 59, + 16, + -26, + -54 + ], + [ + 120, + 207, + 59, + 16, + -26, + -54 + ], + [ + 180, + 207, + 59, + 16, + -26, + -54 + ], + [ + 240, + 207, + 59, + 16, + -26, + -54 + ] + ], + [ + [ + 300, + 207, + 50, + 21, + -22, + -56 + ], + [ + 351, + 207, + 50, + 21, + -22, + -56 + ], + [ + 402, + 207, + 50, + 21, + -22, + -56 + ], + [ + 453, + 207, + 50, + 21, + -22, + -56 + ], + [ + 504, + 207, + 50, + 21, + -22, + -56 + ], + [ + 555, + 207, + 50, + 21, + -22, + -56 + ], + [ + 606, + 207, + 50, + 21, + -22, + -56 + ], + [ + 657, + 207, + 50, + 21, + -22, + -56 + ] + ], + [ + [ + 708, + 207, + 36, + 28, + -16, + -59 + ], + [ + 745, + 207, + 36, + 28, + -16, + -59 + ], + [ + 782, + 207, + 36, + 28, + -16, + -59 + ], + [ + 819, + 207, + 36, + 28, + -16, + -59 + ], + [ + 856, + 207, + 36, + 28, + -16, + -59 + ], + [ + 893, + 207, + 36, + 28, + -16, + -59 + ], + [ + 930, + 207, + 36, + 28, + -16, + -59 + ], + [ + 967, + 207, + 36, + 28, + -16, + -59 + ] + ], + [ + [ + 1004, + 207, + 19, + 31, + -9, + -60 + ], + [ + 0, + 239, + 19, + 31, + -9, + -60 + ], + [ + 20, + 239, + 19, + 31, + -9, + -60 + ], + [ + 40, + 239, + 19, + 31, + -9, + -60 + ], + [ + 60, + 239, + 19, + 31, + -9, + -60 + ], + [ + 80, + 239, + 19, + 31, + -9, + -60 + ], + [ + 100, + 239, + 19, + 31, + -9, + -60 + ], + [ + 120, + 239, + 19, + 31, + -9, + -60 + ] + ], + [ + [ + 140, + 239, + 19, + 31, + -10, + -60 + ], + [ + 160, + 239, + 19, + 31, + -10, + -60 + ], + [ + 180, + 239, + 19, + 31, + -10, + -60 + ], + [ + 200, + 239, + 19, + 31, + -10, + -60 + ], + [ + 220, + 239, + 19, + 31, + -10, + -60 + ], + [ + 240, + 239, + 19, + 31, + -10, + -60 + ], + [ + 260, + 239, + 19, + 31, + -10, + -60 + ], + [ + 280, + 239, + 19, + 31, + -10, + -60 + ] + ], + [ + [ + 300, + 239, + 36, + 28, + -20, + -59 + ], + [ + 337, + 239, + 36, + 28, + -20, + -59 + ], + [ + 374, + 239, + 36, + 28, + -20, + -59 + ], + [ + 411, + 239, + 36, + 28, + -20, + -59 + ], + [ + 448, + 239, + 36, + 28, + -20, + -59 + ], + [ + 485, + 239, + 36, + 28, + -20, + -59 + ], + [ + 522, + 239, + 36, + 28, + -20, + -59 + ], + [ + 559, + 239, + 36, + 28, + -20, + -59 + ] + ], + [ + [ + 596, + 239, + 52, + 21, + -29, + -56 + ], + [ + 649, + 239, + 52, + 21, + -29, + -56 + ], + [ + 702, + 239, + 52, + 21, + -29, + -56 + ], + [ + 755, + 239, + 52, + 21, + -29, + -56 + ], + [ + 808, + 239, + 52, + 21, + -29, + -56 + ], + [ + 861, + 239, + 52, + 21, + -29, + -56 + ], + [ + 914, + 239, + 52, + 21, + -29, + -56 + ], + [ + 967, + 239, + 52, + 21, + -29, + -56 + ] + ], + [ + [ + 0, + 271, + 59, + 16, + -33, + -54 + ], + [ + 60, + 271, + 59, + 16, + -33, + -54 + ], + [ + 120, + 271, + 59, + 16, + -33, + -54 + ], + [ + 180, + 271, + 59, + 16, + -33, + -54 + ], + [ + 240, + 271, + 59, + 16, + -33, + -54 + ], + [ + 300, + 271, + 59, + 16, + -33, + -54 + ], + [ + 360, + 271, + 59, + 16, + -33, + -54 + ], + [ + 420, + 271, + 59, + 16, + -33, + -54 + ] + ], + [ + [ + 480, + 271, + 59, + 16, + -33, + -55 + ], + [ + 540, + 271, + 59, + 16, + -33, + -55 + ], + [ + 600, + 271, + 59, + 16, + -33, + -55 + ], + [ + 660, + 271, + 59, + 16, + -33, + -55 + ], + [ + 720, + 271, + 59, + 16, + -33, + -55 + ], + [ + 780, + 271, + 59, + 16, + -33, + -55 + ], + [ + 840, + 271, + 59, + 16, + -33, + -55 + ], + [ + 900, + 271, + 59, + 16, + -33, + -55 + ] + ], + [ + [ + 960, + 271, + 52, + 21, + -29, + -58 + ], + [ + 0, + 293, + 52, + 21, + -29, + -58 + ], + [ + 53, + 293, + 52, + 21, + -29, + -58 + ], + [ + 106, + 293, + 52, + 21, + -29, + -58 + ], + [ + 159, + 293, + 52, + 21, + -29, + -58 + ], + [ + 212, + 293, + 52, + 21, + -29, + -58 + ], + [ + 265, + 293, + 52, + 21, + -29, + -58 + ], + [ + 318, + 293, + 52, + 21, + -29, + -58 + ] + ], + [ + [ + 371, + 293, + 36, + 28, + -20, + -62 + ], + [ + 408, + 293, + 36, + 28, + -20, + -62 + ], + [ + 445, + 293, + 36, + 28, + -20, + -62 + ], + [ + 482, + 293, + 36, + 28, + -20, + -62 + ], + [ + 519, + 293, + 36, + 28, + -20, + -62 + ], + [ + 556, + 293, + 36, + 28, + -20, + -62 + ], + [ + 593, + 293, + 36, + 28, + -20, + -62 + ], + [ + 630, + 293, + 36, + 28, + -20, + -62 + ] + ], + [ + [ + 667, + 293, + 19, + 31, + -10, + -64 + ], + [ + 687, + 293, + 19, + 31, + -10, + -64 + ], + [ + 707, + 293, + 19, + 31, + -10, + -64 + ], + [ + 727, + 293, + 19, + 31, + -10, + -64 + ], + [ + 747, + 293, + 19, + 31, + -10, + -64 + ], + [ + 767, + 293, + 19, + 31, + -10, + -64 + ], + [ + 787, + 293, + 19, + 31, + -10, + -64 + ], + [ + 807, + 293, + 19, + 31, + -10, + -64 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/freezingarrow.png b/public/missiles/freezingarrow.png new file mode 100644 index 0000000..e352559 Binary files /dev/null and b/public/missiles/freezingarrow.png differ diff --git a/public/missiles/furylightning.json b/public/missiles/furylightning.json new file mode 100644 index 0000000..94a46d5 --- /dev/null +++ b/public/missiles/furylightning.json @@ -0,0 +1,2123 @@ +{ + "name": "furylightning", + "celFile": "LightningStrike", + "width": 2048, + "height": 1412, + "directions": 32, + "framesPerDirection": 8, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 112, + 79, + -66, + -58 + ], + [ + 113, + 0, + 112, + 79, + -66, + -58 + ], + [ + 226, + 0, + 112, + 79, + -66, + -58 + ], + [ + 339, + 0, + 112, + 79, + -66, + -58 + ], + [ + 452, + 0, + 112, + 79, + -66, + -58 + ], + [ + 565, + 0, + 112, + 79, + -66, + -58 + ], + [ + 678, + 0, + 112, + 79, + -66, + -58 + ], + [ + 791, + 0, + 112, + 79, + -66, + -58 + ] + ], + [ + [ + 904, + 0, + 105, + 96, + -59, + -67 + ], + [ + 1010, + 0, + 105, + 96, + -59, + -67 + ], + [ + 1116, + 0, + 105, + 96, + -59, + -67 + ], + [ + 1222, + 0, + 105, + 96, + -59, + -67 + ], + [ + 1328, + 0, + 105, + 96, + -59, + -67 + ], + [ + 1434, + 0, + 105, + 96, + -59, + -67 + ], + [ + 1540, + 0, + 105, + 96, + -59, + -67 + ], + [ + 1646, + 0, + 105, + 96, + -59, + -67 + ] + ], + [ + [ + 1752, + 0, + 111, + 93, + -46, + -64 + ], + [ + 1864, + 0, + 111, + 93, + -46, + -64 + ], + [ + 0, + 97, + 111, + 93, + -46, + -64 + ], + [ + 112, + 97, + 111, + 93, + -46, + -64 + ], + [ + 224, + 97, + 111, + 93, + -46, + -64 + ], + [ + 336, + 97, + 111, + 93, + -46, + -64 + ], + [ + 448, + 97, + 111, + 93, + -46, + -64 + ], + [ + 560, + 97, + 111, + 93, + -46, + -64 + ] + ], + [ + [ + 672, + 97, + 105, + 82, + -46, + -57 + ], + [ + 778, + 97, + 105, + 82, + -46, + -57 + ], + [ + 884, + 97, + 105, + 82, + -46, + -57 + ], + [ + 990, + 97, + 105, + 82, + -46, + -57 + ], + [ + 1096, + 97, + 105, + 82, + -46, + -57 + ], + [ + 1202, + 97, + 105, + 82, + -46, + -57 + ], + [ + 1308, + 97, + 105, + 82, + -46, + -57 + ], + [ + 1414, + 97, + 105, + 82, + -46, + -57 + ] + ], + [ + [ + 1520, + 97, + 98, + 88, + -43, + -63 + ], + [ + 1619, + 97, + 98, + 88, + -43, + -63 + ], + [ + 1718, + 97, + 98, + 88, + -43, + -63 + ], + [ + 1817, + 97, + 98, + 88, + -43, + -63 + ], + [ + 1916, + 97, + 98, + 88, + -43, + -63 + ], + [ + 0, + 191, + 98, + 88, + -43, + -63 + ], + [ + 99, + 191, + 98, + 88, + -43, + -63 + ], + [ + 198, + 191, + 98, + 88, + -43, + -63 + ] + ], + [ + [ + 297, + 191, + 130, + 67, + -72, + -52 + ], + [ + 428, + 191, + 130, + 67, + -72, + -52 + ], + [ + 559, + 191, + 130, + 67, + -72, + -52 + ], + [ + 690, + 191, + 130, + 67, + -72, + -52 + ], + [ + 821, + 191, + 130, + 67, + -72, + -52 + ], + [ + 952, + 191, + 130, + 67, + -72, + -52 + ], + [ + 1083, + 191, + 130, + 67, + -72, + -52 + ], + [ + 1214, + 191, + 130, + 67, + -72, + -52 + ] + ], + [ + [ + 1345, + 191, + 97, + 106, + -55, + -71 + ], + [ + 1443, + 191, + 97, + 106, + -55, + -71 + ], + [ + 1541, + 191, + 97, + 106, + -55, + -71 + ], + [ + 1639, + 191, + 97, + 106, + -55, + -71 + ], + [ + 1737, + 191, + 97, + 106, + -55, + -71 + ], + [ + 1835, + 191, + 97, + 106, + -55, + -71 + ], + [ + 1933, + 191, + 97, + 106, + -55, + -71 + ], + [ + 0, + 298, + 97, + 106, + -55, + -71 + ] + ], + [ + [ + 98, + 298, + 130, + 79, + -58, + -60 + ], + [ + 229, + 298, + 130, + 79, + -58, + -60 + ], + [ + 360, + 298, + 130, + 79, + -58, + -60 + ], + [ + 491, + 298, + 130, + 79, + -58, + -60 + ], + [ + 622, + 298, + 130, + 79, + -58, + -60 + ], + [ + 753, + 298, + 130, + 79, + -58, + -60 + ], + [ + 884, + 298, + 130, + 79, + -58, + -60 + ], + [ + 1015, + 298, + 130, + 79, + -58, + -60 + ] + ], + [ + [ + 1146, + 298, + 101, + 86, + -52, + -62 + ], + [ + 1248, + 298, + 101, + 86, + -52, + -62 + ], + [ + 1350, + 298, + 101, + 86, + -52, + -62 + ], + [ + 1452, + 298, + 101, + 86, + -52, + -62 + ], + [ + 1554, + 298, + 101, + 86, + -52, + -62 + ], + [ + 1656, + 298, + 101, + 86, + -52, + -62 + ], + [ + 1758, + 298, + 101, + 86, + -52, + -62 + ], + [ + 1860, + 298, + 101, + 86, + -52, + -62 + ] + ], + [ + [ + 0, + 405, + 128, + 67, + -73, + -52 + ], + [ + 129, + 405, + 128, + 67, + -73, + -52 + ], + [ + 258, + 405, + 128, + 67, + -73, + -52 + ], + [ + 387, + 405, + 128, + 67, + -73, + -52 + ], + [ + 516, + 405, + 128, + 67, + -73, + -52 + ], + [ + 645, + 405, + 128, + 67, + -73, + -52 + ], + [ + 774, + 405, + 128, + 67, + -73, + -52 + ], + [ + 903, + 405, + 128, + 67, + -73, + -52 + ] + ], + [ + [ + 1032, + 405, + 121, + 82, + -66, + -60 + ], + [ + 1154, + 405, + 121, + 82, + -66, + -60 + ], + [ + 1276, + 405, + 121, + 82, + -66, + -60 + ], + [ + 1398, + 405, + 121, + 82, + -66, + -60 + ], + [ + 1520, + 405, + 121, + 82, + -66, + -60 + ], + [ + 1642, + 405, + 121, + 82, + -66, + -60 + ], + [ + 1764, + 405, + 121, + 82, + -66, + -60 + ], + [ + 1886, + 405, + 121, + 82, + -66, + -60 + ] + ], + [ + [ + 0, + 488, + 90, + 104, + -55, + -71 + ], + [ + 91, + 488, + 90, + 104, + -55, + -71 + ], + [ + 182, + 488, + 90, + 104, + -55, + -71 + ], + [ + 273, + 488, + 90, + 104, + -55, + -71 + ], + [ + 364, + 488, + 90, + 104, + -55, + -71 + ], + [ + 455, + 488, + 90, + 104, + -55, + -71 + ], + [ + 546, + 488, + 90, + 104, + -55, + -71 + ], + [ + 637, + 488, + 90, + 104, + -55, + -71 + ] + ], + [ + [ + 728, + 488, + 101, + 103, + -49, + -69 + ], + [ + 830, + 488, + 101, + 103, + -49, + -69 + ], + [ + 932, + 488, + 101, + 103, + -49, + -69 + ], + [ + 1034, + 488, + 101, + 103, + -49, + -69 + ], + [ + 1136, + 488, + 101, + 103, + -49, + -69 + ], + [ + 1238, + 488, + 101, + 103, + -49, + -69 + ], + [ + 1340, + 488, + 101, + 103, + -49, + -69 + ], + [ + 1442, + 488, + 101, + 103, + -49, + -69 + ] + ], + [ + [ + 1544, + 488, + 128, + 83, + -55, + -60 + ], + [ + 1673, + 488, + 128, + 83, + -55, + -60 + ], + [ + 1802, + 488, + 128, + 83, + -55, + -60 + ], + [ + 0, + 593, + 128, + 83, + -55, + -60 + ], + [ + 129, + 593, + 128, + 83, + -55, + -60 + ], + [ + 258, + 593, + 128, + 83, + -55, + -60 + ], + [ + 387, + 593, + 128, + 83, + -55, + -60 + ], + [ + 516, + 593, + 128, + 83, + -55, + -60 + ] + ], + [ + [ + 645, + 593, + 121, + 82, + -55, + -59 + ], + [ + 767, + 593, + 121, + 82, + -55, + -59 + ], + [ + 889, + 593, + 121, + 82, + -55, + -59 + ], + [ + 1011, + 593, + 121, + 82, + -55, + -59 + ], + [ + 1133, + 593, + 121, + 82, + -55, + -59 + ], + [ + 1255, + 593, + 121, + 82, + -55, + -59 + ], + [ + 1377, + 593, + 121, + 82, + -55, + -59 + ], + [ + 1499, + 593, + 121, + 82, + -55, + -59 + ] + ], + [ + [ + 1621, + 593, + 90, + 85, + -35, + -62 + ], + [ + 1712, + 593, + 90, + 85, + -35, + -62 + ], + [ + 1803, + 593, + 90, + 85, + -35, + -62 + ], + [ + 1894, + 593, + 90, + 85, + -35, + -62 + ], + [ + 0, + 679, + 90, + 85, + -35, + -62 + ], + [ + 91, + 679, + 90, + 85, + -35, + -62 + ], + [ + 182, + 679, + 90, + 85, + -35, + -62 + ], + [ + 273, + 679, + 90, + 85, + -35, + -62 + ] + ], + [ + [ + 364, + 679, + 100, + 88, + -48, + -63 + ], + [ + 465, + 679, + 100, + 88, + -48, + -63 + ], + [ + 566, + 679, + 100, + 88, + -48, + -63 + ], + [ + 667, + 679, + 100, + 88, + -48, + -63 + ], + [ + 768, + 679, + 100, + 88, + -48, + -63 + ], + [ + 869, + 679, + 100, + 88, + -48, + -63 + ], + [ + 970, + 679, + 100, + 88, + -48, + -63 + ], + [ + 1071, + 679, + 100, + 88, + -48, + -63 + ] + ], + [ + [ + 1172, + 679, + 103, + 83, + -58, + -60 + ], + [ + 1276, + 679, + 103, + 83, + -58, + -60 + ], + [ + 1380, + 679, + 103, + 83, + -58, + -60 + ], + [ + 1484, + 679, + 103, + 83, + -58, + -60 + ], + [ + 1588, + 679, + 103, + 83, + -58, + -60 + ], + [ + 1692, + 679, + 103, + 83, + -58, + -60 + ], + [ + 1796, + 679, + 103, + 83, + -58, + -60 + ], + [ + 1900, + 679, + 103, + 83, + -58, + -60 + ] + ], + [ + [ + 0, + 768, + 122, + 73, + -71, + -55 + ], + [ + 123, + 768, + 122, + 73, + -71, + -55 + ], + [ + 246, + 768, + 122, + 73, + -71, + -55 + ], + [ + 369, + 768, + 122, + 73, + -71, + -55 + ], + [ + 492, + 768, + 122, + 73, + -71, + -55 + ], + [ + 615, + 768, + 122, + 73, + -71, + -55 + ], + [ + 738, + 768, + 122, + 73, + -71, + -55 + ], + [ + 861, + 768, + 122, + 73, + -71, + -55 + ] + ], + [ + [ + 984, + 768, + 132, + 59, + -74, + -48 + ], + [ + 1117, + 768, + 132, + 59, + -74, + -48 + ], + [ + 1250, + 768, + 132, + 59, + -74, + -48 + ], + [ + 1383, + 768, + 132, + 59, + -74, + -48 + ], + [ + 1516, + 768, + 132, + 59, + -74, + -48 + ], + [ + 1649, + 768, + 132, + 59, + -74, + -48 + ], + [ + 1782, + 768, + 132, + 59, + -74, + -48 + ], + [ + 1915, + 768, + 132, + 59, + -74, + -48 + ] + ], + [ + [ + 0, + 842, + 126, + 75, + -68, + -56 + ], + [ + 127, + 842, + 126, + 75, + -68, + -56 + ], + [ + 254, + 842, + 126, + 75, + -68, + -56 + ], + [ + 381, + 842, + 126, + 75, + -68, + -56 + ], + [ + 508, + 842, + 126, + 75, + -68, + -56 + ], + [ + 635, + 842, + 126, + 75, + -68, + -56 + ], + [ + 762, + 842, + 126, + 75, + -68, + -56 + ], + [ + 889, + 842, + 126, + 75, + -68, + -56 + ] + ], + [ + [ + 1016, + 842, + 114, + 90, + -63, + -64 + ], + [ + 1131, + 842, + 114, + 90, + -63, + -64 + ], + [ + 1246, + 842, + 114, + 90, + -63, + -64 + ], + [ + 1361, + 842, + 114, + 90, + -63, + -64 + ], + [ + 1476, + 842, + 114, + 90, + -63, + -64 + ], + [ + 1591, + 842, + 114, + 90, + -63, + -64 + ], + [ + 1706, + 842, + 114, + 90, + -63, + -64 + ], + [ + 1821, + 842, + 114, + 90, + -63, + -64 + ] + ], + [ + [ + 1936, + 842, + 94, + 101, + -53, + -70 + ], + [ + 0, + 944, + 94, + 101, + -53, + -70 + ], + [ + 95, + 944, + 94, + 101, + -53, + -70 + ], + [ + 190, + 944, + 94, + 101, + -53, + -70 + ], + [ + 285, + 944, + 94, + 101, + -53, + -70 + ], + [ + 380, + 944, + 94, + 101, + -53, + -70 + ], + [ + 475, + 944, + 94, + 101, + -53, + -70 + ], + [ + 570, + 944, + 94, + 101, + -53, + -70 + ] + ], + [ + [ + 665, + 944, + 92, + 106, + -56, + -71 + ], + [ + 758, + 944, + 92, + 106, + -56, + -71 + ], + [ + 851, + 944, + 92, + 106, + -56, + -71 + ], + [ + 944, + 944, + 92, + 106, + -56, + -71 + ], + [ + 1037, + 944, + 92, + 106, + -56, + -71 + ], + [ + 1130, + 944, + 92, + 106, + -56, + -71 + ], + [ + 1223, + 944, + 92, + 106, + -56, + -71 + ], + [ + 1316, + 944, + 92, + 106, + -56, + -71 + ] + ], + [ + [ + 1409, + 944, + 100, + 105, + -52, + -70 + ], + [ + 1510, + 944, + 100, + 105, + -52, + -70 + ], + [ + 1611, + 944, + 100, + 105, + -52, + -70 + ], + [ + 1712, + 944, + 100, + 105, + -52, + -70 + ], + [ + 1813, + 944, + 100, + 105, + -52, + -70 + ], + [ + 1914, + 944, + 100, + 105, + -52, + -70 + ], + [ + 0, + 1051, + 100, + 105, + -52, + -70 + ], + [ + 101, + 1051, + 100, + 105, + -52, + -70 + ] + ], + [ + [ + 202, + 1051, + 104, + 99, + -45, + -67 + ], + [ + 307, + 1051, + 104, + 99, + -45, + -67 + ], + [ + 412, + 1051, + 104, + 99, + -45, + -67 + ], + [ + 517, + 1051, + 104, + 99, + -45, + -67 + ], + [ + 622, + 1051, + 104, + 99, + -45, + -67 + ], + [ + 727, + 1051, + 104, + 99, + -45, + -67 + ], + [ + 832, + 1051, + 104, + 99, + -45, + -67 + ], + [ + 937, + 1051, + 104, + 99, + -45, + -67 + ] + ], + [ + [ + 1042, + 1051, + 121, + 87, + -51, + -61 + ], + [ + 1164, + 1051, + 121, + 87, + -51, + -61 + ], + [ + 1286, + 1051, + 121, + 87, + -51, + -61 + ], + [ + 1408, + 1051, + 121, + 87, + -51, + -61 + ], + [ + 1530, + 1051, + 121, + 87, + -51, + -61 + ], + [ + 1652, + 1051, + 121, + 87, + -51, + -61 + ], + [ + 1774, + 1051, + 121, + 87, + -51, + -61 + ], + [ + 1896, + 1051, + 121, + 87, + -51, + -61 + ] + ], + [ + [ + 0, + 1157, + 131, + 80, + -57, + -61 + ], + [ + 132, + 1157, + 131, + 80, + -57, + -61 + ], + [ + 264, + 1157, + 131, + 80, + -57, + -61 + ], + [ + 396, + 1157, + 131, + 80, + -57, + -61 + ], + [ + 528, + 1157, + 131, + 80, + -57, + -61 + ], + [ + 660, + 1157, + 131, + 80, + -57, + -61 + ], + [ + 792, + 1157, + 131, + 80, + -57, + -61 + ], + [ + 924, + 1157, + 131, + 80, + -57, + -61 + ] + ], + [ + [ + 1056, + 1157, + 126, + 81, + -58, + -60 + ], + [ + 1183, + 1157, + 126, + 81, + -58, + -60 + ], + [ + 1310, + 1157, + 126, + 81, + -58, + -60 + ], + [ + 1437, + 1157, + 126, + 81, + -58, + -60 + ], + [ + 1564, + 1157, + 126, + 81, + -58, + -60 + ], + [ + 1691, + 1157, + 126, + 81, + -58, + -60 + ], + [ + 1818, + 1157, + 126, + 81, + -58, + -60 + ], + [ + 0, + 1239, + 126, + 81, + -58, + -60 + ] + ], + [ + [ + 127, + 1239, + 114, + 81, + -51, + -57 + ], + [ + 242, + 1239, + 114, + 81, + -51, + -57 + ], + [ + 357, + 1239, + 114, + 81, + -51, + -57 + ], + [ + 472, + 1239, + 114, + 81, + -51, + -57 + ], + [ + 587, + 1239, + 114, + 81, + -51, + -57 + ], + [ + 702, + 1239, + 114, + 81, + -51, + -57 + ], + [ + 817, + 1239, + 114, + 81, + -51, + -57 + ], + [ + 932, + 1239, + 114, + 81, + -51, + -57 + ] + ], + [ + [ + 1047, + 1239, + 94, + 85, + -41, + -60 + ], + [ + 1142, + 1239, + 94, + 85, + -41, + -60 + ], + [ + 1237, + 1239, + 94, + 85, + -41, + -60 + ], + [ + 1332, + 1239, + 94, + 85, + -41, + -60 + ], + [ + 1427, + 1239, + 94, + 85, + -41, + -60 + ], + [ + 1522, + 1239, + 94, + 85, + -41, + -60 + ], + [ + 1617, + 1239, + 94, + 85, + -41, + -60 + ], + [ + 1712, + 1239, + 94, + 85, + -41, + -60 + ] + ], + [ + [ + 1807, + 1239, + 93, + 86, + -37, + -63 + ], + [ + 1901, + 1239, + 93, + 86, + -37, + -63 + ], + [ + 0, + 1326, + 93, + 86, + -37, + -63 + ], + [ + 94, + 1326, + 93, + 86, + -37, + -63 + ], + [ + 188, + 1326, + 93, + 86, + -37, + -63 + ], + [ + 282, + 1326, + 93, + 86, + -37, + -63 + ], + [ + 376, + 1326, + 93, + 86, + -37, + -63 + ], + [ + 470, + 1326, + 93, + 86, + -37, + -63 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/furylightning.png b/public/missiles/furylightning.png new file mode 100644 index 0000000..2d2a436 Binary files /dev/null and b/public/missiles/furylightning.png differ diff --git a/public/missiles/guidedarrow.json b/public/missiles/guidedarrow.json new file mode 100644 index 0000000..fc057a8 --- /dev/null +++ b/public/missiles/guidedarrow.json @@ -0,0 +1,2123 @@ +{ + "name": "guidedarrow", + "celFile": "SafeArrow", + "width": 1024, + "height": 287, + "directions": 32, + "framesPerDirection": 8, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 41, + 24, + -18, + -60 + ], + [ + 42, + 0, + 41, + 24, + -18, + -60 + ], + [ + 84, + 0, + 41, + 24, + -18, + -60 + ], + [ + 126, + 0, + 41, + 24, + -18, + -60 + ], + [ + 168, + 0, + 41, + 24, + -18, + -60 + ], + [ + 210, + 0, + 41, + 24, + -18, + -60 + ], + [ + 252, + 0, + 41, + 24, + -18, + -60 + ], + [ + 294, + 0, + 41, + 24, + -18, + -60 + ] + ], + [ + [ + 336, + 0, + 40, + 25, + -18, + -58 + ], + [ + 377, + 0, + 40, + 25, + -18, + -58 + ], + [ + 418, + 0, + 40, + 25, + -18, + -58 + ], + [ + 459, + 0, + 40, + 25, + -18, + -58 + ], + [ + 500, + 0, + 40, + 25, + -18, + -58 + ], + [ + 541, + 0, + 40, + 25, + -18, + -58 + ], + [ + 582, + 0, + 40, + 25, + -18, + -58 + ], + [ + 623, + 0, + 40, + 25, + -18, + -58 + ] + ], + [ + [ + 664, + 0, + 40, + 25, + -22, + -58 + ], + [ + 705, + 0, + 40, + 25, + -22, + -58 + ], + [ + 746, + 0, + 40, + 25, + -22, + -58 + ], + [ + 787, + 0, + 40, + 25, + -22, + -58 + ], + [ + 828, + 0, + 40, + 25, + -22, + -58 + ], + [ + 869, + 0, + 40, + 25, + -22, + -58 + ], + [ + 910, + 0, + 40, + 25, + -22, + -58 + ], + [ + 951, + 0, + 40, + 25, + -22, + -58 + ] + ], + [ + [ + 0, + 26, + 41, + 24, + -23, + -60 + ], + [ + 42, + 26, + 41, + 24, + -23, + -60 + ], + [ + 84, + 26, + 41, + 24, + -23, + -60 + ], + [ + 126, + 26, + 41, + 24, + -23, + -60 + ], + [ + 168, + 26, + 41, + 24, + -23, + -60 + ], + [ + 210, + 26, + 41, + 24, + -23, + -60 + ], + [ + 252, + 26, + 41, + 24, + -23, + -60 + ], + [ + 294, + 26, + 41, + 24, + -23, + -60 + ] + ], + [ + [ + 336, + 26, + 18, + 31, + -9, + -64 + ], + [ + 355, + 26, + 18, + 31, + -9, + -64 + ], + [ + 374, + 26, + 18, + 31, + -9, + -64 + ], + [ + 393, + 26, + 18, + 31, + -9, + -64 + ], + [ + 412, + 26, + 18, + 31, + -9, + -64 + ], + [ + 431, + 26, + 18, + 31, + -9, + -64 + ], + [ + 450, + 26, + 18, + 31, + -9, + -64 + ], + [ + 469, + 26, + 18, + 31, + -9, + -64 + ] + ], + [ + [ + 488, + 26, + 53, + 17, + -23, + -55 + ], + [ + 542, + 26, + 53, + 17, + -23, + -55 + ], + [ + 596, + 26, + 53, + 17, + -23, + -55 + ], + [ + 650, + 26, + 53, + 17, + -23, + -55 + ], + [ + 704, + 26, + 53, + 17, + -23, + -55 + ], + [ + 758, + 26, + 53, + 17, + -23, + -55 + ], + [ + 812, + 26, + 53, + 17, + -23, + -55 + ], + [ + 866, + 26, + 53, + 17, + -23, + -55 + ] + ], + [ + [ + 920, + 26, + 18, + 30, + -9, + -60 + ], + [ + 939, + 26, + 18, + 30, + -9, + -60 + ], + [ + 958, + 26, + 18, + 30, + -9, + -60 + ], + [ + 977, + 26, + 18, + 30, + -9, + -60 + ], + [ + 996, + 26, + 18, + 30, + -9, + -60 + ], + [ + 0, + 58, + 18, + 30, + -9, + -60 + ], + [ + 19, + 58, + 18, + 30, + -9, + -60 + ], + [ + 38, + 58, + 18, + 30, + -9, + -60 + ] + ], + [ + [ + 57, + 58, + 51, + 17, + -29, + -55 + ], + [ + 109, + 58, + 51, + 17, + -29, + -55 + ], + [ + 161, + 58, + 51, + 17, + -29, + -55 + ], + [ + 213, + 58, + 51, + 17, + -29, + -55 + ], + [ + 265, + 58, + 51, + 17, + -29, + -55 + ], + [ + 317, + 58, + 51, + 17, + -29, + -55 + ], + [ + 369, + 58, + 51, + 17, + -29, + -55 + ], + [ + 421, + 58, + 51, + 17, + -29, + -55 + ] + ], + [ + [ + 473, + 58, + 26, + 28, + -12, + -62 + ], + [ + 500, + 58, + 26, + 28, + -12, + -62 + ], + [ + 527, + 58, + 26, + 28, + -12, + -62 + ], + [ + 554, + 58, + 26, + 28, + -12, + -62 + ], + [ + 581, + 58, + 26, + 28, + -12, + -62 + ], + [ + 608, + 58, + 26, + 28, + -12, + -62 + ], + [ + 635, + 58, + 26, + 28, + -12, + -62 + ], + [ + 662, + 58, + 26, + 28, + -12, + -62 + ] + ], + [ + [ + 689, + 58, + 50, + 19, + -22, + -57 + ], + [ + 740, + 58, + 50, + 19, + -22, + -57 + ], + [ + 791, + 58, + 50, + 19, + -22, + -57 + ], + [ + 842, + 58, + 50, + 19, + -22, + -57 + ], + [ + 893, + 58, + 50, + 19, + -22, + -57 + ], + [ + 944, + 58, + 50, + 19, + -22, + -57 + ], + [ + 0, + 89, + 50, + 19, + -22, + -57 + ], + [ + 51, + 89, + 50, + 19, + -22, + -57 + ] + ], + [ + [ + 102, + 89, + 48, + 20, + -21, + -56 + ], + [ + 151, + 89, + 48, + 20, + -21, + -56 + ], + [ + 200, + 89, + 48, + 20, + -21, + -56 + ], + [ + 249, + 89, + 48, + 20, + -21, + -56 + ], + [ + 298, + 89, + 48, + 20, + -21, + -56 + ], + [ + 347, + 89, + 48, + 20, + -21, + -56 + ], + [ + 396, + 89, + 48, + 20, + -21, + -56 + ], + [ + 445, + 89, + 48, + 20, + -21, + -56 + ] + ], + [ + [ + 494, + 89, + 27, + 28, + -12, + -59 + ], + [ + 522, + 89, + 27, + 28, + -12, + -59 + ], + [ + 550, + 89, + 27, + 28, + -12, + -59 + ], + [ + 578, + 89, + 27, + 28, + -12, + -59 + ], + [ + 606, + 89, + 27, + 28, + -12, + -59 + ], + [ + 634, + 89, + 27, + 28, + -12, + -59 + ], + [ + 662, + 89, + 27, + 28, + -12, + -59 + ], + [ + 690, + 89, + 27, + 28, + -12, + -59 + ] + ], + [ + [ + 718, + 89, + 27, + 28, + -15, + -59 + ], + [ + 746, + 89, + 27, + 28, + -15, + -59 + ], + [ + 774, + 89, + 27, + 28, + -15, + -59 + ], + [ + 802, + 89, + 27, + 28, + -15, + -59 + ], + [ + 830, + 89, + 27, + 28, + -15, + -59 + ], + [ + 858, + 89, + 27, + 28, + -15, + -59 + ], + [ + 886, + 89, + 27, + 28, + -15, + -59 + ], + [ + 914, + 89, + 27, + 28, + -15, + -59 + ] + ], + [ + [ + 942, + 89, + 50, + 20, + -28, + -56 + ], + [ + 0, + 118, + 50, + 20, + -28, + -56 + ], + [ + 51, + 118, + 50, + 20, + -28, + -56 + ], + [ + 102, + 118, + 50, + 20, + -28, + -56 + ], + [ + 153, + 118, + 50, + 20, + -28, + -56 + ], + [ + 204, + 118, + 50, + 20, + -28, + -56 + ], + [ + 255, + 118, + 50, + 20, + -28, + -56 + ], + [ + 306, + 118, + 50, + 20, + -28, + -56 + ] + ], + [ + [ + 357, + 118, + 50, + 19, + -28, + -57 + ], + [ + 408, + 118, + 50, + 19, + -28, + -57 + ], + [ + 459, + 118, + 50, + 19, + -28, + -57 + ], + [ + 510, + 118, + 50, + 19, + -28, + -57 + ], + [ + 561, + 118, + 50, + 19, + -28, + -57 + ], + [ + 612, + 118, + 50, + 19, + -28, + -57 + ], + [ + 663, + 118, + 50, + 19, + -28, + -57 + ], + [ + 714, + 118, + 50, + 19, + -28, + -57 + ] + ], + [ + [ + 765, + 118, + 27, + 28, + -15, + -62 + ], + [ + 793, + 118, + 27, + 28, + -15, + -62 + ], + [ + 821, + 118, + 27, + 28, + -15, + -62 + ], + [ + 849, + 118, + 27, + 28, + -15, + -62 + ], + [ + 877, + 118, + 27, + 28, + -15, + -62 + ], + [ + 905, + 118, + 27, + 28, + -15, + -62 + ], + [ + 933, + 118, + 27, + 28, + -15, + -62 + ], + [ + 961, + 118, + 27, + 28, + -15, + -62 + ] + ], + [ + [ + 989, + 118, + 20, + 30, + -9, + -63 + ], + [ + 0, + 149, + 20, + 30, + -9, + -63 + ], + [ + 21, + 149, + 20, + 30, + -9, + -63 + ], + [ + 42, + 149, + 20, + 30, + -9, + -63 + ], + [ + 63, + 149, + 20, + 30, + -9, + -63 + ], + [ + 84, + 149, + 20, + 30, + -9, + -63 + ], + [ + 105, + 149, + 20, + 30, + -9, + -63 + ], + [ + 126, + 149, + 20, + 30, + -9, + -63 + ] + ], + [ + [ + 147, + 149, + 33, + 26, + -15, + -61 + ], + [ + 181, + 149, + 33, + 26, + -15, + -61 + ], + [ + 215, + 149, + 33, + 26, + -15, + -61 + ], + [ + 249, + 149, + 33, + 26, + -15, + -61 + ], + [ + 283, + 149, + 33, + 26, + -15, + -61 + ], + [ + 317, + 149, + 33, + 26, + -15, + -61 + ], + [ + 351, + 149, + 33, + 26, + -15, + -61 + ], + [ + 385, + 149, + 33, + 26, + -15, + -61 + ] + ], + [ + [ + 419, + 149, + 45, + 22, + -20, + -59 + ], + [ + 465, + 149, + 45, + 22, + -20, + -59 + ], + [ + 511, + 149, + 45, + 22, + -20, + -59 + ], + [ + 557, + 149, + 45, + 22, + -20, + -59 + ], + [ + 603, + 149, + 45, + 22, + -20, + -59 + ], + [ + 649, + 149, + 45, + 22, + -20, + -59 + ], + [ + 695, + 149, + 45, + 22, + -20, + -59 + ], + [ + 741, + 149, + 45, + 22, + -20, + -59 + ] + ], + [ + [ + 787, + 149, + 51, + 18, + -22, + -56 + ], + [ + 839, + 149, + 51, + 18, + -22, + -56 + ], + [ + 891, + 149, + 51, + 18, + -22, + -56 + ], + [ + 943, + 149, + 51, + 18, + -22, + -56 + ], + [ + 0, + 180, + 51, + 18, + -22, + -56 + ], + [ + 52, + 180, + 51, + 18, + -22, + -56 + ], + [ + 104, + 180, + 51, + 18, + -22, + -56 + ], + [ + 156, + 180, + 51, + 18, + -22, + -56 + ] + ], + [ + [ + 208, + 180, + 52, + 17, + -23, + -55 + ], + [ + 261, + 180, + 52, + 17, + -23, + -55 + ], + [ + 314, + 180, + 52, + 17, + -23, + -55 + ], + [ + 367, + 180, + 52, + 17, + -23, + -55 + ], + [ + 420, + 180, + 52, + 17, + -23, + -55 + ], + [ + 473, + 180, + 52, + 17, + -23, + -55 + ], + [ + 526, + 180, + 52, + 17, + -23, + -55 + ], + [ + 579, + 180, + 52, + 17, + -23, + -55 + ] + ], + [ + [ + 632, + 180, + 45, + 22, + -20, + -57 + ], + [ + 678, + 180, + 45, + 22, + -20, + -57 + ], + [ + 724, + 180, + 45, + 22, + -20, + -57 + ], + [ + 770, + 180, + 45, + 22, + -20, + -57 + ], + [ + 816, + 180, + 45, + 22, + -20, + -57 + ], + [ + 862, + 180, + 45, + 22, + -20, + -57 + ], + [ + 908, + 180, + 45, + 22, + -20, + -57 + ], + [ + 954, + 180, + 45, + 22, + -20, + -57 + ] + ], + [ + [ + 0, + 203, + 33, + 27, + -15, + -59 + ], + [ + 34, + 203, + 33, + 27, + -15, + -59 + ], + [ + 68, + 203, + 33, + 27, + -15, + -59 + ], + [ + 102, + 203, + 33, + 27, + -15, + -59 + ], + [ + 136, + 203, + 33, + 27, + -15, + -59 + ], + [ + 170, + 203, + 33, + 27, + -15, + -59 + ], + [ + 204, + 203, + 33, + 27, + -15, + -59 + ], + [ + 238, + 203, + 33, + 27, + -15, + -59 + ] + ], + [ + [ + 272, + 203, + 20, + 29, + -9, + -60 + ], + [ + 293, + 203, + 20, + 29, + -9, + -60 + ], + [ + 314, + 203, + 20, + 29, + -9, + -60 + ], + [ + 335, + 203, + 20, + 29, + -9, + -60 + ], + [ + 356, + 203, + 20, + 29, + -9, + -60 + ], + [ + 377, + 203, + 20, + 29, + -9, + -60 + ], + [ + 398, + 203, + 20, + 29, + -9, + -60 + ], + [ + 419, + 203, + 20, + 29, + -9, + -60 + ] + ], + [ + [ + 440, + 203, + 20, + 30, + -11, + -60 + ], + [ + 461, + 203, + 20, + 30, + -11, + -60 + ], + [ + 482, + 203, + 20, + 30, + -11, + -60 + ], + [ + 503, + 203, + 20, + 30, + -11, + -60 + ], + [ + 524, + 203, + 20, + 30, + -11, + -60 + ], + [ + 545, + 203, + 20, + 30, + -11, + -60 + ], + [ + 566, + 203, + 20, + 30, + -11, + -60 + ], + [ + 587, + 203, + 20, + 30, + -11, + -60 + ] + ], + [ + [ + 608, + 203, + 34, + 27, + -19, + -59 + ], + [ + 643, + 203, + 34, + 27, + -19, + -59 + ], + [ + 678, + 203, + 34, + 27, + -19, + -59 + ], + [ + 713, + 203, + 34, + 27, + -19, + -59 + ], + [ + 748, + 203, + 34, + 27, + -19, + -59 + ], + [ + 783, + 203, + 34, + 27, + -19, + -59 + ], + [ + 818, + 203, + 34, + 27, + -19, + -59 + ], + [ + 853, + 203, + 34, + 27, + -19, + -59 + ] + ], + [ + [ + 888, + 203, + 46, + 22, + -26, + -57 + ], + [ + 935, + 203, + 46, + 22, + -26, + -57 + ], + [ + 0, + 234, + 46, + 22, + -26, + -57 + ], + [ + 47, + 234, + 46, + 22, + -26, + -57 + ], + [ + 94, + 234, + 46, + 22, + -26, + -57 + ], + [ + 141, + 234, + 46, + 22, + -26, + -57 + ], + [ + 188, + 234, + 46, + 22, + -26, + -57 + ], + [ + 235, + 234, + 46, + 22, + -26, + -57 + ] + ], + [ + [ + 282, + 234, + 51, + 18, + -29, + -55 + ], + [ + 334, + 234, + 51, + 18, + -29, + -55 + ], + [ + 386, + 234, + 51, + 18, + -29, + -55 + ], + [ + 438, + 234, + 51, + 18, + -29, + -55 + ], + [ + 490, + 234, + 51, + 18, + -29, + -55 + ], + [ + 542, + 234, + 51, + 18, + -29, + -55 + ], + [ + 594, + 234, + 51, + 18, + -29, + -55 + ], + [ + 646, + 234, + 51, + 18, + -29, + -55 + ] + ], + [ + [ + 698, + 234, + 52, + 18, + -29, + -56 + ], + [ + 751, + 234, + 52, + 18, + -29, + -56 + ], + [ + 804, + 234, + 52, + 18, + -29, + -56 + ], + [ + 857, + 234, + 52, + 18, + -29, + -56 + ], + [ + 910, + 234, + 52, + 18, + -29, + -56 + ], + [ + 963, + 234, + 52, + 18, + -29, + -56 + ], + [ + 0, + 257, + 52, + 18, + -29, + -56 + ], + [ + 53, + 257, + 52, + 18, + -29, + -56 + ] + ], + [ + [ + 106, + 257, + 46, + 22, + -26, + -59 + ], + [ + 153, + 257, + 46, + 22, + -26, + -59 + ], + [ + 200, + 257, + 46, + 22, + -26, + -59 + ], + [ + 247, + 257, + 46, + 22, + -26, + -59 + ], + [ + 294, + 257, + 46, + 22, + -26, + -59 + ], + [ + 341, + 257, + 46, + 22, + -26, + -59 + ], + [ + 388, + 257, + 46, + 22, + -26, + -59 + ], + [ + 435, + 257, + 46, + 22, + -26, + -59 + ] + ], + [ + [ + 482, + 257, + 33, + 26, + -18, + -61 + ], + [ + 516, + 257, + 33, + 26, + -18, + -61 + ], + [ + 550, + 257, + 33, + 26, + -18, + -61 + ], + [ + 584, + 257, + 33, + 26, + -18, + -61 + ], + [ + 618, + 257, + 33, + 26, + -18, + -61 + ], + [ + 652, + 257, + 33, + 26, + -18, + -61 + ], + [ + 686, + 257, + 33, + 26, + -18, + -61 + ], + [ + 720, + 257, + 33, + 26, + -18, + -61 + ] + ], + [ + [ + 754, + 257, + 20, + 30, + -11, + -63 + ], + [ + 775, + 257, + 20, + 30, + -11, + -63 + ], + [ + 796, + 257, + 20, + 30, + -11, + -63 + ], + [ + 817, + 257, + 20, + 30, + -11, + -63 + ], + [ + 838, + 257, + 20, + 30, + -11, + -63 + ], + [ + 859, + 257, + 20, + 30, + -11, + -63 + ], + [ + 880, + 257, + 20, + 30, + -11, + -63 + ], + [ + 901, + 257, + 20, + 30, + -11, + -63 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/guidedarrow.png b/public/missiles/guidedarrow.png new file mode 100644 index 0000000..994789b Binary files /dev/null and b/public/missiles/guidedarrow.png differ diff --git a/public/missiles/icearrowexplode.json b/public/missiles/icearrowexplode.json new file mode 100644 index 0000000..5369a96 --- /dev/null +++ b/public/missiles/icearrowexplode.json @@ -0,0 +1,141 @@ +{ + "name": "icearrowexplode", + "celFile": "IceArrowExplode", + "width": 512, + "height": 332, + "directions": 1, + "framesPerDirection": 16, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 83, + 110, + -43, + -90 + ], + [ + 84, + 0, + 83, + 110, + -43, + -90 + ], + [ + 168, + 0, + 83, + 110, + -43, + -90 + ], + [ + 252, + 0, + 83, + 110, + -43, + -90 + ], + [ + 336, + 0, + 83, + 110, + -43, + -90 + ], + [ + 420, + 0, + 83, + 110, + -43, + -90 + ], + [ + 0, + 111, + 83, + 110, + -43, + -90 + ], + [ + 84, + 111, + 83, + 110, + -43, + -90 + ], + [ + 168, + 111, + 83, + 110, + -43, + -90 + ], + [ + 252, + 111, + 83, + 110, + -43, + -90 + ], + [ + 336, + 111, + 83, + 110, + -43, + -90 + ], + [ + 420, + 111, + 83, + 110, + -43, + -90 + ], + [ + 0, + 222, + 83, + 110, + -43, + -90 + ], + [ + 84, + 222, + 83, + 110, + -43, + -90 + ], + [ + 168, + 222, + 83, + 110, + -43, + -90 + ], + [ + 252, + 222, + 83, + 110, + -43, + -90 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/icearrowexplode.png b/public/missiles/icearrowexplode.png new file mode 100644 index 0000000..d9e8f27 Binary files /dev/null and b/public/missiles/icearrowexplode.png differ diff --git a/public/missiles/immolationarrow.json b/public/missiles/immolationarrow.json new file mode 100644 index 0000000..1ef108b --- /dev/null +++ b/public/missiles/immolationarrow.json @@ -0,0 +1,2123 @@ +{ + "name": "immolationarrow", + "celFile": "FireArrow", + "width": 512, + "height": 355, + "directions": 32, + "framesPerDirection": 8, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 32, + 18, + -16, + -56 + ], + [ + 33, + 0, + 32, + 18, + -16, + -56 + ], + [ + 66, + 0, + 32, + 18, + -16, + -56 + ], + [ + 99, + 0, + 32, + 18, + -16, + -56 + ], + [ + 132, + 0, + 32, + 18, + -16, + -56 + ], + [ + 165, + 0, + 32, + 18, + -16, + -56 + ], + [ + 198, + 0, + 32, + 18, + -16, + -56 + ], + [ + 231, + 0, + 32, + 18, + -16, + -56 + ] + ], + [ + [ + 264, + 0, + 32, + 20, + -16, + -56 + ], + [ + 297, + 0, + 32, + 20, + -16, + -56 + ], + [ + 330, + 0, + 32, + 20, + -16, + -56 + ], + [ + 363, + 0, + 32, + 20, + -16, + -56 + ], + [ + 396, + 0, + 32, + 20, + -16, + -56 + ], + [ + 429, + 0, + 32, + 20, + -16, + -56 + ], + [ + 462, + 0, + 32, + 20, + -16, + -56 + ], + [ + 0, + 21, + 32, + 20, + -16, + -56 + ] + ], + [ + [ + 33, + 21, + 32, + 20, + -16, + -56 + ], + [ + 66, + 21, + 32, + 20, + -16, + -56 + ], + [ + 99, + 21, + 32, + 20, + -16, + -56 + ], + [ + 132, + 21, + 32, + 20, + -16, + -56 + ], + [ + 165, + 21, + 32, + 20, + -16, + -56 + ], + [ + 198, + 21, + 32, + 20, + -16, + -56 + ], + [ + 231, + 21, + 32, + 20, + -16, + -56 + ], + [ + 264, + 21, + 32, + 20, + -16, + -56 + ] + ], + [ + [ + 297, + 21, + 32, + 19, + -16, + -57 + ], + [ + 330, + 21, + 32, + 19, + -16, + -57 + ], + [ + 363, + 21, + 32, + 19, + -16, + -57 + ], + [ + 396, + 21, + 32, + 19, + -16, + -57 + ], + [ + 429, + 21, + 32, + 19, + -16, + -57 + ], + [ + 462, + 21, + 32, + 19, + -16, + -57 + ], + [ + 0, + 42, + 32, + 19, + -16, + -57 + ], + [ + 33, + 42, + 32, + 19, + -16, + -57 + ] + ], + [ + [ + 66, + 42, + 10, + 24, + -5, + -59 + ], + [ + 77, + 42, + 10, + 24, + -5, + -59 + ], + [ + 88, + 42, + 10, + 24, + -5, + -59 + ], + [ + 99, + 42, + 10, + 24, + -5, + -59 + ], + [ + 110, + 42, + 10, + 24, + -5, + -59 + ], + [ + 121, + 42, + 10, + 24, + -5, + -59 + ], + [ + 132, + 42, + 10, + 24, + -5, + -59 + ], + [ + 143, + 42, + 10, + 24, + -5, + -59 + ] + ], + [ + [ + 154, + 42, + 41, + 10, + -22, + -52 + ], + [ + 196, + 42, + 41, + 10, + -22, + -52 + ], + [ + 238, + 42, + 41, + 10, + -22, + -52 + ], + [ + 280, + 42, + 41, + 10, + -22, + -52 + ], + [ + 322, + 42, + 41, + 10, + -22, + -52 + ], + [ + 364, + 42, + 41, + 10, + -22, + -52 + ], + [ + 406, + 42, + 41, + 10, + -22, + -52 + ], + [ + 448, + 42, + 41, + 10, + -22, + -52 + ] + ], + [ + [ + 490, + 42, + 10, + 25, + -5, + -59 + ], + [ + 501, + 42, + 10, + 25, + -5, + -59 + ], + [ + 0, + 68, + 10, + 25, + -5, + -59 + ], + [ + 11, + 68, + 10, + 25, + -5, + -59 + ], + [ + 22, + 68, + 10, + 25, + -5, + -59 + ], + [ + 33, + 68, + 10, + 25, + -5, + -59 + ], + [ + 44, + 68, + 10, + 25, + -5, + -59 + ], + [ + 55, + 68, + 10, + 25, + -5, + -59 + ] + ], + [ + [ + 66, + 68, + 41, + 10, + -19, + -52 + ], + [ + 108, + 68, + 41, + 10, + -19, + -52 + ], + [ + 150, + 68, + 41, + 10, + -19, + -52 + ], + [ + 192, + 68, + 41, + 10, + -19, + -52 + ], + [ + 234, + 68, + 41, + 10, + -19, + -52 + ], + [ + 276, + 68, + 41, + 10, + -19, + -52 + ], + [ + 318, + 68, + 41, + 10, + -19, + -52 + ], + [ + 360, + 68, + 41, + 10, + -19, + -52 + ] + ], + [ + [ + 402, + 68, + 21, + 22, + -10, + -58 + ], + [ + 424, + 68, + 21, + 22, + -10, + -58 + ], + [ + 446, + 68, + 21, + 22, + -10, + -58 + ], + [ + 468, + 68, + 21, + 22, + -10, + -58 + ], + [ + 490, + 68, + 21, + 22, + -10, + -58 + ], + [ + 0, + 94, + 21, + 22, + -10, + -58 + ], + [ + 22, + 94, + 21, + 22, + -10, + -58 + ], + [ + 44, + 94, + 21, + 22, + -10, + -58 + ] + ], + [ + [ + 66, + 94, + 38, + 14, + -20, + -54 + ], + [ + 105, + 94, + 38, + 14, + -20, + -54 + ], + [ + 144, + 94, + 38, + 14, + -20, + -54 + ], + [ + 183, + 94, + 38, + 14, + -20, + -54 + ], + [ + 222, + 94, + 38, + 14, + -20, + -54 + ], + [ + 261, + 94, + 38, + 14, + -20, + -54 + ], + [ + 300, + 94, + 38, + 14, + -20, + -54 + ], + [ + 339, + 94, + 38, + 14, + -20, + -54 + ] + ], + [ + [ + 378, + 94, + 38, + 14, + -20, + -53 + ], + [ + 417, + 94, + 38, + 14, + -20, + -53 + ], + [ + 456, + 94, + 38, + 14, + -20, + -53 + ], + [ + 0, + 117, + 38, + 14, + -20, + -53 + ], + [ + 39, + 117, + 38, + 14, + -20, + -53 + ], + [ + 78, + 117, + 38, + 14, + -20, + -53 + ], + [ + 117, + 117, + 38, + 14, + -20, + -53 + ], + [ + 156, + 117, + 38, + 14, + -20, + -53 + ] + ], + [ + [ + 195, + 117, + 21, + 23, + -10, + -58 + ], + [ + 217, + 117, + 21, + 23, + -10, + -58 + ], + [ + 239, + 117, + 21, + 23, + -10, + -58 + ], + [ + 261, + 117, + 21, + 23, + -10, + -58 + ], + [ + 283, + 117, + 21, + 23, + -10, + -58 + ], + [ + 305, + 117, + 21, + 23, + -10, + -58 + ], + [ + 327, + 117, + 21, + 23, + -10, + -58 + ], + [ + 349, + 117, + 21, + 23, + -10, + -58 + ] + ], + [ + [ + 371, + 117, + 22, + 23, + -12, + -58 + ], + [ + 394, + 117, + 22, + 23, + -12, + -58 + ], + [ + 417, + 117, + 22, + 23, + -12, + -58 + ], + [ + 440, + 117, + 22, + 23, + -12, + -58 + ], + [ + 463, + 117, + 22, + 23, + -12, + -58 + ], + [ + 486, + 117, + 22, + 23, + -12, + -58 + ], + [ + 0, + 141, + 22, + 23, + -12, + -58 + ], + [ + 23, + 141, + 22, + 23, + -12, + -58 + ] + ], + [ + [ + 46, + 141, + 38, + 14, + -18, + -53 + ], + [ + 85, + 141, + 38, + 14, + -18, + -53 + ], + [ + 124, + 141, + 38, + 14, + -18, + -53 + ], + [ + 163, + 141, + 38, + 14, + -18, + -53 + ], + [ + 202, + 141, + 38, + 14, + -18, + -53 + ], + [ + 241, + 141, + 38, + 14, + -18, + -53 + ], + [ + 280, + 141, + 38, + 14, + -18, + -53 + ], + [ + 319, + 141, + 38, + 14, + -18, + -53 + ] + ], + [ + [ + 358, + 141, + 38, + 15, + -18, + -55 + ], + [ + 397, + 141, + 38, + 15, + -18, + -55 + ], + [ + 436, + 141, + 38, + 15, + -18, + -55 + ], + [ + 0, + 165, + 38, + 15, + -18, + -55 + ], + [ + 39, + 165, + 38, + 15, + -18, + -55 + ], + [ + 78, + 165, + 38, + 15, + -18, + -55 + ], + [ + 117, + 165, + 38, + 15, + -18, + -55 + ], + [ + 156, + 165, + 38, + 15, + -18, + -55 + ] + ], + [ + [ + 195, + 165, + 22, + 23, + -12, + -59 + ], + [ + 218, + 165, + 22, + 23, + -12, + -59 + ], + [ + 241, + 165, + 22, + 23, + -12, + -59 + ], + [ + 264, + 165, + 22, + 23, + -12, + -59 + ], + [ + 287, + 165, + 22, + 23, + -12, + -59 + ], + [ + 310, + 165, + 22, + 23, + -12, + -59 + ], + [ + 333, + 165, + 22, + 23, + -12, + -59 + ], + [ + 356, + 165, + 22, + 23, + -12, + -59 + ] + ], + [ + [ + 379, + 165, + 16, + 23, + -7, + -58 + ], + [ + 396, + 165, + 16, + 23, + -7, + -58 + ], + [ + 413, + 165, + 16, + 23, + -7, + -58 + ], + [ + 430, + 165, + 16, + 23, + -7, + -58 + ], + [ + 447, + 165, + 16, + 23, + -7, + -58 + ], + [ + 464, + 165, + 16, + 23, + -7, + -58 + ], + [ + 481, + 165, + 16, + 23, + -7, + -58 + ], + [ + 0, + 189, + 16, + 23, + -7, + -58 + ] + ], + [ + [ + 17, + 189, + 27, + 20, + -13, + -57 + ], + [ + 45, + 189, + 27, + 20, + -13, + -57 + ], + [ + 73, + 189, + 27, + 20, + -13, + -57 + ], + [ + 101, + 189, + 27, + 20, + -13, + -57 + ], + [ + 129, + 189, + 27, + 20, + -13, + -57 + ], + [ + 157, + 189, + 27, + 20, + -13, + -57 + ], + [ + 185, + 189, + 27, + 20, + -13, + -57 + ], + [ + 213, + 189, + 27, + 20, + -13, + -57 + ] + ], + [ + [ + 241, + 189, + 35, + 16, + -18, + -55 + ], + [ + 277, + 189, + 35, + 16, + -18, + -55 + ], + [ + 313, + 189, + 35, + 16, + -18, + -55 + ], + [ + 349, + 189, + 35, + 16, + -18, + -55 + ], + [ + 385, + 189, + 35, + 16, + -18, + -55 + ], + [ + 421, + 189, + 35, + 16, + -18, + -55 + ], + [ + 457, + 189, + 35, + 16, + -18, + -55 + ], + [ + 0, + 213, + 35, + 16, + -18, + -55 + ] + ], + [ + [ + 36, + 213, + 41, + 11, + -22, + -53 + ], + [ + 78, + 213, + 41, + 11, + -22, + -53 + ], + [ + 120, + 213, + 41, + 11, + -22, + -53 + ], + [ + 162, + 213, + 41, + 11, + -22, + -53 + ], + [ + 204, + 213, + 41, + 11, + -22, + -53 + ], + [ + 246, + 213, + 41, + 11, + -22, + -53 + ], + [ + 288, + 213, + 41, + 11, + -22, + -53 + ], + [ + 330, + 213, + 41, + 11, + -22, + -53 + ] + ], + [ + [ + 372, + 213, + 41, + 12, + -22, + -52 + ], + [ + 414, + 213, + 41, + 12, + -22, + -52 + ], + [ + 456, + 213, + 41, + 12, + -22, + -52 + ], + [ + 0, + 230, + 41, + 12, + -22, + -52 + ], + [ + 42, + 230, + 41, + 12, + -22, + -52 + ], + [ + 84, + 230, + 41, + 12, + -22, + -52 + ], + [ + 126, + 230, + 41, + 12, + -22, + -52 + ], + [ + 168, + 230, + 41, + 12, + -22, + -52 + ] + ], + [ + [ + 210, + 230, + 35, + 18, + -18, + -55 + ], + [ + 246, + 230, + 35, + 18, + -18, + -55 + ], + [ + 282, + 230, + 35, + 18, + -18, + -55 + ], + [ + 318, + 230, + 35, + 18, + -18, + -55 + ], + [ + 354, + 230, + 35, + 18, + -18, + -55 + ], + [ + 390, + 230, + 35, + 18, + -18, + -55 + ], + [ + 426, + 230, + 35, + 18, + -18, + -55 + ], + [ + 462, + 230, + 35, + 18, + -18, + -55 + ] + ], + [ + [ + 0, + 249, + 27, + 22, + -13, + -57 + ], + [ + 28, + 249, + 27, + 22, + -13, + -57 + ], + [ + 56, + 249, + 27, + 22, + -13, + -57 + ], + [ + 84, + 249, + 27, + 22, + -13, + -57 + ], + [ + 112, + 249, + 27, + 22, + -13, + -57 + ], + [ + 140, + 249, + 27, + 22, + -13, + -57 + ], + [ + 168, + 249, + 27, + 22, + -13, + -57 + ], + [ + 196, + 249, + 27, + 22, + -13, + -57 + ] + ], + [ + [ + 224, + 249, + 16, + 24, + -7, + -58 + ], + [ + 241, + 249, + 16, + 24, + -7, + -58 + ], + [ + 258, + 249, + 16, + 24, + -7, + -58 + ], + [ + 275, + 249, + 16, + 24, + -7, + -58 + ], + [ + 292, + 249, + 16, + 24, + -7, + -58 + ], + [ + 309, + 249, + 16, + 24, + -7, + -58 + ], + [ + 326, + 249, + 16, + 24, + -7, + -58 + ], + [ + 343, + 249, + 16, + 24, + -7, + -58 + ] + ], + [ + [ + 360, + 249, + 16, + 24, + -9, + -58 + ], + [ + 377, + 249, + 16, + 24, + -9, + -58 + ], + [ + 394, + 249, + 16, + 24, + -9, + -58 + ], + [ + 411, + 249, + 16, + 24, + -9, + -58 + ], + [ + 428, + 249, + 16, + 24, + -9, + -58 + ], + [ + 445, + 249, + 16, + 24, + -9, + -58 + ], + [ + 462, + 249, + 16, + 24, + -9, + -58 + ], + [ + 479, + 249, + 16, + 24, + -9, + -58 + ] + ], + [ + [ + 0, + 274, + 27, + 22, + -14, + -57 + ], + [ + 28, + 274, + 27, + 22, + -14, + -57 + ], + [ + 56, + 274, + 27, + 22, + -14, + -57 + ], + [ + 84, + 274, + 27, + 22, + -14, + -57 + ], + [ + 112, + 274, + 27, + 22, + -14, + -57 + ], + [ + 140, + 274, + 27, + 22, + -14, + -57 + ], + [ + 168, + 274, + 27, + 22, + -14, + -57 + ], + [ + 196, + 274, + 27, + 22, + -14, + -57 + ] + ], + [ + [ + 224, + 274, + 35, + 18, + -17, + -55 + ], + [ + 260, + 274, + 35, + 18, + -17, + -55 + ], + [ + 296, + 274, + 35, + 18, + -17, + -55 + ], + [ + 332, + 274, + 35, + 18, + -17, + -55 + ], + [ + 368, + 274, + 35, + 18, + -17, + -55 + ], + [ + 404, + 274, + 35, + 18, + -17, + -55 + ], + [ + 440, + 274, + 35, + 18, + -17, + -55 + ], + [ + 476, + 274, + 35, + 18, + -17, + -55 + ] + ], + [ + [ + 0, + 297, + 41, + 12, + -19, + -52 + ], + [ + 42, + 297, + 41, + 12, + -19, + -52 + ], + [ + 84, + 297, + 41, + 12, + -19, + -52 + ], + [ + 126, + 297, + 41, + 12, + -19, + -52 + ], + [ + 168, + 297, + 41, + 12, + -19, + -52 + ], + [ + 210, + 297, + 41, + 12, + -19, + -52 + ], + [ + 252, + 297, + 41, + 12, + -19, + -52 + ], + [ + 294, + 297, + 41, + 12, + -19, + -52 + ] + ], + [ + [ + 336, + 297, + 41, + 11, + -19, + -53 + ], + [ + 378, + 297, + 41, + 11, + -19, + -53 + ], + [ + 420, + 297, + 41, + 11, + -19, + -53 + ], + [ + 462, + 297, + 41, + 11, + -19, + -53 + ], + [ + 0, + 310, + 41, + 11, + -19, + -53 + ], + [ + 42, + 310, + 41, + 11, + -19, + -53 + ], + [ + 84, + 310, + 41, + 11, + -19, + -53 + ], + [ + 126, + 310, + 41, + 11, + -19, + -53 + ] + ], + [ + [ + 168, + 310, + 35, + 17, + -17, + -56 + ], + [ + 204, + 310, + 35, + 17, + -17, + -56 + ], + [ + 240, + 310, + 35, + 17, + -17, + -56 + ], + [ + 276, + 310, + 35, + 17, + -17, + -56 + ], + [ + 312, + 310, + 35, + 17, + -17, + -56 + ], + [ + 348, + 310, + 35, + 17, + -17, + -56 + ], + [ + 384, + 310, + 35, + 17, + -17, + -56 + ], + [ + 420, + 310, + 35, + 17, + -17, + -56 + ] + ], + [ + [ + 456, + 310, + 27, + 20, + -14, + -57 + ], + [ + 484, + 310, + 27, + 20, + -14, + -57 + ], + [ + 0, + 331, + 27, + 20, + -14, + -57 + ], + [ + 28, + 331, + 27, + 20, + -14, + -57 + ], + [ + 56, + 331, + 27, + 20, + -14, + -57 + ], + [ + 84, + 331, + 27, + 20, + -14, + -57 + ], + [ + 112, + 331, + 27, + 20, + -14, + -57 + ], + [ + 140, + 331, + 27, + 20, + -14, + -57 + ] + ], + [ + [ + 168, + 331, + 16, + 24, + -9, + -59 + ], + [ + 185, + 331, + 16, + 24, + -9, + -59 + ], + [ + 202, + 331, + 16, + 24, + -9, + -59 + ], + [ + 219, + 331, + 16, + 24, + -9, + -59 + ], + [ + 236, + 331, + 16, + 24, + -9, + -59 + ], + [ + 253, + 331, + 16, + 24, + -9, + -59 + ], + [ + 270, + 331, + 16, + 24, + -9, + -59 + ], + [ + 287, + 331, + 16, + 24, + -9, + -59 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/immolationarrow.png b/public/missiles/immolationarrow.png new file mode 100644 index 0000000..5fe7d44 Binary files /dev/null and b/public/missiles/immolationarrow.png differ diff --git a/public/missiles/immolationarrowexp.json b/public/missiles/immolationarrowexp.json new file mode 100644 index 0000000..bb6f871 --- /dev/null +++ b/public/missiles/immolationarrowexp.json @@ -0,0 +1,141 @@ +{ + "name": "immolationarrowexp", + "celFile": "ExpArrowExplode", + "width": 1024, + "height": 699, + "directions": 1, + "framesPerDirection": 16, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 208, + 174, + -108, + -123 + ], + [ + 209, + 0, + 208, + 174, + -108, + -123 + ], + [ + 418, + 0, + 208, + 174, + -108, + -123 + ], + [ + 627, + 0, + 208, + 174, + -108, + -123 + ], + [ + 0, + 175, + 208, + 174, + -108, + -123 + ], + [ + 209, + 175, + 208, + 174, + -108, + -123 + ], + [ + 418, + 175, + 208, + 174, + -108, + -123 + ], + [ + 627, + 175, + 208, + 174, + -108, + -123 + ], + [ + 0, + 350, + 208, + 174, + -108, + -123 + ], + [ + 209, + 350, + 208, + 174, + -108, + -123 + ], + [ + 418, + 350, + 208, + 174, + -108, + -123 + ], + [ + 627, + 350, + 208, + 174, + -108, + -123 + ], + [ + 0, + 525, + 208, + 174, + -108, + -123 + ], + [ + 209, + 525, + 208, + 174, + -108, + -123 + ], + [ + 418, + 525, + 208, + 174, + -108, + -123 + ], + [ + 627, + 525, + 208, + 174, + -108, + -123 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/immolationarrowexp.png b/public/missiles/immolationarrowexp.png new file mode 100644 index 0000000..e6dedd3 Binary files /dev/null and b/public/missiles/immolationarrowexp.png differ diff --git a/public/missiles/immolationfire.json b/public/missiles/immolationfire.json new file mode 100644 index 0000000..c35ac6b --- /dev/null +++ b/public/missiles/immolationfire.json @@ -0,0 +1,309 @@ +{ + "name": "immolationfire", + "celFile": "groundFireBig", + "width": 1024, + "height": 503, + "directions": 1, + "framesPerDirection": 37, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 66, + 167, + -33, + -156 + ], + [ + 67, + 0, + 66, + 167, + -33, + -156 + ], + [ + 134, + 0, + 66, + 167, + -33, + -156 + ], + [ + 201, + 0, + 66, + 167, + -33, + -156 + ], + [ + 268, + 0, + 66, + 167, + -33, + -156 + ], + [ + 335, + 0, + 66, + 167, + -33, + -156 + ], + [ + 402, + 0, + 66, + 167, + -33, + -156 + ], + [ + 469, + 0, + 66, + 167, + -33, + -156 + ], + [ + 536, + 0, + 66, + 167, + -33, + -156 + ], + [ + 603, + 0, + 66, + 167, + -33, + -156 + ], + [ + 670, + 0, + 66, + 167, + -33, + -156 + ], + [ + 737, + 0, + 66, + 167, + -33, + -156 + ], + [ + 804, + 0, + 66, + 167, + -33, + -156 + ], + [ + 871, + 0, + 66, + 167, + -33, + -156 + ], + [ + 938, + 0, + 66, + 167, + -33, + -156 + ], + [ + 0, + 168, + 66, + 167, + -33, + -156 + ], + [ + 67, + 168, + 66, + 167, + -33, + -156 + ], + [ + 134, + 168, + 66, + 167, + -33, + -156 + ], + [ + 201, + 168, + 66, + 167, + -33, + -156 + ], + [ + 268, + 168, + 66, + 167, + -33, + -156 + ], + [ + 335, + 168, + 66, + 167, + -33, + -156 + ], + [ + 402, + 168, + 66, + 167, + -33, + -156 + ], + [ + 469, + 168, + 66, + 167, + -33, + -156 + ], + [ + 536, + 168, + 66, + 167, + -33, + -156 + ], + [ + 603, + 168, + 66, + 167, + -33, + -156 + ], + [ + 670, + 168, + 66, + 167, + -33, + -156 + ], + [ + 737, + 168, + 66, + 167, + -33, + -156 + ], + [ + 804, + 168, + 66, + 167, + -33, + -156 + ], + [ + 871, + 168, + 66, + 167, + -33, + -156 + ], + [ + 938, + 168, + 66, + 167, + -33, + -156 + ], + [ + 0, + 336, + 66, + 167, + -33, + -156 + ], + [ + 67, + 336, + 66, + 167, + -33, + -156 + ], + [ + 134, + 336, + 66, + 167, + -33, + -156 + ], + [ + 201, + 336, + 66, + 167, + -33, + -156 + ], + [ + 268, + 336, + 66, + 167, + -33, + -156 + ], + [ + 335, + 336, + 66, + 167, + -33, + -156 + ], + [ + 402, + 336, + 66, + 167, + -33, + -156 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/immolationfire.png b/public/missiles/immolationfire.png new file mode 100644 index 0000000..667ef3d Binary files /dev/null and b/public/missiles/immolationfire.png differ diff --git a/public/missiles/lightningfury.json b/public/missiles/lightningfury.json new file mode 100644 index 0000000..f30720c --- /dev/null +++ b/public/missiles/lightningfury.json @@ -0,0 +1,683 @@ +{ + "name": "lightningfury", + "celFile": "LightningJavelin", + "width": 1024, + "height": 642, + "directions": 16, + "framesPerDirection": 5, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 100, + 63, + -42, + -83 + ], + [ + 101, + 0, + 100, + 63, + -42, + -83 + ], + [ + 202, + 0, + 100, + 63, + -42, + -83 + ], + [ + 303, + 0, + 100, + 63, + -42, + -83 + ], + [ + 404, + 0, + 100, + 63, + -42, + -83 + ] + ], + [ + [ + 505, + 0, + 111, + 67, + -39, + -89 + ], + [ + 617, + 0, + 111, + 67, + -39, + -89 + ], + [ + 729, + 0, + 111, + 67, + -39, + -89 + ], + [ + 841, + 0, + 111, + 67, + -39, + -89 + ], + [ + 0, + 68, + 111, + 67, + -39, + -89 + ] + ], + [ + [ + 112, + 68, + 108, + 67, + -68, + -89 + ], + [ + 221, + 68, + 108, + 67, + -68, + -89 + ], + [ + 330, + 68, + 108, + 67, + -68, + -89 + ], + [ + 439, + 68, + 108, + 67, + -68, + -89 + ], + [ + 548, + 68, + 108, + 67, + -68, + -89 + ] + ], + [ + [ + 657, + 68, + 101, + 62, + -60, + -82 + ], + [ + 759, + 68, + 101, + 62, + -60, + -82 + ], + [ + 861, + 68, + 101, + 62, + -60, + -82 + ], + [ + 0, + 136, + 101, + 62, + -60, + -82 + ], + [ + 102, + 136, + 101, + 62, + -60, + -82 + ] + ], + [ + [ + 204, + 136, + 60, + 71, + -31, + -89 + ], + [ + 265, + 136, + 60, + 71, + -31, + -89 + ], + [ + 326, + 136, + 60, + 71, + -31, + -89 + ], + [ + 387, + 136, + 60, + 71, + -31, + -89 + ], + [ + 448, + 136, + 60, + 71, + -31, + -89 + ] + ], + [ + [ + 509, + 136, + 133, + 60, + -45, + -86 + ], + [ + 643, + 136, + 133, + 60, + -45, + -86 + ], + [ + 777, + 136, + 133, + 60, + -45, + -86 + ], + [ + 0, + 208, + 133, + 60, + -45, + -86 + ], + [ + 134, + 208, + 133, + 60, + -45, + -86 + ] + ], + [ + [ + 268, + 208, + 56, + 79, + -27, + -90 + ], + [ + 325, + 208, + 56, + 79, + -27, + -90 + ], + [ + 382, + 208, + 56, + 79, + -27, + -90 + ], + [ + 439, + 208, + 56, + 79, + -27, + -90 + ], + [ + 496, + 208, + 56, + 79, + -27, + -90 + ] + ], + [ + [ + 553, + 208, + 131, + 60, + -86, + -85 + ], + [ + 685, + 208, + 131, + 60, + -86, + -85 + ], + [ + 817, + 208, + 131, + 60, + -86, + -85 + ], + [ + 0, + 288, + 131, + 60, + -86, + -85 + ], + [ + 132, + 288, + 131, + 60, + -86, + -85 + ] + ], + [ + [ + 264, + 288, + 71, + 69, + -37, + -88 + ], + [ + 336, + 288, + 71, + 69, + -37, + -88 + ], + [ + 408, + 288, + 71, + 69, + -37, + -88 + ], + [ + 480, + 288, + 71, + 69, + -37, + -88 + ], + [ + 552, + 288, + 71, + 69, + -37, + -88 + ] + ], + [ + [ + 624, + 288, + 123, + 61, + -45, + -84 + ], + [ + 748, + 288, + 123, + 61, + -45, + -84 + ], + [ + 872, + 288, + 123, + 61, + -45, + -84 + ], + [ + 0, + 358, + 123, + 61, + -45, + -84 + ], + [ + 124, + 358, + 123, + 61, + -45, + -84 + ] + ], + [ + [ + 248, + 358, + 129, + 60, + -43, + -88 + ], + [ + 378, + 358, + 129, + 60, + -43, + -88 + ], + [ + 508, + 358, + 129, + 60, + -43, + -88 + ], + [ + 638, + 358, + 129, + 60, + -43, + -88 + ], + [ + 768, + 358, + 129, + 60, + -43, + -88 + ] + ], + [ + [ + 898, + 358, + 78, + 76, + -33, + -90 + ], + [ + 0, + 435, + 78, + 76, + -33, + -90 + ], + [ + 79, + 435, + 78, + 76, + -33, + -90 + ], + [ + 158, + 435, + 78, + 76, + -33, + -90 + ], + [ + 237, + 435, + 78, + 76, + -33, + -90 + ] + ], + [ + [ + 316, + 435, + 76, + 76, + -41, + -90 + ], + [ + 393, + 435, + 76, + 76, + -41, + -90 + ], + [ + 470, + 435, + 76, + 76, + -41, + -90 + ], + [ + 547, + 435, + 76, + 76, + -41, + -90 + ], + [ + 624, + 435, + 76, + 76, + -41, + -90 + ] + ], + [ + [ + 701, + 435, + 127, + 59, + -84, + -87 + ], + [ + 829, + 435, + 127, + 59, + -84, + -87 + ], + [ + 0, + 512, + 127, + 59, + -84, + -87 + ], + [ + 128, + 512, + 127, + 59, + -84, + -87 + ], + [ + 256, + 512, + 127, + 59, + -84, + -87 + ] + ], + [ + [ + 384, + 512, + 121, + 61, + -77, + -83 + ], + [ + 506, + 512, + 121, + 61, + -77, + -83 + ], + [ + 628, + 512, + 121, + 61, + -77, + -83 + ], + [ + 750, + 512, + 121, + 61, + -77, + -83 + ], + [ + 872, + 512, + 121, + 61, + -77, + -83 + ] + ], + [ + [ + 0, + 574, + 71, + 68, + -36, + -86 + ], + [ + 72, + 574, + 71, + 68, + -36, + -86 + ], + [ + 144, + 574, + 71, + 68, + -36, + -86 + ], + [ + 216, + 574, + 71, + 68, + -36, + -86 + ], + [ + 288, + 574, + 71, + 68, + -36, + -86 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/lightningfury.png b/public/missiles/lightningfury.png new file mode 100644 index 0000000..acee861 Binary files /dev/null and b/public/missiles/lightningfury.png differ diff --git a/public/missiles/plaguejavcloud.json b/public/missiles/plaguejavcloud.json new file mode 100644 index 0000000..5f24bc2 --- /dev/null +++ b/public/missiles/plaguejavcloud.json @@ -0,0 +1,2011 @@ +{ + "name": "plaguejavcloud", + "celFile": "PoisonSparks", + "width": 1024, + "height": 953, + "directions": 8, + "framesPerDirection": 31, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 45, + 69, + -23, + -68 + ], + [ + 46, + 0, + 45, + 69, + -23, + -68 + ], + [ + 92, + 0, + 45, + 69, + -23, + -68 + ], + [ + 138, + 0, + 45, + 69, + -23, + -68 + ], + [ + 184, + 0, + 45, + 69, + -23, + -68 + ], + [ + 230, + 0, + 45, + 69, + -23, + -68 + ], + [ + 276, + 0, + 45, + 69, + -23, + -68 + ], + [ + 322, + 0, + 45, + 69, + -23, + -68 + ], + [ + 368, + 0, + 45, + 69, + -23, + -68 + ], + [ + 414, + 0, + 45, + 69, + -23, + -68 + ], + [ + 460, + 0, + 45, + 69, + -23, + -68 + ], + [ + 506, + 0, + 45, + 69, + -23, + -68 + ], + [ + 552, + 0, + 45, + 69, + -23, + -68 + ], + [ + 598, + 0, + 45, + 69, + -23, + -68 + ], + [ + 644, + 0, + 45, + 69, + -23, + -68 + ], + [ + 690, + 0, + 45, + 69, + -23, + -68 + ], + [ + 736, + 0, + 45, + 69, + -23, + -68 + ], + [ + 782, + 0, + 45, + 69, + -23, + -68 + ], + [ + 828, + 0, + 45, + 69, + -23, + -68 + ], + [ + 874, + 0, + 45, + 69, + -23, + -68 + ], + [ + 920, + 0, + 45, + 69, + -23, + -68 + ], + [ + 966, + 0, + 45, + 69, + -23, + -68 + ], + [ + 0, + 70, + 45, + 69, + -23, + -68 + ], + [ + 46, + 70, + 45, + 69, + -23, + -68 + ], + [ + 92, + 70, + 45, + 69, + -23, + -68 + ], + [ + 138, + 70, + 45, + 69, + -23, + -68 + ], + [ + 184, + 70, + 45, + 69, + -23, + -68 + ], + [ + 230, + 70, + 45, + 69, + -23, + -68 + ], + [ + 276, + 70, + 45, + 69, + -23, + -68 + ], + [ + 322, + 70, + 45, + 69, + -23, + -68 + ], + [ + 368, + 70, + 45, + 69, + -23, + -68 + ] + ], + [ + [ + 414, + 70, + 48, + 72, + -20, + -71 + ], + [ + 463, + 70, + 48, + 72, + -20, + -71 + ], + [ + 512, + 70, + 48, + 72, + -20, + -71 + ], + [ + 561, + 70, + 48, + 72, + -20, + -71 + ], + [ + 610, + 70, + 48, + 72, + -20, + -71 + ], + [ + 659, + 70, + 48, + 72, + -20, + -71 + ], + [ + 708, + 70, + 48, + 72, + -20, + -71 + ], + [ + 757, + 70, + 48, + 72, + -20, + -71 + ], + [ + 806, + 70, + 48, + 72, + -20, + -71 + ], + [ + 855, + 70, + 48, + 72, + -20, + -71 + ], + [ + 904, + 70, + 48, + 72, + -20, + -71 + ], + [ + 953, + 70, + 48, + 72, + -20, + -71 + ], + [ + 0, + 143, + 48, + 72, + -20, + -71 + ], + [ + 49, + 143, + 48, + 72, + -20, + -71 + ], + [ + 98, + 143, + 48, + 72, + -20, + -71 + ], + [ + 147, + 143, + 48, + 72, + -20, + -71 + ], + [ + 196, + 143, + 48, + 72, + -20, + -71 + ], + [ + 245, + 143, + 48, + 72, + -20, + -71 + ], + [ + 294, + 143, + 48, + 72, + -20, + -71 + ], + [ + 343, + 143, + 48, + 72, + -20, + -71 + ], + [ + 392, + 143, + 48, + 72, + -20, + -71 + ], + [ + 441, + 143, + 48, + 72, + -20, + -71 + ], + [ + 490, + 143, + 48, + 72, + -20, + -71 + ], + [ + 539, + 143, + 48, + 72, + -20, + -71 + ], + [ + 588, + 143, + 48, + 72, + -20, + -71 + ], + [ + 637, + 143, + 48, + 72, + -20, + -71 + ], + [ + 686, + 143, + 48, + 72, + -20, + -71 + ], + [ + 735, + 143, + 48, + 72, + -20, + -71 + ], + [ + 784, + 143, + 48, + 72, + -20, + -71 + ], + [ + 833, + 143, + 48, + 72, + -20, + -71 + ], + [ + 882, + 143, + 48, + 72, + -20, + -71 + ] + ], + [ + [ + 931, + 143, + 52, + 70, + -25, + -69 + ], + [ + 0, + 216, + 52, + 70, + -25, + -69 + ], + [ + 53, + 216, + 52, + 70, + -25, + -69 + ], + [ + 106, + 216, + 52, + 70, + -25, + -69 + ], + [ + 159, + 216, + 52, + 70, + -25, + -69 + ], + [ + 212, + 216, + 52, + 70, + -25, + -69 + ], + [ + 265, + 216, + 52, + 70, + -25, + -69 + ], + [ + 318, + 216, + 52, + 70, + -25, + -69 + ], + [ + 371, + 216, + 52, + 70, + -25, + -69 + ], + [ + 424, + 216, + 52, + 70, + -25, + -69 + ], + [ + 477, + 216, + 52, + 70, + -25, + -69 + ], + [ + 530, + 216, + 52, + 70, + -25, + -69 + ], + [ + 583, + 216, + 52, + 70, + -25, + -69 + ], + [ + 636, + 216, + 52, + 70, + -25, + -69 + ], + [ + 689, + 216, + 52, + 70, + -25, + -69 + ], + [ + 742, + 216, + 52, + 70, + -25, + -69 + ], + [ + 795, + 216, + 52, + 70, + -25, + -69 + ], + [ + 848, + 216, + 52, + 70, + -25, + -69 + ], + [ + 901, + 216, + 52, + 70, + -25, + -69 + ], + [ + 954, + 216, + 52, + 70, + -25, + -69 + ], + [ + 0, + 287, + 52, + 70, + -25, + -69 + ], + [ + 53, + 287, + 52, + 70, + -25, + -69 + ], + [ + 106, + 287, + 52, + 70, + -25, + -69 + ], + [ + 159, + 287, + 52, + 70, + -25, + -69 + ], + [ + 212, + 287, + 52, + 70, + -25, + -69 + ], + [ + 265, + 287, + 52, + 70, + -25, + -69 + ], + [ + 318, + 287, + 52, + 70, + -25, + -69 + ], + [ + 371, + 287, + 52, + 70, + -25, + -69 + ], + [ + 424, + 287, + 52, + 70, + -25, + -69 + ], + [ + 477, + 287, + 52, + 70, + -25, + -69 + ], + [ + 530, + 287, + 52, + 70, + -25, + -69 + ] + ], + [ + [ + 583, + 287, + 44, + 77, + -25, + -76 + ], + [ + 628, + 287, + 44, + 77, + -25, + -76 + ], + [ + 673, + 287, + 44, + 77, + -25, + -76 + ], + [ + 718, + 287, + 44, + 77, + -25, + -76 + ], + [ + 763, + 287, + 44, + 77, + -25, + -76 + ], + [ + 808, + 287, + 44, + 77, + -25, + -76 + ], + [ + 853, + 287, + 44, + 77, + -25, + -76 + ], + [ + 898, + 287, + 44, + 77, + -25, + -76 + ], + [ + 943, + 287, + 44, + 77, + -25, + -76 + ], + [ + 0, + 365, + 44, + 77, + -25, + -76 + ], + [ + 45, + 365, + 44, + 77, + -25, + -76 + ], + [ + 90, + 365, + 44, + 77, + -25, + -76 + ], + [ + 135, + 365, + 44, + 77, + -25, + -76 + ], + [ + 180, + 365, + 44, + 77, + -25, + -76 + ], + [ + 225, + 365, + 44, + 77, + -25, + -76 + ], + [ + 270, + 365, + 44, + 77, + -25, + -76 + ], + [ + 315, + 365, + 44, + 77, + -25, + -76 + ], + [ + 360, + 365, + 44, + 77, + -25, + -76 + ], + [ + 405, + 365, + 44, + 77, + -25, + -76 + ], + [ + 450, + 365, + 44, + 77, + -25, + -76 + ], + [ + 495, + 365, + 44, + 77, + -25, + -76 + ], + [ + 540, + 365, + 44, + 77, + -25, + -76 + ], + [ + 585, + 365, + 44, + 77, + -25, + -76 + ], + [ + 630, + 365, + 44, + 77, + -25, + -76 + ], + [ + 675, + 365, + 44, + 77, + -25, + -76 + ], + [ + 720, + 365, + 44, + 77, + -25, + -76 + ], + [ + 765, + 365, + 44, + 77, + -25, + -76 + ], + [ + 810, + 365, + 44, + 77, + -25, + -76 + ], + [ + 855, + 365, + 44, + 77, + -25, + -76 + ], + [ + 900, + 365, + 44, + 77, + -25, + -76 + ], + [ + 945, + 365, + 44, + 77, + -25, + -76 + ] + ], + [ + [ + 0, + 443, + 51, + 69, + -27, + -68 + ], + [ + 52, + 443, + 51, + 69, + -27, + -68 + ], + [ + 104, + 443, + 51, + 69, + -27, + -68 + ], + [ + 156, + 443, + 51, + 69, + -27, + -68 + ], + [ + 208, + 443, + 51, + 69, + -27, + -68 + ], + [ + 260, + 443, + 51, + 69, + -27, + -68 + ], + [ + 312, + 443, + 51, + 69, + -27, + -68 + ], + [ + 364, + 443, + 51, + 69, + -27, + -68 + ], + [ + 416, + 443, + 51, + 69, + -27, + -68 + ], + [ + 468, + 443, + 51, + 69, + -27, + -68 + ], + [ + 520, + 443, + 51, + 69, + -27, + -68 + ], + [ + 572, + 443, + 51, + 69, + -27, + -68 + ], + [ + 624, + 443, + 51, + 69, + -27, + -68 + ], + [ + 676, + 443, + 51, + 69, + -27, + -68 + ], + [ + 728, + 443, + 51, + 69, + -27, + -68 + ], + [ + 780, + 443, + 51, + 69, + -27, + -68 + ], + [ + 832, + 443, + 51, + 69, + -27, + -68 + ], + [ + 884, + 443, + 51, + 69, + -27, + -68 + ], + [ + 936, + 443, + 51, + 69, + -27, + -68 + ], + [ + 0, + 513, + 51, + 69, + -27, + -68 + ], + [ + 52, + 513, + 51, + 69, + -27, + -68 + ], + [ + 104, + 513, + 51, + 69, + -27, + -68 + ], + [ + 156, + 513, + 51, + 69, + -27, + -68 + ], + [ + 208, + 513, + 51, + 69, + -27, + -68 + ], + [ + 260, + 513, + 51, + 69, + -27, + -68 + ], + [ + 312, + 513, + 51, + 69, + -27, + -68 + ], + [ + 364, + 513, + 51, + 69, + -27, + -68 + ], + [ + 416, + 513, + 51, + 69, + -27, + -68 + ], + [ + 468, + 513, + 51, + 69, + -27, + -68 + ], + [ + 520, + 513, + 51, + 69, + -27, + -68 + ], + [ + 572, + 513, + 51, + 69, + -27, + -68 + ] + ], + [ + [ + 624, + 513, + 47, + 72, + -21, + -71 + ], + [ + 672, + 513, + 47, + 72, + -21, + -71 + ], + [ + 720, + 513, + 47, + 72, + -21, + -71 + ], + [ + 768, + 513, + 47, + 72, + -21, + -71 + ], + [ + 816, + 513, + 47, + 72, + -21, + -71 + ], + [ + 864, + 513, + 47, + 72, + -21, + -71 + ], + [ + 912, + 513, + 47, + 72, + -21, + -71 + ], + [ + 960, + 513, + 47, + 72, + -21, + -71 + ], + [ + 0, + 586, + 47, + 72, + -21, + -71 + ], + [ + 48, + 586, + 47, + 72, + -21, + -71 + ], + [ + 96, + 586, + 47, + 72, + -21, + -71 + ], + [ + 144, + 586, + 47, + 72, + -21, + -71 + ], + [ + 192, + 586, + 47, + 72, + -21, + -71 + ], + [ + 240, + 586, + 47, + 72, + -21, + -71 + ], + [ + 288, + 586, + 47, + 72, + -21, + -71 + ], + [ + 336, + 586, + 47, + 72, + -21, + -71 + ], + [ + 384, + 586, + 47, + 72, + -21, + -71 + ], + [ + 432, + 586, + 47, + 72, + -21, + -71 + ], + [ + 480, + 586, + 47, + 72, + -21, + -71 + ], + [ + 528, + 586, + 47, + 72, + -21, + -71 + ], + [ + 576, + 586, + 47, + 72, + -21, + -71 + ], + [ + 624, + 586, + 47, + 72, + -21, + -71 + ], + [ + 672, + 586, + 47, + 72, + -21, + -71 + ], + [ + 720, + 586, + 47, + 72, + -21, + -71 + ], + [ + 768, + 586, + 47, + 72, + -21, + -71 + ], + [ + 816, + 586, + 47, + 72, + -21, + -71 + ], + [ + 864, + 586, + 47, + 72, + -21, + -71 + ], + [ + 912, + 586, + 47, + 72, + -21, + -71 + ], + [ + 960, + 586, + 47, + 72, + -21, + -71 + ], + [ + 0, + 659, + 47, + 72, + -21, + -71 + ], + [ + 48, + 659, + 47, + 72, + -21, + -71 + ] + ], + [ + [ + 96, + 659, + 50, + 72, + -22, + -71 + ], + [ + 147, + 659, + 50, + 72, + -22, + -71 + ], + [ + 198, + 659, + 50, + 72, + -22, + -71 + ], + [ + 249, + 659, + 50, + 72, + -22, + -71 + ], + [ + 300, + 659, + 50, + 72, + -22, + -71 + ], + [ + 351, + 659, + 50, + 72, + -22, + -71 + ], + [ + 402, + 659, + 50, + 72, + -22, + -71 + ], + [ + 453, + 659, + 50, + 72, + -22, + -71 + ], + [ + 504, + 659, + 50, + 72, + -22, + -71 + ], + [ + 555, + 659, + 50, + 72, + -22, + -71 + ], + [ + 606, + 659, + 50, + 72, + -22, + -71 + ], + [ + 657, + 659, + 50, + 72, + -22, + -71 + ], + [ + 708, + 659, + 50, + 72, + -22, + -71 + ], + [ + 759, + 659, + 50, + 72, + -22, + -71 + ], + [ + 810, + 659, + 50, + 72, + -22, + -71 + ], + [ + 861, + 659, + 50, + 72, + -22, + -71 + ], + [ + 912, + 659, + 50, + 72, + -22, + -71 + ], + [ + 963, + 659, + 50, + 72, + -22, + -71 + ], + [ + 0, + 732, + 50, + 72, + -22, + -71 + ], + [ + 51, + 732, + 50, + 72, + -22, + -71 + ], + [ + 102, + 732, + 50, + 72, + -22, + -71 + ], + [ + 153, + 732, + 50, + 72, + -22, + -71 + ], + [ + 204, + 732, + 50, + 72, + -22, + -71 + ], + [ + 255, + 732, + 50, + 72, + -22, + -71 + ], + [ + 306, + 732, + 50, + 72, + -22, + -71 + ], + [ + 357, + 732, + 50, + 72, + -22, + -71 + ], + [ + 408, + 732, + 50, + 72, + -22, + -71 + ], + [ + 459, + 732, + 50, + 72, + -22, + -71 + ], + [ + 510, + 732, + 50, + 72, + -22, + -71 + ], + [ + 561, + 732, + 50, + 72, + -22, + -71 + ], + [ + 612, + 732, + 50, + 72, + -22, + -71 + ] + ], + [ + [ + 663, + 732, + 50, + 73, + -30, + -72 + ], + [ + 714, + 732, + 50, + 73, + -30, + -72 + ], + [ + 765, + 732, + 50, + 73, + -30, + -72 + ], + [ + 816, + 732, + 50, + 73, + -30, + -72 + ], + [ + 867, + 732, + 50, + 73, + -30, + -72 + ], + [ + 918, + 732, + 50, + 73, + -30, + -72 + ], + [ + 969, + 732, + 50, + 73, + -30, + -72 + ], + [ + 0, + 806, + 50, + 73, + -30, + -72 + ], + [ + 51, + 806, + 50, + 73, + -30, + -72 + ], + [ + 102, + 806, + 50, + 73, + -30, + -72 + ], + [ + 153, + 806, + 50, + 73, + -30, + -72 + ], + [ + 204, + 806, + 50, + 73, + -30, + -72 + ], + [ + 255, + 806, + 50, + 73, + -30, + -72 + ], + [ + 306, + 806, + 50, + 73, + -30, + -72 + ], + [ + 357, + 806, + 50, + 73, + -30, + -72 + ], + [ + 408, + 806, + 50, + 73, + -30, + -72 + ], + [ + 459, + 806, + 50, + 73, + -30, + -72 + ], + [ + 510, + 806, + 50, + 73, + -30, + -72 + ], + [ + 561, + 806, + 50, + 73, + -30, + -72 + ], + [ + 612, + 806, + 50, + 73, + -30, + -72 + ], + [ + 663, + 806, + 50, + 73, + -30, + -72 + ], + [ + 714, + 806, + 50, + 73, + -30, + -72 + ], + [ + 765, + 806, + 50, + 73, + -30, + -72 + ], + [ + 816, + 806, + 50, + 73, + -30, + -72 + ], + [ + 867, + 806, + 50, + 73, + -30, + -72 + ], + [ + 918, + 806, + 50, + 73, + -30, + -72 + ], + [ + 969, + 806, + 50, + 73, + -30, + -72 + ], + [ + 0, + 880, + 50, + 73, + -30, + -72 + ], + [ + 51, + 880, + 50, + 73, + -30, + -72 + ], + [ + 102, + 880, + 50, + 73, + -30, + -72 + ], + [ + 153, + 880, + 50, + 73, + -30, + -72 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/plaguejavcloud.png b/public/missiles/plaguejavcloud.png new file mode 100644 index 0000000..5a63478 Binary files /dev/null and b/public/missiles/plaguejavcloud.png differ diff --git a/public/missiles/plaguejavelin.json b/public/missiles/plaguejavelin.json new file mode 100644 index 0000000..8b666bc --- /dev/null +++ b/public/missiles/plaguejavelin.json @@ -0,0 +1,331 @@ +{ + "name": "plaguejavelin", + "celFile": "Javelin", + "width": 512, + "height": 129, + "directions": 32, + "framesPerDirection": 1, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 59, + 24, + -30, + -69 + ] + ], + [ + [ + 60, + 0, + 58, + 23, + -25, + -66 + ] + ], + [ + [ + 119, + 0, + 59, + 24, + -32, + -66 + ] + ], + [ + [ + 179, + 0, + 59, + 23, + -31, + -68 + ] + ], + [ + [ + 239, + 0, + 6, + 32, + -4, + -72 + ] + ], + [ + [ + 246, + 0, + 83, + 3, + -39, + -58 + ] + ], + [ + [ + 330, + 0, + 6, + 33, + -2, + -70 + ] + ], + [ + [ + 337, + 0, + 81, + 3, + -43, + -57 + ] + ], + [ + [ + 419, + 0, + 33, + 29, + -17, + -71 + ] + ], + [ + [ + 0, + 34, + 76, + 14, + -37, + -64 + ] + ], + [ + [ + 77, + 34, + 76, + 13, + -34, + -62 + ] + ], + [ + [ + 154, + 34, + 33, + 30, + -13, + -69 + ] + ], + [ + [ + 188, + 34, + 33, + 29, + -18, + -68 + ] + ], + [ + [ + 222, + 34, + 76, + 13, + -41, + -61 + ] + ], + [ + [ + 299, + 34, + 76, + 13, + -40, + -63 + ] + ], + [ + [ + 376, + 34, + 33, + 30, + -18, + -71 + ] + ], + [ + [ + 410, + 34, + 18, + 31, + -10, + -72 + ] + ], + [ + [ + 429, + 34, + 47, + 27, + -24, + -70 + ] + ], + [ + [ + 0, + 66, + 69, + 18, + -34, + -66 + ] + ], + [ + [ + 70, + 66, + 81, + 8, + -39, + -61 + ] + ], + [ + [ + 152, + 66, + 80, + 8, + -37, + -60 + ] + ], + [ + [ + 233, + 66, + 68, + 19, + -30, + -65 + ] + ], + [ + [ + 302, + 66, + 46, + 27, + -19, + -68 + ] + ], + [ + [ + 349, + 66, + 18, + 31, + -7, + -69 + ] + ], + [ + [ + 368, + 66, + 18, + 31, + -9, + -69 + ] + ], + [ + [ + 387, + 66, + 46, + 27, + -25, + -67 + ] + ], + [ + [ + 434, + 66, + 69, + 19, + -37, + -64 + ] + ], + [ + [ + 0, + 98, + 80, + 8, + -43, + -59 + ] + ], + [ + [ + 81, + 98, + 80, + 8, + -42, + -60 + ] + ], + [ + [ + 162, + 98, + 69, + 18, + -36, + -65 + ] + ], + [ + [ + 232, + 98, + 47, + 27, + -25, + -70 + ] + ], + [ + [ + 280, + 98, + 18, + 31, + -10, + -72 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/plaguejavelin.png b/public/missiles/plaguejavelin.png new file mode 100644 index 0000000..552d094 Binary files /dev/null and b/public/missiles/plaguejavelin.png differ diff --git a/public/missiles/poisonjav.json b/public/missiles/poisonjav.json new file mode 100644 index 0000000..80351a6 --- /dev/null +++ b/public/missiles/poisonjav.json @@ -0,0 +1,331 @@ +{ + "name": "poisonjav", + "celFile": "Javelin", + "width": 512, + "height": 129, + "directions": 32, + "framesPerDirection": 1, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 59, + 24, + -30, + -69 + ] + ], + [ + [ + 60, + 0, + 58, + 23, + -25, + -66 + ] + ], + [ + [ + 119, + 0, + 59, + 24, + -32, + -66 + ] + ], + [ + [ + 179, + 0, + 59, + 23, + -31, + -68 + ] + ], + [ + [ + 239, + 0, + 6, + 32, + -4, + -72 + ] + ], + [ + [ + 246, + 0, + 83, + 3, + -39, + -58 + ] + ], + [ + [ + 330, + 0, + 6, + 33, + -2, + -70 + ] + ], + [ + [ + 337, + 0, + 81, + 3, + -43, + -57 + ] + ], + [ + [ + 419, + 0, + 33, + 29, + -17, + -71 + ] + ], + [ + [ + 0, + 34, + 76, + 14, + -37, + -64 + ] + ], + [ + [ + 77, + 34, + 76, + 13, + -34, + -62 + ] + ], + [ + [ + 154, + 34, + 33, + 30, + -13, + -69 + ] + ], + [ + [ + 188, + 34, + 33, + 29, + -18, + -68 + ] + ], + [ + [ + 222, + 34, + 76, + 13, + -41, + -61 + ] + ], + [ + [ + 299, + 34, + 76, + 13, + -40, + -63 + ] + ], + [ + [ + 376, + 34, + 33, + 30, + -18, + -71 + ] + ], + [ + [ + 410, + 34, + 18, + 31, + -10, + -72 + ] + ], + [ + [ + 429, + 34, + 47, + 27, + -24, + -70 + ] + ], + [ + [ + 0, + 66, + 69, + 18, + -34, + -66 + ] + ], + [ + [ + 70, + 66, + 81, + 8, + -39, + -61 + ] + ], + [ + [ + 152, + 66, + 80, + 8, + -37, + -60 + ] + ], + [ + [ + 233, + 66, + 68, + 19, + -30, + -65 + ] + ], + [ + [ + 302, + 66, + 46, + 27, + -19, + -68 + ] + ], + [ + [ + 349, + 66, + 18, + 31, + -7, + -69 + ] + ], + [ + [ + 368, + 66, + 18, + 31, + -9, + -69 + ] + ], + [ + [ + 387, + 66, + 46, + 27, + -25, + -67 + ] + ], + [ + [ + 434, + 66, + 69, + 19, + -37, + -64 + ] + ], + [ + [ + 0, + 98, + 80, + 8, + -43, + -59 + ] + ], + [ + [ + 81, + 98, + 80, + 8, + -42, + -60 + ] + ], + [ + [ + 162, + 98, + 69, + 18, + -36, + -65 + ] + ], + [ + [ + 232, + 98, + 47, + 27, + -25, + -70 + ] + ], + [ + [ + 280, + 98, + 18, + 31, + -10, + -72 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/poisonjav.png b/public/missiles/poisonjav.png new file mode 100644 index 0000000..552d094 Binary files /dev/null and b/public/missiles/poisonjav.png differ diff --git a/public/missiles/poisonjavcloud.json b/public/missiles/poisonjavcloud.json new file mode 100644 index 0000000..f7e3951 --- /dev/null +++ b/public/missiles/poisonjavcloud.json @@ -0,0 +1,2011 @@ +{ + "name": "poisonjavcloud", + "celFile": "PoisonSparks", + "width": 1024, + "height": 953, + "directions": 8, + "framesPerDirection": 31, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 45, + 69, + -23, + -68 + ], + [ + 46, + 0, + 45, + 69, + -23, + -68 + ], + [ + 92, + 0, + 45, + 69, + -23, + -68 + ], + [ + 138, + 0, + 45, + 69, + -23, + -68 + ], + [ + 184, + 0, + 45, + 69, + -23, + -68 + ], + [ + 230, + 0, + 45, + 69, + -23, + -68 + ], + [ + 276, + 0, + 45, + 69, + -23, + -68 + ], + [ + 322, + 0, + 45, + 69, + -23, + -68 + ], + [ + 368, + 0, + 45, + 69, + -23, + -68 + ], + [ + 414, + 0, + 45, + 69, + -23, + -68 + ], + [ + 460, + 0, + 45, + 69, + -23, + -68 + ], + [ + 506, + 0, + 45, + 69, + -23, + -68 + ], + [ + 552, + 0, + 45, + 69, + -23, + -68 + ], + [ + 598, + 0, + 45, + 69, + -23, + -68 + ], + [ + 644, + 0, + 45, + 69, + -23, + -68 + ], + [ + 690, + 0, + 45, + 69, + -23, + -68 + ], + [ + 736, + 0, + 45, + 69, + -23, + -68 + ], + [ + 782, + 0, + 45, + 69, + -23, + -68 + ], + [ + 828, + 0, + 45, + 69, + -23, + -68 + ], + [ + 874, + 0, + 45, + 69, + -23, + -68 + ], + [ + 920, + 0, + 45, + 69, + -23, + -68 + ], + [ + 966, + 0, + 45, + 69, + -23, + -68 + ], + [ + 0, + 70, + 45, + 69, + -23, + -68 + ], + [ + 46, + 70, + 45, + 69, + -23, + -68 + ], + [ + 92, + 70, + 45, + 69, + -23, + -68 + ], + [ + 138, + 70, + 45, + 69, + -23, + -68 + ], + [ + 184, + 70, + 45, + 69, + -23, + -68 + ], + [ + 230, + 70, + 45, + 69, + -23, + -68 + ], + [ + 276, + 70, + 45, + 69, + -23, + -68 + ], + [ + 322, + 70, + 45, + 69, + -23, + -68 + ], + [ + 368, + 70, + 45, + 69, + -23, + -68 + ] + ], + [ + [ + 414, + 70, + 48, + 72, + -20, + -71 + ], + [ + 463, + 70, + 48, + 72, + -20, + -71 + ], + [ + 512, + 70, + 48, + 72, + -20, + -71 + ], + [ + 561, + 70, + 48, + 72, + -20, + -71 + ], + [ + 610, + 70, + 48, + 72, + -20, + -71 + ], + [ + 659, + 70, + 48, + 72, + -20, + -71 + ], + [ + 708, + 70, + 48, + 72, + -20, + -71 + ], + [ + 757, + 70, + 48, + 72, + -20, + -71 + ], + [ + 806, + 70, + 48, + 72, + -20, + -71 + ], + [ + 855, + 70, + 48, + 72, + -20, + -71 + ], + [ + 904, + 70, + 48, + 72, + -20, + -71 + ], + [ + 953, + 70, + 48, + 72, + -20, + -71 + ], + [ + 0, + 143, + 48, + 72, + -20, + -71 + ], + [ + 49, + 143, + 48, + 72, + -20, + -71 + ], + [ + 98, + 143, + 48, + 72, + -20, + -71 + ], + [ + 147, + 143, + 48, + 72, + -20, + -71 + ], + [ + 196, + 143, + 48, + 72, + -20, + -71 + ], + [ + 245, + 143, + 48, + 72, + -20, + -71 + ], + [ + 294, + 143, + 48, + 72, + -20, + -71 + ], + [ + 343, + 143, + 48, + 72, + -20, + -71 + ], + [ + 392, + 143, + 48, + 72, + -20, + -71 + ], + [ + 441, + 143, + 48, + 72, + -20, + -71 + ], + [ + 490, + 143, + 48, + 72, + -20, + -71 + ], + [ + 539, + 143, + 48, + 72, + -20, + -71 + ], + [ + 588, + 143, + 48, + 72, + -20, + -71 + ], + [ + 637, + 143, + 48, + 72, + -20, + -71 + ], + [ + 686, + 143, + 48, + 72, + -20, + -71 + ], + [ + 735, + 143, + 48, + 72, + -20, + -71 + ], + [ + 784, + 143, + 48, + 72, + -20, + -71 + ], + [ + 833, + 143, + 48, + 72, + -20, + -71 + ], + [ + 882, + 143, + 48, + 72, + -20, + -71 + ] + ], + [ + [ + 931, + 143, + 52, + 70, + -25, + -69 + ], + [ + 0, + 216, + 52, + 70, + -25, + -69 + ], + [ + 53, + 216, + 52, + 70, + -25, + -69 + ], + [ + 106, + 216, + 52, + 70, + -25, + -69 + ], + [ + 159, + 216, + 52, + 70, + -25, + -69 + ], + [ + 212, + 216, + 52, + 70, + -25, + -69 + ], + [ + 265, + 216, + 52, + 70, + -25, + -69 + ], + [ + 318, + 216, + 52, + 70, + -25, + -69 + ], + [ + 371, + 216, + 52, + 70, + -25, + -69 + ], + [ + 424, + 216, + 52, + 70, + -25, + -69 + ], + [ + 477, + 216, + 52, + 70, + -25, + -69 + ], + [ + 530, + 216, + 52, + 70, + -25, + -69 + ], + [ + 583, + 216, + 52, + 70, + -25, + -69 + ], + [ + 636, + 216, + 52, + 70, + -25, + -69 + ], + [ + 689, + 216, + 52, + 70, + -25, + -69 + ], + [ + 742, + 216, + 52, + 70, + -25, + -69 + ], + [ + 795, + 216, + 52, + 70, + -25, + -69 + ], + [ + 848, + 216, + 52, + 70, + -25, + -69 + ], + [ + 901, + 216, + 52, + 70, + -25, + -69 + ], + [ + 954, + 216, + 52, + 70, + -25, + -69 + ], + [ + 0, + 287, + 52, + 70, + -25, + -69 + ], + [ + 53, + 287, + 52, + 70, + -25, + -69 + ], + [ + 106, + 287, + 52, + 70, + -25, + -69 + ], + [ + 159, + 287, + 52, + 70, + -25, + -69 + ], + [ + 212, + 287, + 52, + 70, + -25, + -69 + ], + [ + 265, + 287, + 52, + 70, + -25, + -69 + ], + [ + 318, + 287, + 52, + 70, + -25, + -69 + ], + [ + 371, + 287, + 52, + 70, + -25, + -69 + ], + [ + 424, + 287, + 52, + 70, + -25, + -69 + ], + [ + 477, + 287, + 52, + 70, + -25, + -69 + ], + [ + 530, + 287, + 52, + 70, + -25, + -69 + ] + ], + [ + [ + 583, + 287, + 44, + 77, + -25, + -76 + ], + [ + 628, + 287, + 44, + 77, + -25, + -76 + ], + [ + 673, + 287, + 44, + 77, + -25, + -76 + ], + [ + 718, + 287, + 44, + 77, + -25, + -76 + ], + [ + 763, + 287, + 44, + 77, + -25, + -76 + ], + [ + 808, + 287, + 44, + 77, + -25, + -76 + ], + [ + 853, + 287, + 44, + 77, + -25, + -76 + ], + [ + 898, + 287, + 44, + 77, + -25, + -76 + ], + [ + 943, + 287, + 44, + 77, + -25, + -76 + ], + [ + 0, + 365, + 44, + 77, + -25, + -76 + ], + [ + 45, + 365, + 44, + 77, + -25, + -76 + ], + [ + 90, + 365, + 44, + 77, + -25, + -76 + ], + [ + 135, + 365, + 44, + 77, + -25, + -76 + ], + [ + 180, + 365, + 44, + 77, + -25, + -76 + ], + [ + 225, + 365, + 44, + 77, + -25, + -76 + ], + [ + 270, + 365, + 44, + 77, + -25, + -76 + ], + [ + 315, + 365, + 44, + 77, + -25, + -76 + ], + [ + 360, + 365, + 44, + 77, + -25, + -76 + ], + [ + 405, + 365, + 44, + 77, + -25, + -76 + ], + [ + 450, + 365, + 44, + 77, + -25, + -76 + ], + [ + 495, + 365, + 44, + 77, + -25, + -76 + ], + [ + 540, + 365, + 44, + 77, + -25, + -76 + ], + [ + 585, + 365, + 44, + 77, + -25, + -76 + ], + [ + 630, + 365, + 44, + 77, + -25, + -76 + ], + [ + 675, + 365, + 44, + 77, + -25, + -76 + ], + [ + 720, + 365, + 44, + 77, + -25, + -76 + ], + [ + 765, + 365, + 44, + 77, + -25, + -76 + ], + [ + 810, + 365, + 44, + 77, + -25, + -76 + ], + [ + 855, + 365, + 44, + 77, + -25, + -76 + ], + [ + 900, + 365, + 44, + 77, + -25, + -76 + ], + [ + 945, + 365, + 44, + 77, + -25, + -76 + ] + ], + [ + [ + 0, + 443, + 51, + 69, + -27, + -68 + ], + [ + 52, + 443, + 51, + 69, + -27, + -68 + ], + [ + 104, + 443, + 51, + 69, + -27, + -68 + ], + [ + 156, + 443, + 51, + 69, + -27, + -68 + ], + [ + 208, + 443, + 51, + 69, + -27, + -68 + ], + [ + 260, + 443, + 51, + 69, + -27, + -68 + ], + [ + 312, + 443, + 51, + 69, + -27, + -68 + ], + [ + 364, + 443, + 51, + 69, + -27, + -68 + ], + [ + 416, + 443, + 51, + 69, + -27, + -68 + ], + [ + 468, + 443, + 51, + 69, + -27, + -68 + ], + [ + 520, + 443, + 51, + 69, + -27, + -68 + ], + [ + 572, + 443, + 51, + 69, + -27, + -68 + ], + [ + 624, + 443, + 51, + 69, + -27, + -68 + ], + [ + 676, + 443, + 51, + 69, + -27, + -68 + ], + [ + 728, + 443, + 51, + 69, + -27, + -68 + ], + [ + 780, + 443, + 51, + 69, + -27, + -68 + ], + [ + 832, + 443, + 51, + 69, + -27, + -68 + ], + [ + 884, + 443, + 51, + 69, + -27, + -68 + ], + [ + 936, + 443, + 51, + 69, + -27, + -68 + ], + [ + 0, + 513, + 51, + 69, + -27, + -68 + ], + [ + 52, + 513, + 51, + 69, + -27, + -68 + ], + [ + 104, + 513, + 51, + 69, + -27, + -68 + ], + [ + 156, + 513, + 51, + 69, + -27, + -68 + ], + [ + 208, + 513, + 51, + 69, + -27, + -68 + ], + [ + 260, + 513, + 51, + 69, + -27, + -68 + ], + [ + 312, + 513, + 51, + 69, + -27, + -68 + ], + [ + 364, + 513, + 51, + 69, + -27, + -68 + ], + [ + 416, + 513, + 51, + 69, + -27, + -68 + ], + [ + 468, + 513, + 51, + 69, + -27, + -68 + ], + [ + 520, + 513, + 51, + 69, + -27, + -68 + ], + [ + 572, + 513, + 51, + 69, + -27, + -68 + ] + ], + [ + [ + 624, + 513, + 47, + 72, + -21, + -71 + ], + [ + 672, + 513, + 47, + 72, + -21, + -71 + ], + [ + 720, + 513, + 47, + 72, + -21, + -71 + ], + [ + 768, + 513, + 47, + 72, + -21, + -71 + ], + [ + 816, + 513, + 47, + 72, + -21, + -71 + ], + [ + 864, + 513, + 47, + 72, + -21, + -71 + ], + [ + 912, + 513, + 47, + 72, + -21, + -71 + ], + [ + 960, + 513, + 47, + 72, + -21, + -71 + ], + [ + 0, + 586, + 47, + 72, + -21, + -71 + ], + [ + 48, + 586, + 47, + 72, + -21, + -71 + ], + [ + 96, + 586, + 47, + 72, + -21, + -71 + ], + [ + 144, + 586, + 47, + 72, + -21, + -71 + ], + [ + 192, + 586, + 47, + 72, + -21, + -71 + ], + [ + 240, + 586, + 47, + 72, + -21, + -71 + ], + [ + 288, + 586, + 47, + 72, + -21, + -71 + ], + [ + 336, + 586, + 47, + 72, + -21, + -71 + ], + [ + 384, + 586, + 47, + 72, + -21, + -71 + ], + [ + 432, + 586, + 47, + 72, + -21, + -71 + ], + [ + 480, + 586, + 47, + 72, + -21, + -71 + ], + [ + 528, + 586, + 47, + 72, + -21, + -71 + ], + [ + 576, + 586, + 47, + 72, + -21, + -71 + ], + [ + 624, + 586, + 47, + 72, + -21, + -71 + ], + [ + 672, + 586, + 47, + 72, + -21, + -71 + ], + [ + 720, + 586, + 47, + 72, + -21, + -71 + ], + [ + 768, + 586, + 47, + 72, + -21, + -71 + ], + [ + 816, + 586, + 47, + 72, + -21, + -71 + ], + [ + 864, + 586, + 47, + 72, + -21, + -71 + ], + [ + 912, + 586, + 47, + 72, + -21, + -71 + ], + [ + 960, + 586, + 47, + 72, + -21, + -71 + ], + [ + 0, + 659, + 47, + 72, + -21, + -71 + ], + [ + 48, + 659, + 47, + 72, + -21, + -71 + ] + ], + [ + [ + 96, + 659, + 50, + 72, + -22, + -71 + ], + [ + 147, + 659, + 50, + 72, + -22, + -71 + ], + [ + 198, + 659, + 50, + 72, + -22, + -71 + ], + [ + 249, + 659, + 50, + 72, + -22, + -71 + ], + [ + 300, + 659, + 50, + 72, + -22, + -71 + ], + [ + 351, + 659, + 50, + 72, + -22, + -71 + ], + [ + 402, + 659, + 50, + 72, + -22, + -71 + ], + [ + 453, + 659, + 50, + 72, + -22, + -71 + ], + [ + 504, + 659, + 50, + 72, + -22, + -71 + ], + [ + 555, + 659, + 50, + 72, + -22, + -71 + ], + [ + 606, + 659, + 50, + 72, + -22, + -71 + ], + [ + 657, + 659, + 50, + 72, + -22, + -71 + ], + [ + 708, + 659, + 50, + 72, + -22, + -71 + ], + [ + 759, + 659, + 50, + 72, + -22, + -71 + ], + [ + 810, + 659, + 50, + 72, + -22, + -71 + ], + [ + 861, + 659, + 50, + 72, + -22, + -71 + ], + [ + 912, + 659, + 50, + 72, + -22, + -71 + ], + [ + 963, + 659, + 50, + 72, + -22, + -71 + ], + [ + 0, + 732, + 50, + 72, + -22, + -71 + ], + [ + 51, + 732, + 50, + 72, + -22, + -71 + ], + [ + 102, + 732, + 50, + 72, + -22, + -71 + ], + [ + 153, + 732, + 50, + 72, + -22, + -71 + ], + [ + 204, + 732, + 50, + 72, + -22, + -71 + ], + [ + 255, + 732, + 50, + 72, + -22, + -71 + ], + [ + 306, + 732, + 50, + 72, + -22, + -71 + ], + [ + 357, + 732, + 50, + 72, + -22, + -71 + ], + [ + 408, + 732, + 50, + 72, + -22, + -71 + ], + [ + 459, + 732, + 50, + 72, + -22, + -71 + ], + [ + 510, + 732, + 50, + 72, + -22, + -71 + ], + [ + 561, + 732, + 50, + 72, + -22, + -71 + ], + [ + 612, + 732, + 50, + 72, + -22, + -71 + ] + ], + [ + [ + 663, + 732, + 50, + 73, + -30, + -72 + ], + [ + 714, + 732, + 50, + 73, + -30, + -72 + ], + [ + 765, + 732, + 50, + 73, + -30, + -72 + ], + [ + 816, + 732, + 50, + 73, + -30, + -72 + ], + [ + 867, + 732, + 50, + 73, + -30, + -72 + ], + [ + 918, + 732, + 50, + 73, + -30, + -72 + ], + [ + 969, + 732, + 50, + 73, + -30, + -72 + ], + [ + 0, + 806, + 50, + 73, + -30, + -72 + ], + [ + 51, + 806, + 50, + 73, + -30, + -72 + ], + [ + 102, + 806, + 50, + 73, + -30, + -72 + ], + [ + 153, + 806, + 50, + 73, + -30, + -72 + ], + [ + 204, + 806, + 50, + 73, + -30, + -72 + ], + [ + 255, + 806, + 50, + 73, + -30, + -72 + ], + [ + 306, + 806, + 50, + 73, + -30, + -72 + ], + [ + 357, + 806, + 50, + 73, + -30, + -72 + ], + [ + 408, + 806, + 50, + 73, + -30, + -72 + ], + [ + 459, + 806, + 50, + 73, + -30, + -72 + ], + [ + 510, + 806, + 50, + 73, + -30, + -72 + ], + [ + 561, + 806, + 50, + 73, + -30, + -72 + ], + [ + 612, + 806, + 50, + 73, + -30, + -72 + ], + [ + 663, + 806, + 50, + 73, + -30, + -72 + ], + [ + 714, + 806, + 50, + 73, + -30, + -72 + ], + [ + 765, + 806, + 50, + 73, + -30, + -72 + ], + [ + 816, + 806, + 50, + 73, + -30, + -72 + ], + [ + 867, + 806, + 50, + 73, + -30, + -72 + ], + [ + 918, + 806, + 50, + 73, + -30, + -72 + ], + [ + 969, + 806, + 50, + 73, + -30, + -72 + ], + [ + 0, + 880, + 50, + 73, + -30, + -72 + ], + [ + 51, + 880, + 50, + 73, + -30, + -72 + ], + [ + 102, + 880, + 50, + 73, + -30, + -72 + ], + [ + 153, + 880, + 50, + 73, + -30, + -72 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/poisonjavcloud.png b/public/missiles/poisonjavcloud.png new file mode 100644 index 0000000..5a63478 Binary files /dev/null and b/public/missiles/poisonjavcloud.png differ diff --git a/public/missiles/strafearrow.json b/public/missiles/strafearrow.json new file mode 100644 index 0000000..220321b --- /dev/null +++ b/public/missiles/strafearrow.json @@ -0,0 +1,331 @@ +{ + "name": "strafearrow", + "celFile": "Arrow", + "width": 512, + "height": 36, + "directions": 32, + "framesPerDirection": 1, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 31, + 13, + -16, + -56 + ] + ], + [ + [ + 32, + 0, + 31, + 13, + -15, + -55 + ] + ], + [ + [ + 64, + 0, + 30, + 14, + -15, + -55 + ] + ], + [ + [ + 95, + 0, + 31, + 14, + -15, + -56 + ] + ], + [ + [ + 127, + 0, + 4, + 18, + -2, + -58 + ] + ], + [ + [ + 132, + 0, + 42, + 5, + -22, + -52 + ] + ], + [ + [ + 175, + 0, + 4, + 17, + -2, + -57 + ] + ], + [ + [ + 180, + 0, + 41, + 5, + -20, + -51 + ] + ], + [ + [ + 222, + 0, + 18, + 17, + -9, + -58 + ] + ], + [ + [ + 241, + 0, + 39, + 9, + -20, + -54 + ] + ], + [ + [ + 281, + 0, + 39, + 8, + -20, + -53 + ] + ], + [ + [ + 321, + 0, + 18, + 16, + -8, + -57 + ] + ], + [ + [ + 340, + 0, + 18, + 17, + -9, + -57 + ] + ], + [ + [ + 359, + 0, + 39, + 9, + -19, + -53 + ] + ], + [ + [ + 399, + 0, + 39, + 8, + -19, + -53 + ] + ], + [ + [ + 439, + 0, + 18, + 16, + -9, + -57 + ] + ], + [ + [ + 458, + 0, + 11, + 18, + -6, + -58 + ] + ], + [ + [ + 470, + 0, + 25, + 15, + -13, + -57 + ] + ], + [ + [ + 0, + 19, + 35, + 12, + -18, + -56 + ] + ], + [ + [ + 36, + 19, + 41, + 7, + -21, + -53 + ] + ], + [ + [ + 78, + 19, + 41, + 6, + -21, + -52 + ] + ], + [ + [ + 120, + 19, + 35, + 11, + -17, + -54 + ] + ], + [ + [ + 156, + 19, + 25, + 15, + -12, + -56 + ] + ], + [ + [ + 182, + 19, + 11, + 17, + -5, + -57 + ] + ], + [ + [ + 194, + 19, + 11, + 17, + -6, + -57 + ] + ], + [ + [ + 206, + 19, + 25, + 16, + -13, + -56 + ] + ], + [ + [ + 232, + 19, + 35, + 12, + -17, + -54 + ] + ], + [ + [ + 268, + 19, + 41, + 7, + -20, + -52 + ] + ], + [ + [ + 310, + 19, + 41, + 6, + -20, + -52 + ] + ], + [ + [ + 352, + 19, + 35, + 12, + -17, + -55 + ] + ], + [ + [ + 388, + 19, + 24, + 16, + -12, + -57 + ] + ], + [ + [ + 413, + 19, + 10, + 17, + -5, + -57 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/strafearrow.png b/public/missiles/strafearrow.png new file mode 100644 index 0000000..294806d Binary files /dev/null and b/public/missiles/strafearrow.png differ diff --git a/public/missiles/strafebolt.json b/public/missiles/strafebolt.json new file mode 100644 index 0000000..088584f --- /dev/null +++ b/public/missiles/strafebolt.json @@ -0,0 +1,331 @@ +{ + "name": "strafebolt", + "celFile": "XBowBolt", + "width": 512, + "height": 9, + "directions": 32, + "framesPerDirection": 1, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 14, + 7, + -6, + -62 + ] + ], + [ + [ + 15, + 0, + 14, + 7, + -4, + -59 + ] + ], + [ + [ + 30, + 0, + 14, + 7, + -8, + -58 + ] + ], + [ + [ + 45, + 0, + 13, + 6, + -10, + -60 + ] + ], + [ + [ + 59, + 0, + 4, + 8, + -4, + -62 + ] + ], + [ + [ + 64, + 0, + 18, + 5, + -7, + -60 + ] + ], + [ + [ + 83, + 0, + 5, + 9, + -1, + -59 + ] + ], + [ + [ + 89, + 0, + 17, + 4, + -11, + -57 + ] + ], + [ + [ + 107, + 0, + 9, + 8, + -5, + -62 + ] + ], + [ + [ + 117, + 0, + 17, + 6, + -7, + -61 + ] + ], + [ + [ + 135, + 0, + 17, + 5, + -5, + -59 + ] + ], + [ + [ + 153, + 0, + 8, + 8, + -1, + -59 + ] + ], + [ + [ + 162, + 0, + 8, + 8, + -4, + -58 + ] + ], + [ + [ + 171, + 0, + 17, + 5, + -10, + -57 + ] + ], + [ + [ + 189, + 0, + 17, + 5, + -12, + -59 + ] + ], + [ + [ + 207, + 0, + 8, + 8, + -7, + -61 + ] + ], + [ + [ + 216, + 0, + 6, + 8, + -4, + -62 + ] + ], + [ + [ + 223, + 0, + 11, + 8, + -5, + -62 + ] + ], + [ + [ + 235, + 0, + 15, + 7, + -6, + -62 + ] + ], + [ + [ + 251, + 0, + 18, + 5, + -7, + -60 + ] + ], + [ + [ + 270, + 0, + 18, + 4, + -6, + -59 + ] + ], + [ + [ + 289, + 0, + 15, + 6, + -4, + -59 + ] + ], + [ + [ + 305, + 0, + 11, + 7, + -2, + -59 + ] + ], + [ + [ + 317, + 0, + 6, + 8, + 0, + -59 + ] + ], + [ + [ + 324, + 0, + 6, + 9, + -2, + -59 + ] + ], + [ + [ + 331, + 0, + 11, + 8, + -6, + -58 + ] + ], + [ + [ + 343, + 0, + 15, + 7, + -9, + -58 + ] + ], + [ + [ + 359, + 0, + 18, + 5, + -11, + -57 + ] + ], + [ + [ + 378, + 0, + 18, + 4, + -12, + -58 + ] + ], + [ + [ + 397, + 0, + 16, + 5, + -11, + -59 + ] + ], + [ + [ + 414, + 0, + 11, + 7, + -9, + -61 + ] + ], + [ + [ + 426, + 0, + 5, + 8, + -5, + -61 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/strafebolt.png b/public/missiles/strafebolt.png new file mode 100644 index 0000000..0315b31 Binary files /dev/null and b/public/missiles/strafebolt.png differ diff --git a/public/overlays/DopplezonAppear.json b/public/overlays/DopplezonAppear.json new file mode 100644 index 0000000..da70851 --- /dev/null +++ b/public/overlays/DopplezonAppear.json @@ -0,0 +1,180 @@ +{ + "name": "dopllezon_appear", + "celFile": "DopplezonAppear", + "width": 1024, + "height": 437, + "directions": 1, + "frames": 19, + "framesPerDirection": 19, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 200, + 200, + 255 + ], + "box": { + "left": -73, + "top": -120, + "width": 144, + "height": 145 + }, + "groups": [ + [ + [ + 0, + 0, + 144, + 145, + -73, + -120 + ], + [ + 145, + 0, + 144, + 145, + -73, + -120 + ], + [ + 290, + 0, + 144, + 145, + -73, + -120 + ], + [ + 435, + 0, + 144, + 145, + -73, + -120 + ], + [ + 580, + 0, + 144, + 145, + -73, + -120 + ], + [ + 725, + 0, + 144, + 145, + -73, + -120 + ], + [ + 870, + 0, + 144, + 145, + -73, + -120 + ], + [ + 0, + 146, + 144, + 145, + -73, + -120 + ], + [ + 145, + 146, + 144, + 145, + -73, + -120 + ], + [ + 290, + 146, + 144, + 145, + -73, + -120 + ], + [ + 435, + 146, + 144, + 145, + -73, + -120 + ], + [ + 580, + 146, + 144, + 145, + -73, + -120 + ], + [ + 725, + 146, + 144, + 145, + -73, + -120 + ], + [ + 870, + 146, + 144, + 145, + -73, + -120 + ], + [ + 0, + 292, + 144, + 145, + -73, + -120 + ], + [ + 145, + 292, + 144, + 145, + -73, + -120 + ], + [ + 290, + 292, + 144, + 145, + -73, + -120 + ], + [ + 435, + 292, + 144, + 145, + -73, + -120 + ], + [ + 580, + 292, + 144, + 145, + -73, + -120 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/DopplezonAppear.png b/public/overlays/DopplezonAppear.png new file mode 100644 index 0000000..7960e6a Binary files /dev/null and b/public/overlays/DopplezonAppear.png differ diff --git a/public/overlays/EOZCast.json b/public/overlays/EOZCast.json new file mode 100644 index 0000000..7c93fb2 --- /dev/null +++ b/public/overlays/EOZCast.json @@ -0,0 +1,260 @@ +{ + "name": "cast_innersight", + "celFile": "EOZCast", + "width": 1024, + "height": 599, + "directions": 1, + "frames": 29, + "framesPerDirection": 29, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -76, + "top": -148, + "width": 139, + "height": 119 + }, + "groups": [ + [ + [ + 0, + 0, + 139, + 119, + -76, + -148 + ], + [ + 140, + 0, + 139, + 119, + -76, + -148 + ], + [ + 280, + 0, + 139, + 119, + -76, + -148 + ], + [ + 420, + 0, + 139, + 119, + -76, + -148 + ], + [ + 560, + 0, + 139, + 119, + -76, + -148 + ], + [ + 700, + 0, + 139, + 119, + -76, + -148 + ], + [ + 840, + 0, + 139, + 119, + -76, + -148 + ], + [ + 0, + 120, + 139, + 119, + -76, + -148 + ], + [ + 140, + 120, + 139, + 119, + -76, + -148 + ], + [ + 280, + 120, + 139, + 119, + -76, + -148 + ], + [ + 420, + 120, + 139, + 119, + -76, + -148 + ], + [ + 560, + 120, + 139, + 119, + -76, + -148 + ], + [ + 700, + 120, + 139, + 119, + -76, + -148 + ], + [ + 840, + 120, + 139, + 119, + -76, + -148 + ], + [ + 0, + 240, + 139, + 119, + -76, + -148 + ], + [ + 140, + 240, + 139, + 119, + -76, + -148 + ], + [ + 280, + 240, + 139, + 119, + -76, + -148 + ], + [ + 420, + 240, + 139, + 119, + -76, + -148 + ], + [ + 560, + 240, + 139, + 119, + -76, + -148 + ], + [ + 700, + 240, + 139, + 119, + -76, + -148 + ], + [ + 840, + 240, + 139, + 119, + -76, + -148 + ], + [ + 0, + 360, + 139, + 119, + -76, + -148 + ], + [ + 140, + 360, + 139, + 119, + -76, + -148 + ], + [ + 280, + 360, + 139, + 119, + -76, + -148 + ], + [ + 420, + 360, + 139, + 119, + -76, + -148 + ], + [ + 560, + 360, + 139, + 119, + -76, + -148 + ], + [ + 700, + 360, + 139, + 119, + -76, + -148 + ], + [ + 840, + 360, + 139, + 119, + -76, + -148 + ], + [ + 0, + 480, + 139, + 119, + -76, + -148 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/EOZCast.png b/public/overlays/EOZCast.png new file mode 100644 index 0000000..b0e3bc4 Binary files /dev/null and b/public/overlays/EOZCast.png differ diff --git a/public/overlays/HOAcast.json b/public/overlays/HOAcast.json new file mode 100644 index 0000000..17de0ee --- /dev/null +++ b/public/overlays/HOAcast.json @@ -0,0 +1,196 @@ +{ + "name": "cast_slowmissiles", + "celFile": "HOAcast", + "width": 1024, + "height": 611, + "directions": 1, + "frames": 21, + "framesPerDirection": 21, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -78, + "top": -143, + "width": 151, + "height": 152 + }, + "groups": [ + [ + [ + 0, + 0, + 151, + 152, + -78, + -143 + ], + [ + 152, + 0, + 151, + 152, + -78, + -143 + ], + [ + 304, + 0, + 151, + 152, + -78, + -143 + ], + [ + 456, + 0, + 151, + 152, + -78, + -143 + ], + [ + 608, + 0, + 151, + 152, + -78, + -143 + ], + [ + 760, + 0, + 151, + 152, + -78, + -143 + ], + [ + 0, + 153, + 151, + 152, + -78, + -143 + ], + [ + 152, + 153, + 151, + 152, + -78, + -143 + ], + [ + 304, + 153, + 151, + 152, + -78, + -143 + ], + [ + 456, + 153, + 151, + 152, + -78, + -143 + ], + [ + 608, + 153, + 151, + 152, + -78, + -143 + ], + [ + 760, + 153, + 151, + 152, + -78, + -143 + ], + [ + 0, + 306, + 151, + 152, + -78, + -143 + ], + [ + 152, + 306, + 151, + 152, + -78, + -143 + ], + [ + 304, + 306, + 151, + 152, + -78, + -143 + ], + [ + 456, + 306, + 151, + 152, + -78, + -143 + ], + [ + 608, + 306, + 151, + 152, + -78, + -143 + ], + [ + 760, + 306, + 151, + 152, + -78, + -143 + ], + [ + 0, + 459, + 151, + 152, + -78, + -143 + ], + [ + 152, + 459, + 151, + 152, + -78, + -143 + ], + [ + 304, + 459, + 151, + 152, + -78, + -143 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/HOAcast.png b/public/overlays/HOAcast.png new file mode 100644 index 0000000..7814a03 Binary files /dev/null and b/public/overlays/HOAcast.png differ diff --git a/public/overlays/HOAmissileExplode.json b/public/overlays/HOAmissileExplode.json new file mode 100644 index 0000000..8fb8726 --- /dev/null +++ b/public/overlays/HOAmissileExplode.json @@ -0,0 +1,100 @@ +{ + "name": "handofathena", + "celFile": "HOAmissileExplode", + "width": 512, + "height": 317, + "directions": 1, + "frames": 9, + "framesPerDirection": 9, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -53, + "top": -98, + "width": 106, + "height": 105 + }, + "groups": [ + [ + [ + 0, + 0, + 106, + 105, + -53, + -98 + ], + [ + 107, + 0, + 106, + 105, + -53, + -98 + ], + [ + 214, + 0, + 106, + 105, + -53, + -98 + ], + [ + 321, + 0, + 106, + 105, + -53, + -98 + ], + [ + 0, + 106, + 106, + 105, + -53, + -98 + ], + [ + 107, + 106, + 106, + 105, + -53, + -98 + ], + [ + 214, + 106, + 106, + 105, + -53, + -98 + ], + [ + 321, + 106, + 106, + 105, + -53, + -98 + ], + [ + 0, + 212, + 106, + 105, + -53, + -98 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/HOAmissileExplode.png b/public/overlays/HOAmissileExplode.png new file mode 100644 index 0000000..ef287fd Binary files /dev/null and b/public/overlays/HOAmissileExplode.png differ diff --git a/public/overlays/HardenArmor.json b/public/overlays/HardenArmor.json new file mode 100644 index 0000000..449185b --- /dev/null +++ b/public/overlays/HardenArmor.json @@ -0,0 +1,220 @@ +{ + "name": "innersight", + "celFile": "HardenArmor", + "width": 512, + "height": 129, + "directions": 1, + "frames": 24, + "framesPerDirection": 24, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 255, + 255, + 128 + ], + "box": { + "left": -16, + "top": -63, + "width": 30, + "height": 64 + }, + "groups": [ + [ + [ + 0, + 0, + 30, + 64, + -16, + -63 + ], + [ + 31, + 0, + 30, + 64, + -16, + -63 + ], + [ + 62, + 0, + 30, + 64, + -16, + -63 + ], + [ + 93, + 0, + 30, + 64, + -16, + -63 + ], + [ + 124, + 0, + 30, + 64, + -16, + -63 + ], + [ + 155, + 0, + 30, + 64, + -16, + -63 + ], + [ + 186, + 0, + 30, + 64, + -16, + -63 + ], + [ + 217, + 0, + 30, + 64, + -16, + -63 + ], + [ + 248, + 0, + 30, + 64, + -16, + -63 + ], + [ + 279, + 0, + 30, + 64, + -16, + -63 + ], + [ + 310, + 0, + 30, + 64, + -16, + -63 + ], + [ + 341, + 0, + 30, + 64, + -16, + -63 + ], + [ + 372, + 0, + 30, + 64, + -16, + -63 + ], + [ + 403, + 0, + 30, + 64, + -16, + -63 + ], + [ + 434, + 0, + 30, + 64, + -16, + -63 + ], + [ + 465, + 0, + 30, + 64, + -16, + -63 + ], + [ + 0, + 65, + 30, + 64, + -16, + -63 + ], + [ + 31, + 65, + 30, + 64, + -16, + -63 + ], + [ + 62, + 65, + 30, + 64, + -16, + -63 + ], + [ + 93, + 65, + 30, + 64, + -16, + -63 + ], + [ + 124, + 65, + 30, + 64, + -16, + -63 + ], + [ + 155, + 65, + 30, + 64, + -16, + -63 + ], + [ + 186, + 65, + 30, + 64, + -16, + -63 + ], + [ + 217, + 65, + 30, + 64, + -16, + -63 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/HardenArmor.png b/public/overlays/HardenArmor.png new file mode 100644 index 0000000..067a3b5 Binary files /dev/null and b/public/overlays/HardenArmor.png differ diff --git a/public/overlays/ValkarieEmerge.json b/public/overlays/ValkarieEmerge.json new file mode 100644 index 0000000..fedf322 --- /dev/null +++ b/public/overlays/ValkarieEmerge.json @@ -0,0 +1,156 @@ +{ + "name": "valkyriestart", + "celFile": "ValkarieEmerge", + "width": 1024, + "height": 476, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 8, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -77, + "top": -119, + "width": 150, + "height": 158 + }, + "groups": [ + [ + [ + 0, + 0, + 150, + 158, + -77, + -119 + ], + [ + 151, + 0, + 150, + 158, + -77, + -119 + ], + [ + 302, + 0, + 150, + 158, + -77, + -119 + ], + [ + 453, + 0, + 150, + 158, + -77, + -119 + ], + [ + 604, + 0, + 150, + 158, + -77, + -119 + ], + [ + 755, + 0, + 150, + 158, + -77, + -119 + ], + [ + 0, + 159, + 150, + 158, + -77, + -119 + ], + [ + 151, + 159, + 150, + 158, + -77, + -119 + ], + [ + 302, + 159, + 150, + 158, + -77, + -119 + ], + [ + 453, + 159, + 150, + 158, + -77, + -119 + ], + [ + 604, + 159, + 150, + 158, + -77, + -119 + ], + [ + 755, + 159, + 150, + 158, + -77, + -119 + ], + [ + 0, + 318, + 150, + 158, + -77, + -119 + ], + [ + 151, + 318, + 150, + 158, + -77, + -119 + ], + [ + 302, + 318, + 150, + 158, + -77, + -119 + ], + [ + 453, + 318, + 150, + 158, + -77, + -119 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/ValkarieEmerge.png b/public/overlays/ValkarieEmerge.png new file mode 100644 index 0000000..4906d75 Binary files /dev/null and b/public/overlays/ValkarieEmerge.png differ diff --git a/public/overlays/ValkarieGlow.json b/public/overlays/ValkarieGlow.json new file mode 100644 index 0000000..a1dcf39 --- /dev/null +++ b/public/overlays/ValkarieGlow.json @@ -0,0 +1,188 @@ +{ + "name": "valkyrie", + "celFile": "ValkarieGlow", + "width": 1024, + "height": 395, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": true, + "lightRadius": 7, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -73, + "top": -102, + "width": 138, + "height": 131 + }, + "groups": [ + [ + [ + 0, + 0, + 138, + 131, + -73, + -102 + ], + [ + 139, + 0, + 138, + 131, + -73, + -102 + ], + [ + 278, + 0, + 138, + 131, + -73, + -102 + ], + [ + 417, + 0, + 138, + 131, + -73, + -102 + ], + [ + 556, + 0, + 138, + 131, + -73, + -102 + ], + [ + 695, + 0, + 138, + 131, + -73, + -102 + ], + [ + 834, + 0, + 138, + 131, + -73, + -102 + ], + [ + 0, + 132, + 138, + 131, + -73, + -102 + ], + [ + 139, + 132, + 138, + 131, + -73, + -102 + ], + [ + 278, + 132, + 138, + 131, + -73, + -102 + ], + [ + 417, + 132, + 138, + 131, + -73, + -102 + ], + [ + 556, + 132, + 138, + 131, + -73, + -102 + ], + [ + 695, + 132, + 138, + 131, + -73, + -102 + ], + [ + 834, + 132, + 138, + 131, + -73, + -102 + ], + [ + 0, + 264, + 138, + 131, + -73, + -102 + ], + [ + 139, + 264, + 138, + 131, + -73, + -102 + ], + [ + 278, + 264, + 138, + 131, + -73, + -102 + ], + [ + 417, + 264, + 138, + 131, + -73, + -102 + ], + [ + 556, + 264, + 138, + 131, + -73, + -102 + ], + [ + 695, + 264, + 138, + 131, + -73, + -102 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/ValkarieGlow.png b/public/overlays/ValkarieGlow.png new file mode 100644 index 0000000..819ff1b Binary files /dev/null and b/public/overlays/ValkarieGlow.png differ diff --git a/public/overlays/cast_innersight.json b/public/overlays/cast_innersight.json new file mode 100644 index 0000000..7c93fb2 --- /dev/null +++ b/public/overlays/cast_innersight.json @@ -0,0 +1,260 @@ +{ + "name": "cast_innersight", + "celFile": "EOZCast", + "width": 1024, + "height": 599, + "directions": 1, + "frames": 29, + "framesPerDirection": 29, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -76, + "top": -148, + "width": 139, + "height": 119 + }, + "groups": [ + [ + [ + 0, + 0, + 139, + 119, + -76, + -148 + ], + [ + 140, + 0, + 139, + 119, + -76, + -148 + ], + [ + 280, + 0, + 139, + 119, + -76, + -148 + ], + [ + 420, + 0, + 139, + 119, + -76, + -148 + ], + [ + 560, + 0, + 139, + 119, + -76, + -148 + ], + [ + 700, + 0, + 139, + 119, + -76, + -148 + ], + [ + 840, + 0, + 139, + 119, + -76, + -148 + ], + [ + 0, + 120, + 139, + 119, + -76, + -148 + ], + [ + 140, + 120, + 139, + 119, + -76, + -148 + ], + [ + 280, + 120, + 139, + 119, + -76, + -148 + ], + [ + 420, + 120, + 139, + 119, + -76, + -148 + ], + [ + 560, + 120, + 139, + 119, + -76, + -148 + ], + [ + 700, + 120, + 139, + 119, + -76, + -148 + ], + [ + 840, + 120, + 139, + 119, + -76, + -148 + ], + [ + 0, + 240, + 139, + 119, + -76, + -148 + ], + [ + 140, + 240, + 139, + 119, + -76, + -148 + ], + [ + 280, + 240, + 139, + 119, + -76, + -148 + ], + [ + 420, + 240, + 139, + 119, + -76, + -148 + ], + [ + 560, + 240, + 139, + 119, + -76, + -148 + ], + [ + 700, + 240, + 139, + 119, + -76, + -148 + ], + [ + 840, + 240, + 139, + 119, + -76, + -148 + ], + [ + 0, + 360, + 139, + 119, + -76, + -148 + ], + [ + 140, + 360, + 139, + 119, + -76, + -148 + ], + [ + 280, + 360, + 139, + 119, + -76, + -148 + ], + [ + 420, + 360, + 139, + 119, + -76, + -148 + ], + [ + 560, + 360, + 139, + 119, + -76, + -148 + ], + [ + 700, + 360, + 139, + 119, + -76, + -148 + ], + [ + 840, + 360, + 139, + 119, + -76, + -148 + ], + [ + 0, + 480, + 139, + 119, + -76, + -148 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/cast_innersight.png b/public/overlays/cast_innersight.png new file mode 100644 index 0000000..b0e3bc4 Binary files /dev/null and b/public/overlays/cast_innersight.png differ diff --git a/public/overlays/cast_slowmissiles.json b/public/overlays/cast_slowmissiles.json new file mode 100644 index 0000000..17de0ee --- /dev/null +++ b/public/overlays/cast_slowmissiles.json @@ -0,0 +1,196 @@ +{ + "name": "cast_slowmissiles", + "celFile": "HOAcast", + "width": 1024, + "height": 611, + "directions": 1, + "frames": 21, + "framesPerDirection": 21, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -78, + "top": -143, + "width": 151, + "height": 152 + }, + "groups": [ + [ + [ + 0, + 0, + 151, + 152, + -78, + -143 + ], + [ + 152, + 0, + 151, + 152, + -78, + -143 + ], + [ + 304, + 0, + 151, + 152, + -78, + -143 + ], + [ + 456, + 0, + 151, + 152, + -78, + -143 + ], + [ + 608, + 0, + 151, + 152, + -78, + -143 + ], + [ + 760, + 0, + 151, + 152, + -78, + -143 + ], + [ + 0, + 153, + 151, + 152, + -78, + -143 + ], + [ + 152, + 153, + 151, + 152, + -78, + -143 + ], + [ + 304, + 153, + 151, + 152, + -78, + -143 + ], + [ + 456, + 153, + 151, + 152, + -78, + -143 + ], + [ + 608, + 153, + 151, + 152, + -78, + -143 + ], + [ + 760, + 153, + 151, + 152, + -78, + -143 + ], + [ + 0, + 306, + 151, + 152, + -78, + -143 + ], + [ + 152, + 306, + 151, + 152, + -78, + -143 + ], + [ + 304, + 306, + 151, + 152, + -78, + -143 + ], + [ + 456, + 306, + 151, + 152, + -78, + -143 + ], + [ + 608, + 306, + 151, + 152, + -78, + -143 + ], + [ + 760, + 306, + 151, + 152, + -78, + -143 + ], + [ + 0, + 459, + 151, + 152, + -78, + -143 + ], + [ + 152, + 459, + 151, + 152, + -78, + -143 + ], + [ + 304, + 459, + 151, + 152, + -78, + -143 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/cast_slowmissiles.png b/public/overlays/cast_slowmissiles.png new file mode 100644 index 0000000..7814a03 Binary files /dev/null and b/public/overlays/cast_slowmissiles.png differ diff --git a/public/overlays/castinnersight.json b/public/overlays/castinnersight.json new file mode 100644 index 0000000..7c93fb2 --- /dev/null +++ b/public/overlays/castinnersight.json @@ -0,0 +1,260 @@ +{ + "name": "cast_innersight", + "celFile": "EOZCast", + "width": 1024, + "height": 599, + "directions": 1, + "frames": 29, + "framesPerDirection": 29, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -76, + "top": -148, + "width": 139, + "height": 119 + }, + "groups": [ + [ + [ + 0, + 0, + 139, + 119, + -76, + -148 + ], + [ + 140, + 0, + 139, + 119, + -76, + -148 + ], + [ + 280, + 0, + 139, + 119, + -76, + -148 + ], + [ + 420, + 0, + 139, + 119, + -76, + -148 + ], + [ + 560, + 0, + 139, + 119, + -76, + -148 + ], + [ + 700, + 0, + 139, + 119, + -76, + -148 + ], + [ + 840, + 0, + 139, + 119, + -76, + -148 + ], + [ + 0, + 120, + 139, + 119, + -76, + -148 + ], + [ + 140, + 120, + 139, + 119, + -76, + -148 + ], + [ + 280, + 120, + 139, + 119, + -76, + -148 + ], + [ + 420, + 120, + 139, + 119, + -76, + -148 + ], + [ + 560, + 120, + 139, + 119, + -76, + -148 + ], + [ + 700, + 120, + 139, + 119, + -76, + -148 + ], + [ + 840, + 120, + 139, + 119, + -76, + -148 + ], + [ + 0, + 240, + 139, + 119, + -76, + -148 + ], + [ + 140, + 240, + 139, + 119, + -76, + -148 + ], + [ + 280, + 240, + 139, + 119, + -76, + -148 + ], + [ + 420, + 240, + 139, + 119, + -76, + -148 + ], + [ + 560, + 240, + 139, + 119, + -76, + -148 + ], + [ + 700, + 240, + 139, + 119, + -76, + -148 + ], + [ + 840, + 240, + 139, + 119, + -76, + -148 + ], + [ + 0, + 360, + 139, + 119, + -76, + -148 + ], + [ + 140, + 360, + 139, + 119, + -76, + -148 + ], + [ + 280, + 360, + 139, + 119, + -76, + -148 + ], + [ + 420, + 360, + 139, + 119, + -76, + -148 + ], + [ + 560, + 360, + 139, + 119, + -76, + -148 + ], + [ + 700, + 360, + 139, + 119, + -76, + -148 + ], + [ + 840, + 360, + 139, + 119, + -76, + -148 + ], + [ + 0, + 480, + 139, + 119, + -76, + -148 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/castinnersight.png b/public/overlays/castinnersight.png new file mode 100644 index 0000000..b0e3bc4 Binary files /dev/null and b/public/overlays/castinnersight.png differ diff --git a/public/overlays/castslowmissiles.json b/public/overlays/castslowmissiles.json new file mode 100644 index 0000000..17de0ee --- /dev/null +++ b/public/overlays/castslowmissiles.json @@ -0,0 +1,196 @@ +{ + "name": "cast_slowmissiles", + "celFile": "HOAcast", + "width": 1024, + "height": 611, + "directions": 1, + "frames": 21, + "framesPerDirection": 21, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -78, + "top": -143, + "width": 151, + "height": 152 + }, + "groups": [ + [ + [ + 0, + 0, + 151, + 152, + -78, + -143 + ], + [ + 152, + 0, + 151, + 152, + -78, + -143 + ], + [ + 304, + 0, + 151, + 152, + -78, + -143 + ], + [ + 456, + 0, + 151, + 152, + -78, + -143 + ], + [ + 608, + 0, + 151, + 152, + -78, + -143 + ], + [ + 760, + 0, + 151, + 152, + -78, + -143 + ], + [ + 0, + 153, + 151, + 152, + -78, + -143 + ], + [ + 152, + 153, + 151, + 152, + -78, + -143 + ], + [ + 304, + 153, + 151, + 152, + -78, + -143 + ], + [ + 456, + 153, + 151, + 152, + -78, + -143 + ], + [ + 608, + 153, + 151, + 152, + -78, + -143 + ], + [ + 760, + 153, + 151, + 152, + -78, + -143 + ], + [ + 0, + 306, + 151, + 152, + -78, + -143 + ], + [ + 152, + 306, + 151, + 152, + -78, + -143 + ], + [ + 304, + 306, + 151, + 152, + -78, + -143 + ], + [ + 456, + 306, + 151, + 152, + -78, + -143 + ], + [ + 608, + 306, + 151, + 152, + -78, + -143 + ], + [ + 760, + 306, + 151, + 152, + -78, + -143 + ], + [ + 0, + 459, + 151, + 152, + -78, + -143 + ], + [ + 152, + 459, + 151, + 152, + -78, + -143 + ], + [ + 304, + 459, + 151, + 152, + -78, + -143 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/castslowmissiles.png b/public/overlays/castslowmissiles.png new file mode 100644 index 0000000..7814a03 Binary files /dev/null and b/public/overlays/castslowmissiles.png differ diff --git a/public/overlays/critical_strike_1.json b/public/overlays/critical_strike_1.json new file mode 100644 index 0000000..017fc16 --- /dev/null +++ b/public/overlays/critical_strike_1.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage1", + "celFile": "impacting01", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/critical_strike_1.png b/public/overlays/critical_strike_1.png new file mode 100644 index 0000000..899a5fc Binary files /dev/null and b/public/overlays/critical_strike_1.png differ diff --git a/public/overlays/critical_strike_2.json b/public/overlays/critical_strike_2.json new file mode 100644 index 0000000..a61dc46 --- /dev/null +++ b/public/overlays/critical_strike_2.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage2", + "celFile": "impacting02", + "width": 512, + "height": 81, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -31, + "top": -93, + "width": 84, + "height": 81 + }, + "groups": [ + [ + [ + 0, + 0, + 84, + 81, + -31, + -93 + ], + [ + 85, + 0, + 84, + 81, + -31, + -93 + ], + [ + 170, + 0, + 84, + 81, + -31, + -93 + ], + [ + 255, + 0, + 84, + 81, + -31, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/critical_strike_2.png b/public/overlays/critical_strike_2.png new file mode 100644 index 0000000..e6a7fe0 Binary files /dev/null and b/public/overlays/critical_strike_2.png differ diff --git a/public/overlays/critical_strike_3.json b/public/overlays/critical_strike_3.json new file mode 100644 index 0000000..be472ad --- /dev/null +++ b/public/overlays/critical_strike_3.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage3", + "celFile": "impacting03", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/critical_strike_3.png b/public/overlays/critical_strike_3.png new file mode 100644 index 0000000..28cf985 Binary files /dev/null and b/public/overlays/critical_strike_3.png differ diff --git a/public/overlays/decoy_appear.json b/public/overlays/decoy_appear.json new file mode 100644 index 0000000..da70851 --- /dev/null +++ b/public/overlays/decoy_appear.json @@ -0,0 +1,180 @@ +{ + "name": "dopllezon_appear", + "celFile": "DopplezonAppear", + "width": 1024, + "height": 437, + "directions": 1, + "frames": 19, + "framesPerDirection": 19, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 200, + 200, + 255 + ], + "box": { + "left": -73, + "top": -120, + "width": 144, + "height": 145 + }, + "groups": [ + [ + [ + 0, + 0, + 144, + 145, + -73, + -120 + ], + [ + 145, + 0, + 144, + 145, + -73, + -120 + ], + [ + 290, + 0, + 144, + 145, + -73, + -120 + ], + [ + 435, + 0, + 144, + 145, + -73, + -120 + ], + [ + 580, + 0, + 144, + 145, + -73, + -120 + ], + [ + 725, + 0, + 144, + 145, + -73, + -120 + ], + [ + 870, + 0, + 144, + 145, + -73, + -120 + ], + [ + 0, + 146, + 144, + 145, + -73, + -120 + ], + [ + 145, + 146, + 144, + 145, + -73, + -120 + ], + [ + 290, + 146, + 144, + 145, + -73, + -120 + ], + [ + 435, + 146, + 144, + 145, + -73, + -120 + ], + [ + 580, + 146, + 144, + 145, + -73, + -120 + ], + [ + 725, + 146, + 144, + 145, + -73, + -120 + ], + [ + 870, + 146, + 144, + 145, + -73, + -120 + ], + [ + 0, + 292, + 144, + 145, + -73, + -120 + ], + [ + 145, + 292, + 144, + 145, + -73, + -120 + ], + [ + 290, + 292, + 144, + 145, + -73, + -120 + ], + [ + 435, + 292, + 144, + 145, + -73, + -120 + ], + [ + 580, + 292, + 144, + 145, + -73, + -120 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/decoy_appear.png b/public/overlays/decoy_appear.png new file mode 100644 index 0000000..7960e6a Binary files /dev/null and b/public/overlays/decoy_appear.png differ diff --git a/public/overlays/dopllezon_appear.json b/public/overlays/dopllezon_appear.json new file mode 100644 index 0000000..da70851 --- /dev/null +++ b/public/overlays/dopllezon_appear.json @@ -0,0 +1,180 @@ +{ + "name": "dopllezon_appear", + "celFile": "DopplezonAppear", + "width": 1024, + "height": 437, + "directions": 1, + "frames": 19, + "framesPerDirection": 19, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 200, + 200, + 255 + ], + "box": { + "left": -73, + "top": -120, + "width": 144, + "height": 145 + }, + "groups": [ + [ + [ + 0, + 0, + 144, + 145, + -73, + -120 + ], + [ + 145, + 0, + 144, + 145, + -73, + -120 + ], + [ + 290, + 0, + 144, + 145, + -73, + -120 + ], + [ + 435, + 0, + 144, + 145, + -73, + -120 + ], + [ + 580, + 0, + 144, + 145, + -73, + -120 + ], + [ + 725, + 0, + 144, + 145, + -73, + -120 + ], + [ + 870, + 0, + 144, + 145, + -73, + -120 + ], + [ + 0, + 146, + 144, + 145, + -73, + -120 + ], + [ + 145, + 146, + 144, + 145, + -73, + -120 + ], + [ + 290, + 146, + 144, + 145, + -73, + -120 + ], + [ + 435, + 146, + 144, + 145, + -73, + -120 + ], + [ + 580, + 146, + 144, + 145, + -73, + -120 + ], + [ + 725, + 146, + 144, + 145, + -73, + -120 + ], + [ + 870, + 146, + 144, + 145, + -73, + -120 + ], + [ + 0, + 292, + 144, + 145, + -73, + -120 + ], + [ + 145, + 292, + 144, + 145, + -73, + -120 + ], + [ + 290, + 292, + 144, + 145, + -73, + -120 + ], + [ + 435, + 292, + 144, + 145, + -73, + -120 + ], + [ + 580, + 292, + 144, + 145, + -73, + -120 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/dopllezon_appear.png b/public/overlays/dopllezon_appear.png new file mode 100644 index 0000000..7960e6a Binary files /dev/null and b/public/overlays/dopllezon_appear.png differ diff --git a/public/overlays/dopplezon.json b/public/overlays/dopplezon.json new file mode 100644 index 0000000..da70851 --- /dev/null +++ b/public/overlays/dopplezon.json @@ -0,0 +1,180 @@ +{ + "name": "dopllezon_appear", + "celFile": "DopplezonAppear", + "width": 1024, + "height": 437, + "directions": 1, + "frames": 19, + "framesPerDirection": 19, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 200, + 200, + 255 + ], + "box": { + "left": -73, + "top": -120, + "width": 144, + "height": 145 + }, + "groups": [ + [ + [ + 0, + 0, + 144, + 145, + -73, + -120 + ], + [ + 145, + 0, + 144, + 145, + -73, + -120 + ], + [ + 290, + 0, + 144, + 145, + -73, + -120 + ], + [ + 435, + 0, + 144, + 145, + -73, + -120 + ], + [ + 580, + 0, + 144, + 145, + -73, + -120 + ], + [ + 725, + 0, + 144, + 145, + -73, + -120 + ], + [ + 870, + 0, + 144, + 145, + -73, + -120 + ], + [ + 0, + 146, + 144, + 145, + -73, + -120 + ], + [ + 145, + 146, + 144, + 145, + -73, + -120 + ], + [ + 290, + 146, + 144, + 145, + -73, + -120 + ], + [ + 435, + 146, + 144, + 145, + -73, + -120 + ], + [ + 580, + 146, + 144, + 145, + -73, + -120 + ], + [ + 725, + 146, + 144, + 145, + -73, + -120 + ], + [ + 870, + 146, + 144, + 145, + -73, + -120 + ], + [ + 0, + 292, + 144, + 145, + -73, + -120 + ], + [ + 145, + 292, + 144, + 145, + -73, + -120 + ], + [ + 290, + 292, + 144, + 145, + -73, + -120 + ], + [ + 435, + 292, + 144, + 145, + -73, + -120 + ], + [ + 580, + 292, + 144, + 145, + -73, + -120 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/dopplezon.png b/public/overlays/dopplezon.png new file mode 100644 index 0000000..7960e6a Binary files /dev/null and b/public/overlays/dopplezon.png differ diff --git a/public/overlays/doubledamage1.json b/public/overlays/doubledamage1.json new file mode 100644 index 0000000..017fc16 --- /dev/null +++ b/public/overlays/doubledamage1.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage1", + "celFile": "impacting01", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/doubledamage1.png b/public/overlays/doubledamage1.png new file mode 100644 index 0000000..899a5fc Binary files /dev/null and b/public/overlays/doubledamage1.png differ diff --git a/public/overlays/doubledamage2.json b/public/overlays/doubledamage2.json new file mode 100644 index 0000000..a61dc46 --- /dev/null +++ b/public/overlays/doubledamage2.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage2", + "celFile": "impacting02", + "width": 512, + "height": 81, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -31, + "top": -93, + "width": 84, + "height": 81 + }, + "groups": [ + [ + [ + 0, + 0, + 84, + 81, + -31, + -93 + ], + [ + 85, + 0, + 84, + 81, + -31, + -93 + ], + [ + 170, + 0, + 84, + 81, + -31, + -93 + ], + [ + 255, + 0, + 84, + 81, + -31, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/doubledamage2.png b/public/overlays/doubledamage2.png new file mode 100644 index 0000000..e6a7fe0 Binary files /dev/null and b/public/overlays/doubledamage2.png differ diff --git a/public/overlays/doubledamage3.json b/public/overlays/doubledamage3.json new file mode 100644 index 0000000..be472ad --- /dev/null +++ b/public/overlays/doubledamage3.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage3", + "celFile": "impacting03", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/doubledamage3.png b/public/overlays/doubledamage3.png new file mode 100644 index 0000000..28cf985 Binary files /dev/null and b/public/overlays/doubledamage3.png differ diff --git a/public/overlays/eyeofzeus_cast.json b/public/overlays/eyeofzeus_cast.json new file mode 100644 index 0000000..7c93fb2 --- /dev/null +++ b/public/overlays/eyeofzeus_cast.json @@ -0,0 +1,260 @@ +{ + "name": "cast_innersight", + "celFile": "EOZCast", + "width": 1024, + "height": 599, + "directions": 1, + "frames": 29, + "framesPerDirection": 29, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -76, + "top": -148, + "width": 139, + "height": 119 + }, + "groups": [ + [ + [ + 0, + 0, + 139, + 119, + -76, + -148 + ], + [ + 140, + 0, + 139, + 119, + -76, + -148 + ], + [ + 280, + 0, + 139, + 119, + -76, + -148 + ], + [ + 420, + 0, + 139, + 119, + -76, + -148 + ], + [ + 560, + 0, + 139, + 119, + -76, + -148 + ], + [ + 700, + 0, + 139, + 119, + -76, + -148 + ], + [ + 840, + 0, + 139, + 119, + -76, + -148 + ], + [ + 0, + 120, + 139, + 119, + -76, + -148 + ], + [ + 140, + 120, + 139, + 119, + -76, + -148 + ], + [ + 280, + 120, + 139, + 119, + -76, + -148 + ], + [ + 420, + 120, + 139, + 119, + -76, + -148 + ], + [ + 560, + 120, + 139, + 119, + -76, + -148 + ], + [ + 700, + 120, + 139, + 119, + -76, + -148 + ], + [ + 840, + 120, + 139, + 119, + -76, + -148 + ], + [ + 0, + 240, + 139, + 119, + -76, + -148 + ], + [ + 140, + 240, + 139, + 119, + -76, + -148 + ], + [ + 280, + 240, + 139, + 119, + -76, + -148 + ], + [ + 420, + 240, + 139, + 119, + -76, + -148 + ], + [ + 560, + 240, + 139, + 119, + -76, + -148 + ], + [ + 700, + 240, + 139, + 119, + -76, + -148 + ], + [ + 840, + 240, + 139, + 119, + -76, + -148 + ], + [ + 0, + 360, + 139, + 119, + -76, + -148 + ], + [ + 140, + 360, + 139, + 119, + -76, + -148 + ], + [ + 280, + 360, + 139, + 119, + -76, + -148 + ], + [ + 420, + 360, + 139, + 119, + -76, + -148 + ], + [ + 560, + 360, + 139, + 119, + -76, + -148 + ], + [ + 700, + 360, + 139, + 119, + -76, + -148 + ], + [ + 840, + 360, + 139, + 119, + -76, + -148 + ], + [ + 0, + 480, + 139, + 119, + -76, + -148 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/eyeofzeus_cast.png b/public/overlays/eyeofzeus_cast.png new file mode 100644 index 0000000..b0e3bc4 Binary files /dev/null and b/public/overlays/eyeofzeus_cast.png differ diff --git a/public/overlays/handofathena.json b/public/overlays/handofathena.json new file mode 100644 index 0000000..8fb8726 --- /dev/null +++ b/public/overlays/handofathena.json @@ -0,0 +1,100 @@ +{ + "name": "handofathena", + "celFile": "HOAmissileExplode", + "width": 512, + "height": 317, + "directions": 1, + "frames": 9, + "framesPerDirection": 9, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -53, + "top": -98, + "width": 106, + "height": 105 + }, + "groups": [ + [ + [ + 0, + 0, + 106, + 105, + -53, + -98 + ], + [ + 107, + 0, + 106, + 105, + -53, + -98 + ], + [ + 214, + 0, + 106, + 105, + -53, + -98 + ], + [ + 321, + 0, + 106, + 105, + -53, + -98 + ], + [ + 0, + 106, + 106, + 105, + -53, + -98 + ], + [ + 107, + 106, + 106, + 105, + -53, + -98 + ], + [ + 214, + 106, + 106, + 105, + -53, + -98 + ], + [ + 321, + 106, + 106, + 105, + -53, + -98 + ], + [ + 0, + 212, + 106, + 105, + -53, + -98 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/handofathena.png b/public/overlays/handofathena.png new file mode 100644 index 0000000..ef287fd Binary files /dev/null and b/public/overlays/handofathena.png differ diff --git a/public/overlays/handofathena_cast.json b/public/overlays/handofathena_cast.json new file mode 100644 index 0000000..17de0ee --- /dev/null +++ b/public/overlays/handofathena_cast.json @@ -0,0 +1,196 @@ +{ + "name": "cast_slowmissiles", + "celFile": "HOAcast", + "width": 1024, + "height": 611, + "directions": 1, + "frames": 21, + "framesPerDirection": 21, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -78, + "top": -143, + "width": 151, + "height": 152 + }, + "groups": [ + [ + [ + 0, + 0, + 151, + 152, + -78, + -143 + ], + [ + 152, + 0, + 151, + 152, + -78, + -143 + ], + [ + 304, + 0, + 151, + 152, + -78, + -143 + ], + [ + 456, + 0, + 151, + 152, + -78, + -143 + ], + [ + 608, + 0, + 151, + 152, + -78, + -143 + ], + [ + 760, + 0, + 151, + 152, + -78, + -143 + ], + [ + 0, + 153, + 151, + 152, + -78, + -143 + ], + [ + 152, + 153, + 151, + 152, + -78, + -143 + ], + [ + 304, + 153, + 151, + 152, + -78, + -143 + ], + [ + 456, + 153, + 151, + 152, + -78, + -143 + ], + [ + 608, + 153, + 151, + 152, + -78, + -143 + ], + [ + 760, + 153, + 151, + 152, + -78, + -143 + ], + [ + 0, + 306, + 151, + 152, + -78, + -143 + ], + [ + 152, + 306, + 151, + 152, + -78, + -143 + ], + [ + 304, + 306, + 151, + 152, + -78, + -143 + ], + [ + 456, + 306, + 151, + 152, + -78, + -143 + ], + [ + 608, + 306, + 151, + 152, + -78, + -143 + ], + [ + 760, + 306, + 151, + 152, + -78, + -143 + ], + [ + 0, + 459, + 151, + 152, + -78, + -143 + ], + [ + 152, + 459, + 151, + 152, + -78, + -143 + ], + [ + 304, + 459, + 151, + 152, + -78, + -143 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/handofathena_cast.png b/public/overlays/handofathena_cast.png new file mode 100644 index 0000000..7814a03 Binary files /dev/null and b/public/overlays/handofathena_cast.png differ diff --git a/public/overlays/hardenarmor.json b/public/overlays/hardenarmor.json new file mode 100644 index 0000000..449185b --- /dev/null +++ b/public/overlays/hardenarmor.json @@ -0,0 +1,220 @@ +{ + "name": "innersight", + "celFile": "HardenArmor", + "width": 512, + "height": 129, + "directions": 1, + "frames": 24, + "framesPerDirection": 24, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 255, + 255, + 128 + ], + "box": { + "left": -16, + "top": -63, + "width": 30, + "height": 64 + }, + "groups": [ + [ + [ + 0, + 0, + 30, + 64, + -16, + -63 + ], + [ + 31, + 0, + 30, + 64, + -16, + -63 + ], + [ + 62, + 0, + 30, + 64, + -16, + -63 + ], + [ + 93, + 0, + 30, + 64, + -16, + -63 + ], + [ + 124, + 0, + 30, + 64, + -16, + -63 + ], + [ + 155, + 0, + 30, + 64, + -16, + -63 + ], + [ + 186, + 0, + 30, + 64, + -16, + -63 + ], + [ + 217, + 0, + 30, + 64, + -16, + -63 + ], + [ + 248, + 0, + 30, + 64, + -16, + -63 + ], + [ + 279, + 0, + 30, + 64, + -16, + -63 + ], + [ + 310, + 0, + 30, + 64, + -16, + -63 + ], + [ + 341, + 0, + 30, + 64, + -16, + -63 + ], + [ + 372, + 0, + 30, + 64, + -16, + -63 + ], + [ + 403, + 0, + 30, + 64, + -16, + -63 + ], + [ + 434, + 0, + 30, + 64, + -16, + -63 + ], + [ + 465, + 0, + 30, + 64, + -16, + -63 + ], + [ + 0, + 65, + 30, + 64, + -16, + -63 + ], + [ + 31, + 65, + 30, + 64, + -16, + -63 + ], + [ + 62, + 65, + 30, + 64, + -16, + -63 + ], + [ + 93, + 65, + 30, + 64, + -16, + -63 + ], + [ + 124, + 65, + 30, + 64, + -16, + -63 + ], + [ + 155, + 65, + 30, + 64, + -16, + -63 + ], + [ + 186, + 65, + 30, + 64, + -16, + -63 + ], + [ + 217, + 65, + 30, + 64, + -16, + -63 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/hardenarmor.png b/public/overlays/hardenarmor.png new file mode 100644 index 0000000..067a3b5 Binary files /dev/null and b/public/overlays/hardenarmor.png differ diff --git a/public/overlays/hoa_explode.json b/public/overlays/hoa_explode.json new file mode 100644 index 0000000..8fb8726 --- /dev/null +++ b/public/overlays/hoa_explode.json @@ -0,0 +1,100 @@ +{ + "name": "handofathena", + "celFile": "HOAmissileExplode", + "width": 512, + "height": 317, + "directions": 1, + "frames": 9, + "framesPerDirection": 9, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -53, + "top": -98, + "width": 106, + "height": 105 + }, + "groups": [ + [ + [ + 0, + 0, + 106, + 105, + -53, + -98 + ], + [ + 107, + 0, + 106, + 105, + -53, + -98 + ], + [ + 214, + 0, + 106, + 105, + -53, + -98 + ], + [ + 321, + 0, + 106, + 105, + -53, + -98 + ], + [ + 0, + 106, + 106, + 105, + -53, + -98 + ], + [ + 107, + 106, + 106, + 105, + -53, + -98 + ], + [ + 214, + 106, + 106, + 105, + -53, + -98 + ], + [ + 321, + 106, + 106, + 105, + -53, + -98 + ], + [ + 0, + 212, + 106, + 105, + -53, + -98 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/hoa_explode.png b/public/overlays/hoa_explode.png new file mode 100644 index 0000000..ef287fd Binary files /dev/null and b/public/overlays/hoa_explode.png differ diff --git a/public/overlays/impacting01.json b/public/overlays/impacting01.json new file mode 100644 index 0000000..017fc16 --- /dev/null +++ b/public/overlays/impacting01.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage1", + "celFile": "impacting01", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/impacting01.png b/public/overlays/impacting01.png new file mode 100644 index 0000000..899a5fc Binary files /dev/null and b/public/overlays/impacting01.png differ diff --git a/public/overlays/impacting02.json b/public/overlays/impacting02.json new file mode 100644 index 0000000..a61dc46 --- /dev/null +++ b/public/overlays/impacting02.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage2", + "celFile": "impacting02", + "width": 512, + "height": 81, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -31, + "top": -93, + "width": 84, + "height": 81 + }, + "groups": [ + [ + [ + 0, + 0, + 84, + 81, + -31, + -93 + ], + [ + 85, + 0, + 84, + 81, + -31, + -93 + ], + [ + 170, + 0, + 84, + 81, + -31, + -93 + ], + [ + 255, + 0, + 84, + 81, + -31, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/impacting02.png b/public/overlays/impacting02.png new file mode 100644 index 0000000..e6a7fe0 Binary files /dev/null and b/public/overlays/impacting02.png differ diff --git a/public/overlays/impacting03.json b/public/overlays/impacting03.json new file mode 100644 index 0000000..be472ad --- /dev/null +++ b/public/overlays/impacting03.json @@ -0,0 +1,60 @@ +{ + "name": "doubledamage3", + "celFile": "impacting03", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/impacting03.png b/public/overlays/impacting03.png new file mode 100644 index 0000000..28cf985 Binary files /dev/null and b/public/overlays/impacting03.png differ diff --git a/public/overlays/innersight.json b/public/overlays/innersight.json new file mode 100644 index 0000000..449185b --- /dev/null +++ b/public/overlays/innersight.json @@ -0,0 +1,220 @@ +{ + "name": "innersight", + "celFile": "HardenArmor", + "width": 512, + "height": 129, + "directions": 1, + "frames": 24, + "framesPerDirection": 24, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 255, + 255, + 128 + ], + "box": { + "left": -16, + "top": -63, + "width": 30, + "height": 64 + }, + "groups": [ + [ + [ + 0, + 0, + 30, + 64, + -16, + -63 + ], + [ + 31, + 0, + 30, + 64, + -16, + -63 + ], + [ + 62, + 0, + 30, + 64, + -16, + -63 + ], + [ + 93, + 0, + 30, + 64, + -16, + -63 + ], + [ + 124, + 0, + 30, + 64, + -16, + -63 + ], + [ + 155, + 0, + 30, + 64, + -16, + -63 + ], + [ + 186, + 0, + 30, + 64, + -16, + -63 + ], + [ + 217, + 0, + 30, + 64, + -16, + -63 + ], + [ + 248, + 0, + 30, + 64, + -16, + -63 + ], + [ + 279, + 0, + 30, + 64, + -16, + -63 + ], + [ + 310, + 0, + 30, + 64, + -16, + -63 + ], + [ + 341, + 0, + 30, + 64, + -16, + -63 + ], + [ + 372, + 0, + 30, + 64, + -16, + -63 + ], + [ + 403, + 0, + 30, + 64, + -16, + -63 + ], + [ + 434, + 0, + 30, + 64, + -16, + -63 + ], + [ + 465, + 0, + 30, + 64, + -16, + -63 + ], + [ + 0, + 65, + 30, + 64, + -16, + -63 + ], + [ + 31, + 65, + 30, + 64, + -16, + -63 + ], + [ + 62, + 65, + 30, + 64, + -16, + -63 + ], + [ + 93, + 65, + 30, + 64, + -16, + -63 + ], + [ + 124, + 65, + 30, + 64, + -16, + -63 + ], + [ + 155, + 65, + 30, + 64, + -16, + -63 + ], + [ + 186, + 65, + 30, + 64, + -16, + -63 + ], + [ + 217, + 65, + 30, + 64, + -16, + -63 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/innersight.png b/public/overlays/innersight.png new file mode 100644 index 0000000..067a3b5 Binary files /dev/null and b/public/overlays/innersight.png differ diff --git a/public/overlays/innersight_target.json b/public/overlays/innersight_target.json new file mode 100644 index 0000000..449185b --- /dev/null +++ b/public/overlays/innersight_target.json @@ -0,0 +1,220 @@ +{ + "name": "innersight", + "celFile": "HardenArmor", + "width": 512, + "height": 129, + "directions": 1, + "frames": 24, + "framesPerDirection": 24, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 255, + 255, + 128 + ], + "box": { + "left": -16, + "top": -63, + "width": 30, + "height": 64 + }, + "groups": [ + [ + [ + 0, + 0, + 30, + 64, + -16, + -63 + ], + [ + 31, + 0, + 30, + 64, + -16, + -63 + ], + [ + 62, + 0, + 30, + 64, + -16, + -63 + ], + [ + 93, + 0, + 30, + 64, + -16, + -63 + ], + [ + 124, + 0, + 30, + 64, + -16, + -63 + ], + [ + 155, + 0, + 30, + 64, + -16, + -63 + ], + [ + 186, + 0, + 30, + 64, + -16, + -63 + ], + [ + 217, + 0, + 30, + 64, + -16, + -63 + ], + [ + 248, + 0, + 30, + 64, + -16, + -63 + ], + [ + 279, + 0, + 30, + 64, + -16, + -63 + ], + [ + 310, + 0, + 30, + 64, + -16, + -63 + ], + [ + 341, + 0, + 30, + 64, + -16, + -63 + ], + [ + 372, + 0, + 30, + 64, + -16, + -63 + ], + [ + 403, + 0, + 30, + 64, + -16, + -63 + ], + [ + 434, + 0, + 30, + 64, + -16, + -63 + ], + [ + 465, + 0, + 30, + 64, + -16, + -63 + ], + [ + 0, + 65, + 30, + 64, + -16, + -63 + ], + [ + 31, + 65, + 30, + 64, + -16, + -63 + ], + [ + 62, + 65, + 30, + 64, + -16, + -63 + ], + [ + 93, + 65, + 30, + 64, + -16, + -63 + ], + [ + 124, + 65, + 30, + 64, + -16, + -63 + ], + [ + 155, + 65, + 30, + 64, + -16, + -63 + ], + [ + 186, + 65, + 30, + 64, + -16, + -63 + ], + [ + 217, + 65, + 30, + 64, + -16, + -63 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/innersight_target.png b/public/overlays/innersight_target.png new file mode 100644 index 0000000..067a3b5 Binary files /dev/null and b/public/overlays/innersight_target.png differ diff --git a/public/overlays/slowmissiles_aura.json b/public/overlays/slowmissiles_aura.json new file mode 100644 index 0000000..8fb8726 --- /dev/null +++ b/public/overlays/slowmissiles_aura.json @@ -0,0 +1,100 @@ +{ + "name": "handofathena", + "celFile": "HOAmissileExplode", + "width": 512, + "height": 317, + "directions": 1, + "frames": 9, + "framesPerDirection": 9, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -53, + "top": -98, + "width": 106, + "height": 105 + }, + "groups": [ + [ + [ + 0, + 0, + 106, + 105, + -53, + -98 + ], + [ + 107, + 0, + 106, + 105, + -53, + -98 + ], + [ + 214, + 0, + 106, + 105, + -53, + -98 + ], + [ + 321, + 0, + 106, + 105, + -53, + -98 + ], + [ + 0, + 106, + 106, + 105, + -53, + -98 + ], + [ + 107, + 106, + 106, + 105, + -53, + -98 + ], + [ + 214, + 106, + 106, + 105, + -53, + -98 + ], + [ + 321, + 106, + 106, + 105, + -53, + -98 + ], + [ + 0, + 212, + 106, + 105, + -53, + -98 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/slowmissiles_aura.png b/public/overlays/slowmissiles_aura.png new file mode 100644 index 0000000..ef287fd Binary files /dev/null and b/public/overlays/slowmissiles_aura.png differ diff --git a/public/overlays/valkyrie.json b/public/overlays/valkyrie.json new file mode 100644 index 0000000..a1dcf39 --- /dev/null +++ b/public/overlays/valkyrie.json @@ -0,0 +1,188 @@ +{ + "name": "valkyrie", + "celFile": "ValkarieGlow", + "width": 1024, + "height": 395, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": true, + "lightRadius": 7, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -73, + "top": -102, + "width": 138, + "height": 131 + }, + "groups": [ + [ + [ + 0, + 0, + 138, + 131, + -73, + -102 + ], + [ + 139, + 0, + 138, + 131, + -73, + -102 + ], + [ + 278, + 0, + 138, + 131, + -73, + -102 + ], + [ + 417, + 0, + 138, + 131, + -73, + -102 + ], + [ + 556, + 0, + 138, + 131, + -73, + -102 + ], + [ + 695, + 0, + 138, + 131, + -73, + -102 + ], + [ + 834, + 0, + 138, + 131, + -73, + -102 + ], + [ + 0, + 132, + 138, + 131, + -73, + -102 + ], + [ + 139, + 132, + 138, + 131, + -73, + -102 + ], + [ + 278, + 132, + 138, + 131, + -73, + -102 + ], + [ + 417, + 132, + 138, + 131, + -73, + -102 + ], + [ + 556, + 132, + 138, + 131, + -73, + -102 + ], + [ + 695, + 132, + 138, + 131, + -73, + -102 + ], + [ + 834, + 132, + 138, + 131, + -73, + -102 + ], + [ + 0, + 264, + 138, + 131, + -73, + -102 + ], + [ + 139, + 264, + 138, + 131, + -73, + -102 + ], + [ + 278, + 264, + 138, + 131, + -73, + -102 + ], + [ + 417, + 264, + 138, + 131, + -73, + -102 + ], + [ + 556, + 264, + 138, + 131, + -73, + -102 + ], + [ + 695, + 264, + 138, + 131, + -73, + -102 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/valkyrie.png b/public/overlays/valkyrie.png new file mode 100644 index 0000000..819ff1b Binary files /dev/null and b/public/overlays/valkyrie.png differ diff --git a/public/overlays/valkyrie_aura.json b/public/overlays/valkyrie_aura.json new file mode 100644 index 0000000..a1dcf39 --- /dev/null +++ b/public/overlays/valkyrie_aura.json @@ -0,0 +1,188 @@ +{ + "name": "valkyrie", + "celFile": "ValkarieGlow", + "width": 1024, + "height": 395, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": true, + "lightRadius": 7, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -73, + "top": -102, + "width": 138, + "height": 131 + }, + "groups": [ + [ + [ + 0, + 0, + 138, + 131, + -73, + -102 + ], + [ + 139, + 0, + 138, + 131, + -73, + -102 + ], + [ + 278, + 0, + 138, + 131, + -73, + -102 + ], + [ + 417, + 0, + 138, + 131, + -73, + -102 + ], + [ + 556, + 0, + 138, + 131, + -73, + -102 + ], + [ + 695, + 0, + 138, + 131, + -73, + -102 + ], + [ + 834, + 0, + 138, + 131, + -73, + -102 + ], + [ + 0, + 132, + 138, + 131, + -73, + -102 + ], + [ + 139, + 132, + 138, + 131, + -73, + -102 + ], + [ + 278, + 132, + 138, + 131, + -73, + -102 + ], + [ + 417, + 132, + 138, + 131, + -73, + -102 + ], + [ + 556, + 132, + 138, + 131, + -73, + -102 + ], + [ + 695, + 132, + 138, + 131, + -73, + -102 + ], + [ + 834, + 132, + 138, + 131, + -73, + -102 + ], + [ + 0, + 264, + 138, + 131, + -73, + -102 + ], + [ + 139, + 264, + 138, + 131, + -73, + -102 + ], + [ + 278, + 264, + 138, + 131, + -73, + -102 + ], + [ + 417, + 264, + 138, + 131, + -73, + -102 + ], + [ + 556, + 264, + 138, + 131, + -73, + -102 + ], + [ + 695, + 264, + 138, + 131, + -73, + -102 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/valkyrie_aura.png b/public/overlays/valkyrie_aura.png new file mode 100644 index 0000000..819ff1b Binary files /dev/null and b/public/overlays/valkyrie_aura.png differ diff --git a/public/overlays/valkyrie_cast.json b/public/overlays/valkyrie_cast.json new file mode 100644 index 0000000..fedf322 --- /dev/null +++ b/public/overlays/valkyrie_cast.json @@ -0,0 +1,156 @@ +{ + "name": "valkyriestart", + "celFile": "ValkarieEmerge", + "width": 1024, + "height": 476, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 8, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -77, + "top": -119, + "width": 150, + "height": 158 + }, + "groups": [ + [ + [ + 0, + 0, + 150, + 158, + -77, + -119 + ], + [ + 151, + 0, + 150, + 158, + -77, + -119 + ], + [ + 302, + 0, + 150, + 158, + -77, + -119 + ], + [ + 453, + 0, + 150, + 158, + -77, + -119 + ], + [ + 604, + 0, + 150, + 158, + -77, + -119 + ], + [ + 755, + 0, + 150, + 158, + -77, + -119 + ], + [ + 0, + 159, + 150, + 158, + -77, + -119 + ], + [ + 151, + 159, + 150, + 158, + -77, + -119 + ], + [ + 302, + 159, + 150, + 158, + -77, + -119 + ], + [ + 453, + 159, + 150, + 158, + -77, + -119 + ], + [ + 604, + 159, + 150, + 158, + -77, + -119 + ], + [ + 755, + 159, + 150, + 158, + -77, + -119 + ], + [ + 0, + 318, + 150, + 158, + -77, + -119 + ], + [ + 151, + 318, + 150, + 158, + -77, + -119 + ], + [ + 302, + 318, + 150, + 158, + -77, + -119 + ], + [ + 453, + 318, + 150, + 158, + -77, + -119 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/valkyrie_cast.png b/public/overlays/valkyrie_cast.png new file mode 100644 index 0000000..4906d75 Binary files /dev/null and b/public/overlays/valkyrie_cast.png differ diff --git a/public/overlays/valkyrie_emerge.json b/public/overlays/valkyrie_emerge.json new file mode 100644 index 0000000..fedf322 --- /dev/null +++ b/public/overlays/valkyrie_emerge.json @@ -0,0 +1,156 @@ +{ + "name": "valkyriestart", + "celFile": "ValkarieEmerge", + "width": 1024, + "height": 476, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 8, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -77, + "top": -119, + "width": 150, + "height": 158 + }, + "groups": [ + [ + [ + 0, + 0, + 150, + 158, + -77, + -119 + ], + [ + 151, + 0, + 150, + 158, + -77, + -119 + ], + [ + 302, + 0, + 150, + 158, + -77, + -119 + ], + [ + 453, + 0, + 150, + 158, + -77, + -119 + ], + [ + 604, + 0, + 150, + 158, + -77, + -119 + ], + [ + 755, + 0, + 150, + 158, + -77, + -119 + ], + [ + 0, + 159, + 150, + 158, + -77, + -119 + ], + [ + 151, + 159, + 150, + 158, + -77, + -119 + ], + [ + 302, + 159, + 150, + 158, + -77, + -119 + ], + [ + 453, + 159, + 150, + 158, + -77, + -119 + ], + [ + 604, + 159, + 150, + 158, + -77, + -119 + ], + [ + 755, + 159, + 150, + 158, + -77, + -119 + ], + [ + 0, + 318, + 150, + 158, + -77, + -119 + ], + [ + 151, + 318, + 150, + 158, + -77, + -119 + ], + [ + 302, + 318, + 150, + 158, + -77, + -119 + ], + [ + 453, + 318, + 150, + 158, + -77, + -119 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/valkyrie_emerge.png b/public/overlays/valkyrie_emerge.png new file mode 100644 index 0000000..4906d75 Binary files /dev/null and b/public/overlays/valkyrie_emerge.png differ diff --git a/public/overlays/valkyrie_glow.json b/public/overlays/valkyrie_glow.json new file mode 100644 index 0000000..a1dcf39 --- /dev/null +++ b/public/overlays/valkyrie_glow.json @@ -0,0 +1,188 @@ +{ + "name": "valkyrie", + "celFile": "ValkarieGlow", + "width": 1024, + "height": 395, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": true, + "lightRadius": 7, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -73, + "top": -102, + "width": 138, + "height": 131 + }, + "groups": [ + [ + [ + 0, + 0, + 138, + 131, + -73, + -102 + ], + [ + 139, + 0, + 138, + 131, + -73, + -102 + ], + [ + 278, + 0, + 138, + 131, + -73, + -102 + ], + [ + 417, + 0, + 138, + 131, + -73, + -102 + ], + [ + 556, + 0, + 138, + 131, + -73, + -102 + ], + [ + 695, + 0, + 138, + 131, + -73, + -102 + ], + [ + 834, + 0, + 138, + 131, + -73, + -102 + ], + [ + 0, + 132, + 138, + 131, + -73, + -102 + ], + [ + 139, + 132, + 138, + 131, + -73, + -102 + ], + [ + 278, + 132, + 138, + 131, + -73, + -102 + ], + [ + 417, + 132, + 138, + 131, + -73, + -102 + ], + [ + 556, + 132, + 138, + 131, + -73, + -102 + ], + [ + 695, + 132, + 138, + 131, + -73, + -102 + ], + [ + 834, + 132, + 138, + 131, + -73, + -102 + ], + [ + 0, + 264, + 138, + 131, + -73, + -102 + ], + [ + 139, + 264, + 138, + 131, + -73, + -102 + ], + [ + 278, + 264, + 138, + 131, + -73, + -102 + ], + [ + 417, + 264, + 138, + 131, + -73, + -102 + ], + [ + 556, + 264, + 138, + 131, + -73, + -102 + ], + [ + 695, + 264, + 138, + 131, + -73, + -102 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/valkyrie_glow.png b/public/overlays/valkyrie_glow.png new file mode 100644 index 0000000..819ff1b Binary files /dev/null and b/public/overlays/valkyrie_glow.png differ diff --git a/public/overlays/valkyriestart.json b/public/overlays/valkyriestart.json new file mode 100644 index 0000000..fedf322 --- /dev/null +++ b/public/overlays/valkyriestart.json @@ -0,0 +1,156 @@ +{ + "name": "valkyriestart", + "celFile": "ValkarieEmerge", + "width": 1024, + "height": 476, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 8, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -77, + "top": -119, + "width": 150, + "height": 158 + }, + "groups": [ + [ + [ + 0, + 0, + 150, + 158, + -77, + -119 + ], + [ + 151, + 0, + 150, + 158, + -77, + -119 + ], + [ + 302, + 0, + 150, + 158, + -77, + -119 + ], + [ + 453, + 0, + 150, + 158, + -77, + -119 + ], + [ + 604, + 0, + 150, + 158, + -77, + -119 + ], + [ + 755, + 0, + 150, + 158, + -77, + -119 + ], + [ + 0, + 159, + 150, + 158, + -77, + -119 + ], + [ + 151, + 159, + 150, + 158, + -77, + -119 + ], + [ + 302, + 159, + 150, + 158, + -77, + -119 + ], + [ + 453, + 159, + 150, + 158, + -77, + -119 + ], + [ + 604, + 159, + 150, + 158, + -77, + -119 + ], + [ + 755, + 159, + 150, + 158, + -77, + -119 + ], + [ + 0, + 318, + 150, + 158, + -77, + -119 + ], + [ + 151, + 318, + 150, + 158, + -77, + -119 + ], + [ + 302, + 318, + 150, + 158, + -77, + -119 + ], + [ + 453, + 318, + 150, + 158, + -77, + -119 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/valkyriestart.png b/public/overlays/valkyriestart.png new file mode 100644 index 0000000..4906d75 Binary files /dev/null and b/public/overlays/valkyriestart.png differ diff --git a/scripts/pack-entity-assets.ts b/scripts/pack-entity-assets.ts index 02a407f..991b7dc 100644 --- a/scripts/pack-entity-assets.ts +++ b/scripts/pack-entity-assets.ts @@ -770,6 +770,17 @@ export async function bakeEntities(archiveDir = 'samples/d2', outDir = 'samples/ } } + // Include special summon and minion entities (Valkyrie, Decoy/Dopplezon) + for (const summonId of ['valkyrie', 'dopplezon']) { + const spec = resolveMonsterArtSpec(summonId) + if (spec && spec.token && spec.token.toLowerCase() !== 'xx') { + const key = `${spec.token.toLowerCase()}-${spec.weapon.toLowerCase()}` + if (!uniqueSpecs.has(key)) { + uniqueSpecs.set(key, spec) + } + } + } + // Map allowed modes for each spec from MonStats2.txt const specAllowedModes = new Map>() for (const [key, spec] of uniqueSpecs) { diff --git a/scripts/pack-missiles.ts b/scripts/pack-missiles.ts index 7592779..2ade553 100644 --- a/scripts/pack-missiles.ts +++ b/scripts/pack-missiles.ts @@ -108,6 +108,25 @@ const MISSILE_TARGETS = [ { name: 'icearrow', celFile: 'IceArrow', animSpeed: 16 }, { name: 'arrow', celFile: 'Arrow', animSpeed: 16, trans: 0 }, { name: 'lightningjavelin', celFile: 'LightningJavelin', animSpeed: 16 }, + { name: 'bolt', celFile: 'XBowBolt', animSpeed: 16, trans: 0 }, + { name: 'coldarrow', celFile: 'IceArrow', animSpeed: 16, trans: 1 }, + { name: 'explodingarrow', celFile: 'FireArrow', animSpeed: 16, trans: 1 }, + { name: 'explodingarrowexp', celFile: 'ExpArrowExplode', animSpeed: 16, trans: 1 }, + { name: 'icearrowexplode', celFile: 'IceArrowExplode', animSpeed: 16, trans: 1 }, + { name: 'freezingarrow', celFile: 'IceArrow', animSpeed: 16, trans: 1 }, + { name: 'guidedarrow', celFile: 'SafeArrow', animSpeed: 16, trans: 1 }, + { name: 'strafearrow', celFile: 'Arrow', animSpeed: 16, trans: 0 }, + { name: 'strafebolt', celFile: 'XBowBolt', animSpeed: 16, trans: 0 }, + { name: 'immolationarrow', celFile: 'FireArrow', animSpeed: 16, trans: 1 }, + { name: 'immolationarrowexp', celFile: 'ExpArrowExplode', animSpeed: 16, trans: 1 }, + { name: 'immolationfire', celFile: 'groundFireBig', animSpeed: 16, trans: 1 }, + { name: 'poisonjav', celFile: 'Javelin', animSpeed: 16, trans: 0 }, + { name: 'poisonjavcloud', celFile: 'PoisonSparks', animSpeed: 16, trans: 1 }, + { name: 'chargedstrikebolt', celFile: 'ChargedBolt', animSpeed: 16, trans: 1 }, + { name: 'plaguejavelin', celFile: 'Javelin', animSpeed: 16, trans: 0 }, + { name: 'plaguejavcloud', celFile: 'PoisonSparks', animSpeed: 16, trans: 1 }, + { name: 'lightningfury', celFile: 'LightningJavelin', animSpeed: 16, trans: 1 }, + { name: 'furylightning', celFile: 'LightningStrike', animSpeed: 16, trans: 1 }, // Meteor (Skill 56) { name: 'meteor', celFile: 'Meteor', animSpeed: 16 }, @@ -206,7 +225,7 @@ export function packMissileSheetToRgbaPng( const b = palette[val * 3 + 2]! if (trans === 1 || trans === 3) { const m = Math.max(r, g, b) - if (m <= 4) { + if (m <= 4 || val === 172) { rgba[dst] = 0 rgba[dst + 1] = 0 rgba[dst + 2] = 0 @@ -529,6 +548,16 @@ export const LIGHTNINGHIT_META: MissileMeta = { name: 'lightninghit', } +export const LIGHTNING_META: MissileMeta = { + ...LIGHTNINGSTRIKE_META, + name: 'lightning', +} + +export const LIGHTNINGBOLT_META: MissileMeta = { + ...LIGHTNINGSTRIKE_META, + name: 'lightningbolt', +} + export const THUNDERSTORM_META: MissileMeta = { ...THUNDERSTORM1_META, name: 'thunderstorm', @@ -626,6 +655,8 @@ ${mapEntries} 'firemedium': FIREMEDIUM_META, 'electricnova': ELECTRICNOVA_META, 'chainlightning': CHAINLIGHTNING_META, + 'lightning': LIGHTNING_META, + 'lightningbolt': LIGHTNINGBOLT_META, 'lightninghit': LIGHTNINGHIT_META, 'thunderstorm': THUNDERSTORM_META, 'lightningboltbig': LIGHTNINGBOLTBIG_META, @@ -668,7 +699,6 @@ ${mapEntries} 'IceBlast': ICEBLAST_META, 'GlacialSpike': GLACIALSPIKE_META, 'IceArrowExplode': ICEEXPLODE_META, - 'icearrowexplode': ICEEXPLODE_META, 'FreezeExplodeCenter': FREEZEEXPLODE_META, 'freezeexplodecenter': FREEZEEXPLODE_META, 'IceOrb': FROZENORB_META, @@ -721,6 +751,12 @@ ${mapEntries} 'foaorbiter': FOA_META, 'BloodSmall01': BLOOD1_META, 'bloodsmall01': BLOOD1_META, + + // Amazon CelFiles + 'XBowBolt': BOLT_META, + 'xbowbolt': BOLT_META, + 'Javelin': POISONJAV_META, + 'javelin': POISONJAV_META, }) ` diff --git a/scripts/pack-overlays.ts b/scripts/pack-overlays.ts index c39351a..2ce1d5d 100644 --- a/scripts/pack-overlays.ts +++ b/scripts/pack-overlays.ts @@ -957,6 +957,110 @@ export const OVERLAY_TARGETS: readonly OverlayTarget[] = [ lightRadius: 0, lightColor: [255, 255, 255] as const, }, + + // --------------------------------------------------------------------------- + // 10 Authentic Diablo II v1.13c Amazon Cast, Skill & Minion Overlays + // --------------------------------------------------------------------------- + { + name: 'cast_innersight', + celFile: 'EOZCast', + aliases: ['castinnersight', 'eyeofzeus_cast'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 5, + lightColor: [255, 255, 200] as const, + }, + { + name: 'innersight', + celFile: 'HardenArmor', + aliases: ['innersight_target', 'hardenarmor'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 6, + lightColor: [255, 255, 128] as const, + }, + { + name: 'cast_slowmissiles', + celFile: 'HOAcast', + aliases: ['castslowmissiles', 'handofathena_cast'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 5, + lightColor: [128, 200, 255] as const, + }, + { + name: 'handofathena', + celFile: 'HOAmissileExplode', + aliases: ['slowmissiles_aura', 'hoa_explode'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 5, + lightColor: [128, 200, 255] as const, + }, + { + name: 'valkyriestart', + celFile: 'ValkarieEmerge', + aliases: ['valkyrie_emerge', 'valkyrie_cast'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 8, + lightColor: [255, 220, 100] as const, + }, + { + name: 'valkyrie', + celFile: 'ValkarieGlow', + aliases: ['valkyrie_glow', 'valkyrie_aura'], + animRate: 16, + trans: 3, + preDraw: true, + lightRadius: 7, + lightColor: [255, 220, 100] as const, + }, + { + name: 'dopllezon_appear', + celFile: 'DopplezonAppear', + aliases: ['decoy_appear', 'dopplezon'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 6, + lightColor: [200, 200, 255] as const, + }, + { + name: 'doubledamage1', + celFile: 'impacting01', + aliases: ['critical_strike_1', 'impacting01'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 4, + lightColor: [255, 64, 64] as const, + }, + { + name: 'doubledamage2', + celFile: 'impacting02', + aliases: ['critical_strike_2', 'impacting02'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 4, + lightColor: [255, 64, 64] as const, + }, + { + name: 'doubledamage3', + celFile: 'impacting03', + aliases: ['critical_strike_3', 'impacting03'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 4, + lightColor: [255, 64, 64] as const, + }, ] as const export async function bakeOverlays( @@ -1167,6 +1271,18 @@ export async function bakeOverlays( cast_resistlight: 'CAST_RESIST_LIGHTNING_OVERLAY_META', cast_resistall: 'CAST_RESIST_ALL_OVERLAY_META', stun: 'STUN_OVERLAY_META', + + // 10 Amazon Overlays + cast_innersight: 'CAST_INNERSIGHT_OVERLAY_META', + innersight: 'INNERSIGHT_OVERLAY_META', + cast_slowmissiles: 'CAST_SLOWMISSILES_OVERLAY_META', + handofathena: 'HANDOFATHENA_OVERLAY_META', + valkyriestart: 'VALKYRIESTART_OVERLAY_META', + valkyrie: 'VALKYRIE_OVERLAY_META', + dopllezon_appear: 'DOPLLEZON_APPEAR_OVERLAY_META', + doubledamage1: 'DOUBLEDAMAGE1_OVERLAY_META', + doubledamage2: 'DOUBLEDAMAGE2_OVERLAY_META', + doubledamage3: 'DOUBLEDAMAGE3_OVERLAY_META', } const individualConsts = OVERLAY_TARGETS.map(t => { @@ -1218,6 +1334,18 @@ export const BONE_ARMOR_CAST_META: OverlayMeta = BONE_ARMOR_CAST_OVERLAY_META export const CONVERSION_AURA_OVERLAY_META: OverlayMeta = CONVERSION_OVERLAY_META export const FIST_OF_THE_HEAVENS_HIT_OVERLAY_META: OverlayMeta = HAND_OF_GOD_OVERLAY_META export const HANDOFGOD_OVERLAY_META: OverlayMeta = HAND_OF_GOD_OVERLAY_META + +// Aliases for Amazon overlays +export const INNERSIGHT_CAST_OVERLAY_META: OverlayMeta = CAST_INNERSIGHT_OVERLAY_META +export const INNERSIGHT_TARGET_OVERLAY_META: OverlayMeta = INNERSIGHT_OVERLAY_META +export const SLOWMISSILES_CAST_OVERLAY_META: OverlayMeta = CAST_SLOWMISSILES_OVERLAY_META +export const SLOWMISSILES_AURA_OVERLAY_META: OverlayMeta = HANDOFATHENA_OVERLAY_META +export const VALKYRIE_CAST_OVERLAY_META: OverlayMeta = VALKYRIESTART_OVERLAY_META +export const VALKYRIE_AURA_OVERLAY_META: OverlayMeta = VALKYRIE_OVERLAY_META +export const DECOY_APPEAR_OVERLAY_META: OverlayMeta = DOPLLEZON_APPEAR_OVERLAY_META +export const CRITICAL_STRIKE_1_OVERLAY_META: OverlayMeta = DOUBLEDAMAGE1_OVERLAY_META +export const CRITICAL_STRIKE_2_OVERLAY_META: OverlayMeta = DOUBLEDAMAGE2_OVERLAY_META +export const CRITICAL_STRIKE_3_OVERLAY_META: OverlayMeta = DOUBLEDAMAGE3_OVERLAY_META ` const overlayMetasEntries: string[] = [] diff --git a/src/render/missiles-meta.ts b/src/render/missiles-meta.ts index 5b7c55c..f2efc43 100644 --- a/src/render/missiles-meta.ts +++ b/src/render/missiles-meta.ts @@ -6526,6 +6526,3559 @@ export const LIGHTNINGJAVELIN_META: MissileMeta = { ], } +export const BOLT_META: MissileMeta = { + name: "bolt", + celFile: "XBowBolt", + width: 512, + height: 9, + directions: 32, + framesPerDirection: 1, + animSpeed: 16, + groups: [ + [ + [0, 0, 14, 7, -6, -62] + ], + [ + [15, 0, 14, 7, -4, -59] + ], + [ + [30, 0, 14, 7, -8, -58] + ], + [ + [45, 0, 13, 6, -10, -60] + ], + [ + [59, 0, 4, 8, -4, -62] + ], + [ + [64, 0, 18, 5, -7, -60] + ], + [ + [83, 0, 5, 9, -1, -59] + ], + [ + [89, 0, 17, 4, -11, -57] + ], + [ + [107, 0, 9, 8, -5, -62] + ], + [ + [117, 0, 17, 6, -7, -61] + ], + [ + [135, 0, 17, 5, -5, -59] + ], + [ + [153, 0, 8, 8, -1, -59] + ], + [ + [162, 0, 8, 8, -4, -58] + ], + [ + [171, 0, 17, 5, -10, -57] + ], + [ + [189, 0, 17, 5, -12, -59] + ], + [ + [207, 0, 8, 8, -7, -61] + ], + [ + [216, 0, 6, 8, -4, -62] + ], + [ + [223, 0, 11, 8, -5, -62] + ], + [ + [235, 0, 15, 7, -6, -62] + ], + [ + [251, 0, 18, 5, -7, -60] + ], + [ + [270, 0, 18, 4, -6, -59] + ], + [ + [289, 0, 15, 6, -4, -59] + ], + [ + [305, 0, 11, 7, -2, -59] + ], + [ + [317, 0, 6, 8, 0, -59] + ], + [ + [324, 0, 6, 9, -2, -59] + ], + [ + [331, 0, 11, 8, -6, -58] + ], + [ + [343, 0, 15, 7, -9, -58] + ], + [ + [359, 0, 18, 5, -11, -57] + ], + [ + [378, 0, 18, 4, -12, -58] + ], + [ + [397, 0, 16, 5, -11, -59] + ], + [ + [414, 0, 11, 7, -9, -61] + ], + [ + [426, 0, 5, 8, -5, -61] + ] + ], +} + +export const COLDARROW_META: MissileMeta = { + name: "coldarrow", + celFile: "IceArrow", + width: 1024, + height: 324, + directions: 32, + framesPerDirection: 8, + animSpeed: 16, + groups: [ + [ + [0, 0, 45, 25, -20, -60], + [46, 0, 45, 25, -20, -60], + [92, 0, 45, 25, -20, -60], + [138, 0, 45, 25, -20, -60], + [184, 0, 45, 25, -20, -60], + [230, 0, 45, 25, -20, -60], + [276, 0, 45, 25, -20, -60], + [322, 0, 45, 25, -20, -60] + ], + [ + [368, 0, 44, 25, -19, -58], + [413, 0, 44, 25, -19, -58], + [458, 0, 44, 25, -19, -58], + [503, 0, 44, 25, -19, -58], + [548, 0, 44, 25, -19, -58], + [593, 0, 44, 25, -19, -58], + [638, 0, 44, 25, -19, -58], + [683, 0, 44, 25, -19, -58] + ], + [ + [728, 0, 45, 25, -25, -58], + [774, 0, 45, 25, -25, -58], + [820, 0, 45, 25, -25, -58], + [866, 0, 45, 25, -25, -58], + [912, 0, 45, 25, -25, -58], + [958, 0, 45, 25, -25, -58], + [0, 26, 45, 25, -25, -58], + [46, 26, 45, 25, -25, -58] + ], + [ + [92, 26, 45, 24, -25, -60], + [138, 26, 45, 24, -25, -60], + [184, 26, 45, 24, -25, -60], + [230, 26, 45, 24, -25, -60], + [276, 26, 45, 24, -25, -60], + [322, 26, 45, 24, -25, -60], + [368, 26, 45, 24, -25, -60], + [414, 26, 45, 24, -25, -60] + ], + [ + [460, 26, 16, 31, -8, -64], + [477, 26, 16, 31, -8, -64], + [494, 26, 16, 31, -8, -64], + [511, 26, 16, 31, -8, -64], + [528, 26, 16, 31, -8, -64], + [545, 26, 16, 31, -8, -64], + [562, 26, 16, 31, -8, -64], + [579, 26, 16, 31, -8, -64] + ], + [ + [596, 26, 61, 15, -27, -54], + [658, 26, 61, 15, -27, -54], + [720, 26, 61, 15, -27, -54], + [782, 26, 61, 15, -27, -54], + [844, 26, 61, 15, -27, -54], + [906, 26, 61, 15, -27, -54], + [0, 58, 61, 15, -27, -54], + [62, 58, 61, 15, -27, -54] + ], + [ + [124, 58, 16, 32, -8, -61], + [141, 58, 16, 32, -8, -61], + [158, 58, 16, 32, -8, -61], + [175, 58, 16, 32, -8, -61], + [192, 58, 16, 32, -8, -61], + [209, 58, 16, 32, -8, -61], + [226, 58, 16, 32, -8, -61], + [243, 58, 16, 32, -8, -61] + ], + [ + [260, 58, 60, 15, -34, -54], + [321, 58, 60, 15, -34, -54], + [382, 58, 60, 15, -34, -54], + [443, 58, 60, 15, -34, -54], + [504, 58, 60, 15, -34, -54], + [565, 58, 60, 15, -34, -54], + [626, 58, 60, 15, -34, -54], + [687, 58, 60, 15, -34, -54] + ], + [ + [748, 58, 27, 30, -12, -63], + [776, 58, 27, 30, -12, -63], + [804, 58, 27, 30, -12, -63], + [832, 58, 27, 30, -12, -63], + [860, 58, 27, 30, -12, -63], + [888, 58, 27, 30, -12, -63], + [916, 58, 27, 30, -12, -63], + [944, 58, 27, 30, -12, -63] + ], + [ + [0, 91, 57, 19, -25, -57], + [58, 91, 57, 19, -25, -57], + [116, 91, 57, 19, -25, -57], + [174, 91, 57, 19, -25, -57], + [232, 91, 57, 19, -25, -57], + [290, 91, 57, 19, -25, -57], + [348, 91, 57, 19, -25, -57], + [406, 91, 57, 19, -25, -57] + ], + [ + [464, 91, 57, 18, -25, -55], + [522, 91, 57, 18, -25, -55], + [580, 91, 57, 18, -25, -55], + [638, 91, 57, 18, -25, -55], + [696, 91, 57, 18, -25, -55], + [754, 91, 57, 18, -25, -55], + [812, 91, 57, 18, -25, -55], + [870, 91, 57, 18, -25, -55] + ], + [ + [928, 91, 27, 30, -12, -60], + [956, 91, 27, 30, -12, -60], + [984, 91, 27, 30, -12, -60], + [0, 122, 27, 30, -12, -60], + [28, 122, 27, 30, -12, -60], + [56, 122, 27, 30, -12, -60], + [84, 122, 27, 30, -12, -60], + [112, 122, 27, 30, -12, -60] + ], + [ + [140, 122, 27, 30, -15, -60], + [168, 122, 27, 30, -15, -60], + [196, 122, 27, 30, -15, -60], + [224, 122, 27, 30, -15, -60], + [252, 122, 27, 30, -15, -60], + [280, 122, 27, 30, -15, -60], + [308, 122, 27, 30, -15, -60], + [336, 122, 27, 30, -15, -60] + ], + [ + [364, 122, 57, 18, -32, -55], + [422, 122, 57, 18, -32, -55], + [480, 122, 57, 18, -32, -55], + [538, 122, 57, 18, -32, -55], + [596, 122, 57, 18, -32, -55], + [654, 122, 57, 18, -32, -55], + [712, 122, 57, 18, -32, -55], + [770, 122, 57, 18, -32, -55] + ], + [ + [828, 122, 57, 19, -32, -57], + [886, 122, 57, 19, -32, -57], + [944, 122, 57, 19, -32, -57], + [0, 153, 57, 19, -32, -57], + [58, 153, 57, 19, -32, -57], + [116, 153, 57, 19, -32, -57], + [174, 153, 57, 19, -32, -57], + [232, 153, 57, 19, -32, -57] + ], + [ + [290, 153, 27, 30, -15, -63], + [318, 153, 27, 30, -15, -63], + [346, 153, 27, 30, -15, -63], + [374, 153, 27, 30, -15, -63], + [402, 153, 27, 30, -15, -63], + [430, 153, 27, 30, -15, -63], + [458, 153, 27, 30, -15, -63], + [486, 153, 27, 30, -15, -63] + ], + [ + [514, 153, 19, 31, -9, -64], + [534, 153, 19, 31, -9, -64], + [554, 153, 19, 31, -9, -64], + [574, 153, 19, 31, -9, -64], + [594, 153, 19, 31, -9, -64], + [614, 153, 19, 31, -9, -64], + [634, 153, 19, 31, -9, -64], + [654, 153, 19, 31, -9, -64] + ], + [ + [674, 153, 36, 28, -16, -62], + [711, 153, 36, 28, -16, -62], + [748, 153, 36, 28, -16, -62], + [785, 153, 36, 28, -16, -62], + [822, 153, 36, 28, -16, -62], + [859, 153, 36, 28, -16, -62], + [896, 153, 36, 28, -16, -62], + [933, 153, 36, 28, -16, -62] + ], + [ + [970, 153, 51, 21, -22, -58], + [0, 185, 51, 21, -22, -58], + [52, 185, 51, 21, -22, -58], + [104, 185, 51, 21, -22, -58], + [156, 185, 51, 21, -22, -58], + [208, 185, 51, 21, -22, -58], + [260, 185, 51, 21, -22, -58], + [312, 185, 51, 21, -22, -58] + ], + [ + [364, 185, 59, 16, -26, -55], + [424, 185, 59, 16, -26, -55], + [484, 185, 59, 16, -26, -55], + [544, 185, 59, 16, -26, -55], + [604, 185, 59, 16, -26, -55], + [664, 185, 59, 16, -26, -55], + [724, 185, 59, 16, -26, -55], + [784, 185, 59, 16, -26, -55] + ], + [ + [844, 185, 59, 16, -26, -54], + [904, 185, 59, 16, -26, -54], + [964, 185, 59, 16, -26, -54], + [0, 207, 59, 16, -26, -54], + [60, 207, 59, 16, -26, -54], + [120, 207, 59, 16, -26, -54], + [180, 207, 59, 16, -26, -54], + [240, 207, 59, 16, -26, -54] + ], + [ + [300, 207, 50, 21, -22, -56], + [351, 207, 50, 21, -22, -56], + [402, 207, 50, 21, -22, -56], + [453, 207, 50, 21, -22, -56], + [504, 207, 50, 21, -22, -56], + [555, 207, 50, 21, -22, -56], + [606, 207, 50, 21, -22, -56], + [657, 207, 50, 21, -22, -56] + ], + [ + [708, 207, 36, 28, -16, -59], + [745, 207, 36, 28, -16, -59], + [782, 207, 36, 28, -16, -59], + [819, 207, 36, 28, -16, -59], + [856, 207, 36, 28, -16, -59], + [893, 207, 36, 28, -16, -59], + [930, 207, 36, 28, -16, -59], + [967, 207, 36, 28, -16, -59] + ], + [ + [1004, 207, 19, 31, -9, -60], + [0, 239, 19, 31, -9, -60], + [20, 239, 19, 31, -9, -60], + [40, 239, 19, 31, -9, -60], + [60, 239, 19, 31, -9, -60], + [80, 239, 19, 31, -9, -60], + [100, 239, 19, 31, -9, -60], + [120, 239, 19, 31, -9, -60] + ], + [ + [140, 239, 19, 31, -10, -60], + [160, 239, 19, 31, -10, -60], + [180, 239, 19, 31, -10, -60], + [200, 239, 19, 31, -10, -60], + [220, 239, 19, 31, -10, -60], + [240, 239, 19, 31, -10, -60], + [260, 239, 19, 31, -10, -60], + [280, 239, 19, 31, -10, -60] + ], + [ + [300, 239, 36, 28, -20, -59], + [337, 239, 36, 28, -20, -59], + [374, 239, 36, 28, -20, -59], + [411, 239, 36, 28, -20, -59], + [448, 239, 36, 28, -20, -59], + [485, 239, 36, 28, -20, -59], + [522, 239, 36, 28, -20, -59], + [559, 239, 36, 28, -20, -59] + ], + [ + [596, 239, 52, 21, -29, -56], + [649, 239, 52, 21, -29, -56], + [702, 239, 52, 21, -29, -56], + [755, 239, 52, 21, -29, -56], + [808, 239, 52, 21, -29, -56], + [861, 239, 52, 21, -29, -56], + [914, 239, 52, 21, -29, -56], + [967, 239, 52, 21, -29, -56] + ], + [ + [0, 271, 59, 16, -33, -54], + [60, 271, 59, 16, -33, -54], + [120, 271, 59, 16, -33, -54], + [180, 271, 59, 16, -33, -54], + [240, 271, 59, 16, -33, -54], + [300, 271, 59, 16, -33, -54], + [360, 271, 59, 16, -33, -54], + [420, 271, 59, 16, -33, -54] + ], + [ + [480, 271, 59, 16, -33, -55], + [540, 271, 59, 16, -33, -55], + [600, 271, 59, 16, -33, -55], + [660, 271, 59, 16, -33, -55], + [720, 271, 59, 16, -33, -55], + [780, 271, 59, 16, -33, -55], + [840, 271, 59, 16, -33, -55], + [900, 271, 59, 16, -33, -55] + ], + [ + [960, 271, 52, 21, -29, -58], + [0, 293, 52, 21, -29, -58], + [53, 293, 52, 21, -29, -58], + [106, 293, 52, 21, -29, -58], + [159, 293, 52, 21, -29, -58], + [212, 293, 52, 21, -29, -58], + [265, 293, 52, 21, -29, -58], + [318, 293, 52, 21, -29, -58] + ], + [ + [371, 293, 36, 28, -20, -62], + [408, 293, 36, 28, -20, -62], + [445, 293, 36, 28, -20, -62], + [482, 293, 36, 28, -20, -62], + [519, 293, 36, 28, -20, -62], + [556, 293, 36, 28, -20, -62], + [593, 293, 36, 28, -20, -62], + [630, 293, 36, 28, -20, -62] + ], + [ + [667, 293, 19, 31, -10, -64], + [687, 293, 19, 31, -10, -64], + [707, 293, 19, 31, -10, -64], + [727, 293, 19, 31, -10, -64], + [747, 293, 19, 31, -10, -64], + [767, 293, 19, 31, -10, -64], + [787, 293, 19, 31, -10, -64], + [807, 293, 19, 31, -10, -64] + ] + ], +} + +export const EXPLODINGARROW_META: MissileMeta = { + name: "explodingarrow", + celFile: "FireArrow", + width: 512, + height: 355, + directions: 32, + framesPerDirection: 8, + animSpeed: 16, + groups: [ + [ + [0, 0, 32, 18, -16, -56], + [33, 0, 32, 18, -16, -56], + [66, 0, 32, 18, -16, -56], + [99, 0, 32, 18, -16, -56], + [132, 0, 32, 18, -16, -56], + [165, 0, 32, 18, -16, -56], + [198, 0, 32, 18, -16, -56], + [231, 0, 32, 18, -16, -56] + ], + [ + [264, 0, 32, 20, -16, -56], + [297, 0, 32, 20, -16, -56], + [330, 0, 32, 20, -16, -56], + [363, 0, 32, 20, -16, -56], + [396, 0, 32, 20, -16, -56], + [429, 0, 32, 20, -16, -56], + [462, 0, 32, 20, -16, -56], + [0, 21, 32, 20, -16, -56] + ], + [ + [33, 21, 32, 20, -16, -56], + [66, 21, 32, 20, -16, -56], + [99, 21, 32, 20, -16, -56], + [132, 21, 32, 20, -16, -56], + [165, 21, 32, 20, -16, -56], + [198, 21, 32, 20, -16, -56], + [231, 21, 32, 20, -16, -56], + [264, 21, 32, 20, -16, -56] + ], + [ + [297, 21, 32, 19, -16, -57], + [330, 21, 32, 19, -16, -57], + [363, 21, 32, 19, -16, -57], + [396, 21, 32, 19, -16, -57], + [429, 21, 32, 19, -16, -57], + [462, 21, 32, 19, -16, -57], + [0, 42, 32, 19, -16, -57], + [33, 42, 32, 19, -16, -57] + ], + [ + [66, 42, 10, 24, -5, -59], + [77, 42, 10, 24, -5, -59], + [88, 42, 10, 24, -5, -59], + [99, 42, 10, 24, -5, -59], + [110, 42, 10, 24, -5, -59], + [121, 42, 10, 24, -5, -59], + [132, 42, 10, 24, -5, -59], + [143, 42, 10, 24, -5, -59] + ], + [ + [154, 42, 41, 10, -22, -52], + [196, 42, 41, 10, -22, -52], + [238, 42, 41, 10, -22, -52], + [280, 42, 41, 10, -22, -52], + [322, 42, 41, 10, -22, -52], + [364, 42, 41, 10, -22, -52], + [406, 42, 41, 10, -22, -52], + [448, 42, 41, 10, -22, -52] + ], + [ + [490, 42, 10, 25, -5, -59], + [501, 42, 10, 25, -5, -59], + [0, 68, 10, 25, -5, -59], + [11, 68, 10, 25, -5, -59], + [22, 68, 10, 25, -5, -59], + [33, 68, 10, 25, -5, -59], + [44, 68, 10, 25, -5, -59], + [55, 68, 10, 25, -5, -59] + ], + [ + [66, 68, 41, 10, -19, -52], + [108, 68, 41, 10, -19, -52], + [150, 68, 41, 10, -19, -52], + [192, 68, 41, 10, -19, -52], + [234, 68, 41, 10, -19, -52], + [276, 68, 41, 10, -19, -52], + [318, 68, 41, 10, -19, -52], + [360, 68, 41, 10, -19, -52] + ], + [ + [402, 68, 21, 22, -10, -58], + [424, 68, 21, 22, -10, -58], + [446, 68, 21, 22, -10, -58], + [468, 68, 21, 22, -10, -58], + [490, 68, 21, 22, -10, -58], + [0, 94, 21, 22, -10, -58], + [22, 94, 21, 22, -10, -58], + [44, 94, 21, 22, -10, -58] + ], + [ + [66, 94, 38, 14, -20, -54], + [105, 94, 38, 14, -20, -54], + [144, 94, 38, 14, -20, -54], + [183, 94, 38, 14, -20, -54], + [222, 94, 38, 14, -20, -54], + [261, 94, 38, 14, -20, -54], + [300, 94, 38, 14, -20, -54], + [339, 94, 38, 14, -20, -54] + ], + [ + [378, 94, 38, 14, -20, -53], + [417, 94, 38, 14, -20, -53], + [456, 94, 38, 14, -20, -53], + [0, 117, 38, 14, -20, -53], + [39, 117, 38, 14, -20, -53], + [78, 117, 38, 14, -20, -53], + [117, 117, 38, 14, -20, -53], + [156, 117, 38, 14, -20, -53] + ], + [ + [195, 117, 21, 23, -10, -58], + [217, 117, 21, 23, -10, -58], + [239, 117, 21, 23, -10, -58], + [261, 117, 21, 23, -10, -58], + [283, 117, 21, 23, -10, -58], + [305, 117, 21, 23, -10, -58], + [327, 117, 21, 23, -10, -58], + [349, 117, 21, 23, -10, -58] + ], + [ + [371, 117, 22, 23, -12, -58], + [394, 117, 22, 23, -12, -58], + [417, 117, 22, 23, -12, -58], + [440, 117, 22, 23, -12, -58], + [463, 117, 22, 23, -12, -58], + [486, 117, 22, 23, -12, -58], + [0, 141, 22, 23, -12, -58], + [23, 141, 22, 23, -12, -58] + ], + [ + [46, 141, 38, 14, -18, -53], + [85, 141, 38, 14, -18, -53], + [124, 141, 38, 14, -18, -53], + [163, 141, 38, 14, -18, -53], + [202, 141, 38, 14, -18, -53], + [241, 141, 38, 14, -18, -53], + [280, 141, 38, 14, -18, -53], + [319, 141, 38, 14, -18, -53] + ], + [ + [358, 141, 38, 15, -18, -55], + [397, 141, 38, 15, -18, -55], + [436, 141, 38, 15, -18, -55], + [0, 165, 38, 15, -18, -55], + [39, 165, 38, 15, -18, -55], + [78, 165, 38, 15, -18, -55], + [117, 165, 38, 15, -18, -55], + [156, 165, 38, 15, -18, -55] + ], + [ + [195, 165, 22, 23, -12, -59], + [218, 165, 22, 23, -12, -59], + [241, 165, 22, 23, -12, -59], + [264, 165, 22, 23, -12, -59], + [287, 165, 22, 23, -12, -59], + [310, 165, 22, 23, -12, -59], + [333, 165, 22, 23, -12, -59], + [356, 165, 22, 23, -12, -59] + ], + [ + [379, 165, 16, 23, -7, -58], + [396, 165, 16, 23, -7, -58], + [413, 165, 16, 23, -7, -58], + [430, 165, 16, 23, -7, -58], + [447, 165, 16, 23, -7, -58], + [464, 165, 16, 23, -7, -58], + [481, 165, 16, 23, -7, -58], + [0, 189, 16, 23, -7, -58] + ], + [ + [17, 189, 27, 20, -13, -57], + [45, 189, 27, 20, -13, -57], + [73, 189, 27, 20, -13, -57], + [101, 189, 27, 20, -13, -57], + [129, 189, 27, 20, -13, -57], + [157, 189, 27, 20, -13, -57], + [185, 189, 27, 20, -13, -57], + [213, 189, 27, 20, -13, -57] + ], + [ + [241, 189, 35, 16, -18, -55], + [277, 189, 35, 16, -18, -55], + [313, 189, 35, 16, -18, -55], + [349, 189, 35, 16, -18, -55], + [385, 189, 35, 16, -18, -55], + [421, 189, 35, 16, -18, -55], + [457, 189, 35, 16, -18, -55], + [0, 213, 35, 16, -18, -55] + ], + [ + [36, 213, 41, 11, -22, -53], + [78, 213, 41, 11, -22, -53], + [120, 213, 41, 11, -22, -53], + [162, 213, 41, 11, -22, -53], + [204, 213, 41, 11, -22, -53], + [246, 213, 41, 11, -22, -53], + [288, 213, 41, 11, -22, -53], + [330, 213, 41, 11, -22, -53] + ], + [ + [372, 213, 41, 12, -22, -52], + [414, 213, 41, 12, -22, -52], + [456, 213, 41, 12, -22, -52], + [0, 230, 41, 12, -22, -52], + [42, 230, 41, 12, -22, -52], + [84, 230, 41, 12, -22, -52], + [126, 230, 41, 12, -22, -52], + [168, 230, 41, 12, -22, -52] + ], + [ + [210, 230, 35, 18, -18, -55], + [246, 230, 35, 18, -18, -55], + [282, 230, 35, 18, -18, -55], + [318, 230, 35, 18, -18, -55], + [354, 230, 35, 18, -18, -55], + [390, 230, 35, 18, -18, -55], + [426, 230, 35, 18, -18, -55], + [462, 230, 35, 18, -18, -55] + ], + [ + [0, 249, 27, 22, -13, -57], + [28, 249, 27, 22, -13, -57], + [56, 249, 27, 22, -13, -57], + [84, 249, 27, 22, -13, -57], + [112, 249, 27, 22, -13, -57], + [140, 249, 27, 22, -13, -57], + [168, 249, 27, 22, -13, -57], + [196, 249, 27, 22, -13, -57] + ], + [ + [224, 249, 16, 24, -7, -58], + [241, 249, 16, 24, -7, -58], + [258, 249, 16, 24, -7, -58], + [275, 249, 16, 24, -7, -58], + [292, 249, 16, 24, -7, -58], + [309, 249, 16, 24, -7, -58], + [326, 249, 16, 24, -7, -58], + [343, 249, 16, 24, -7, -58] + ], + [ + [360, 249, 16, 24, -9, -58], + [377, 249, 16, 24, -9, -58], + [394, 249, 16, 24, -9, -58], + [411, 249, 16, 24, -9, -58], + [428, 249, 16, 24, -9, -58], + [445, 249, 16, 24, -9, -58], + [462, 249, 16, 24, -9, -58], + [479, 249, 16, 24, -9, -58] + ], + [ + [0, 274, 27, 22, -14, -57], + [28, 274, 27, 22, -14, -57], + [56, 274, 27, 22, -14, -57], + [84, 274, 27, 22, -14, -57], + [112, 274, 27, 22, -14, -57], + [140, 274, 27, 22, -14, -57], + [168, 274, 27, 22, -14, -57], + [196, 274, 27, 22, -14, -57] + ], + [ + [224, 274, 35, 18, -17, -55], + [260, 274, 35, 18, -17, -55], + [296, 274, 35, 18, -17, -55], + [332, 274, 35, 18, -17, -55], + [368, 274, 35, 18, -17, -55], + [404, 274, 35, 18, -17, -55], + [440, 274, 35, 18, -17, -55], + [476, 274, 35, 18, -17, -55] + ], + [ + [0, 297, 41, 12, -19, -52], + [42, 297, 41, 12, -19, -52], + [84, 297, 41, 12, -19, -52], + [126, 297, 41, 12, -19, -52], + [168, 297, 41, 12, -19, -52], + [210, 297, 41, 12, -19, -52], + [252, 297, 41, 12, -19, -52], + [294, 297, 41, 12, -19, -52] + ], + [ + [336, 297, 41, 11, -19, -53], + [378, 297, 41, 11, -19, -53], + [420, 297, 41, 11, -19, -53], + [462, 297, 41, 11, -19, -53], + [0, 310, 41, 11, -19, -53], + [42, 310, 41, 11, -19, -53], + [84, 310, 41, 11, -19, -53], + [126, 310, 41, 11, -19, -53] + ], + [ + [168, 310, 35, 17, -17, -56], + [204, 310, 35, 17, -17, -56], + [240, 310, 35, 17, -17, -56], + [276, 310, 35, 17, -17, -56], + [312, 310, 35, 17, -17, -56], + [348, 310, 35, 17, -17, -56], + [384, 310, 35, 17, -17, -56], + [420, 310, 35, 17, -17, -56] + ], + [ + [456, 310, 27, 20, -14, -57], + [484, 310, 27, 20, -14, -57], + [0, 331, 27, 20, -14, -57], + [28, 331, 27, 20, -14, -57], + [56, 331, 27, 20, -14, -57], + [84, 331, 27, 20, -14, -57], + [112, 331, 27, 20, -14, -57], + [140, 331, 27, 20, -14, -57] + ], + [ + [168, 331, 16, 24, -9, -59], + [185, 331, 16, 24, -9, -59], + [202, 331, 16, 24, -9, -59], + [219, 331, 16, 24, -9, -59], + [236, 331, 16, 24, -9, -59], + [253, 331, 16, 24, -9, -59], + [270, 331, 16, 24, -9, -59], + [287, 331, 16, 24, -9, -59] + ] + ], +} + +export const EXPLODINGARROWEXP_META: MissileMeta = { + name: "explodingarrowexp", + celFile: "ExpArrowExplode", + width: 1024, + height: 699, + directions: 1, + framesPerDirection: 16, + animSpeed: 16, + groups: [ + [ + [0, 0, 208, 174, -108, -123], + [209, 0, 208, 174, -108, -123], + [418, 0, 208, 174, -108, -123], + [627, 0, 208, 174, -108, -123], + [0, 175, 208, 174, -108, -123], + [209, 175, 208, 174, -108, -123], + [418, 175, 208, 174, -108, -123], + [627, 175, 208, 174, -108, -123], + [0, 350, 208, 174, -108, -123], + [209, 350, 208, 174, -108, -123], + [418, 350, 208, 174, -108, -123], + [627, 350, 208, 174, -108, -123], + [0, 525, 208, 174, -108, -123], + [209, 525, 208, 174, -108, -123], + [418, 525, 208, 174, -108, -123], + [627, 525, 208, 174, -108, -123] + ] + ], +} + +export const ICEARROWEXPLODE_META: MissileMeta = { + name: "icearrowexplode", + celFile: "IceArrowExplode", + width: 512, + height: 332, + directions: 1, + framesPerDirection: 16, + animSpeed: 16, + groups: [ + [ + [0, 0, 83, 110, -43, -90], + [84, 0, 83, 110, -43, -90], + [168, 0, 83, 110, -43, -90], + [252, 0, 83, 110, -43, -90], + [336, 0, 83, 110, -43, -90], + [420, 0, 83, 110, -43, -90], + [0, 111, 83, 110, -43, -90], + [84, 111, 83, 110, -43, -90], + [168, 111, 83, 110, -43, -90], + [252, 111, 83, 110, -43, -90], + [336, 111, 83, 110, -43, -90], + [420, 111, 83, 110, -43, -90], + [0, 222, 83, 110, -43, -90], + [84, 222, 83, 110, -43, -90], + [168, 222, 83, 110, -43, -90], + [252, 222, 83, 110, -43, -90] + ] + ], +} + +export const FREEZINGARROW_META: MissileMeta = { + name: "freezingarrow", + celFile: "IceArrow", + width: 1024, + height: 324, + directions: 32, + framesPerDirection: 8, + animSpeed: 16, + groups: [ + [ + [0, 0, 45, 25, -20, -60], + [46, 0, 45, 25, -20, -60], + [92, 0, 45, 25, -20, -60], + [138, 0, 45, 25, -20, -60], + [184, 0, 45, 25, -20, -60], + [230, 0, 45, 25, -20, -60], + [276, 0, 45, 25, -20, -60], + [322, 0, 45, 25, -20, -60] + ], + [ + [368, 0, 44, 25, -19, -58], + [413, 0, 44, 25, -19, -58], + [458, 0, 44, 25, -19, -58], + [503, 0, 44, 25, -19, -58], + [548, 0, 44, 25, -19, -58], + [593, 0, 44, 25, -19, -58], + [638, 0, 44, 25, -19, -58], + [683, 0, 44, 25, -19, -58] + ], + [ + [728, 0, 45, 25, -25, -58], + [774, 0, 45, 25, -25, -58], + [820, 0, 45, 25, -25, -58], + [866, 0, 45, 25, -25, -58], + [912, 0, 45, 25, -25, -58], + [958, 0, 45, 25, -25, -58], + [0, 26, 45, 25, -25, -58], + [46, 26, 45, 25, -25, -58] + ], + [ + [92, 26, 45, 24, -25, -60], + [138, 26, 45, 24, -25, -60], + [184, 26, 45, 24, -25, -60], + [230, 26, 45, 24, -25, -60], + [276, 26, 45, 24, -25, -60], + [322, 26, 45, 24, -25, -60], + [368, 26, 45, 24, -25, -60], + [414, 26, 45, 24, -25, -60] + ], + [ + [460, 26, 16, 31, -8, -64], + [477, 26, 16, 31, -8, -64], + [494, 26, 16, 31, -8, -64], + [511, 26, 16, 31, -8, -64], + [528, 26, 16, 31, -8, -64], + [545, 26, 16, 31, -8, -64], + [562, 26, 16, 31, -8, -64], + [579, 26, 16, 31, -8, -64] + ], + [ + [596, 26, 61, 15, -27, -54], + [658, 26, 61, 15, -27, -54], + [720, 26, 61, 15, -27, -54], + [782, 26, 61, 15, -27, -54], + [844, 26, 61, 15, -27, -54], + [906, 26, 61, 15, -27, -54], + [0, 58, 61, 15, -27, -54], + [62, 58, 61, 15, -27, -54] + ], + [ + [124, 58, 16, 32, -8, -61], + [141, 58, 16, 32, -8, -61], + [158, 58, 16, 32, -8, -61], + [175, 58, 16, 32, -8, -61], + [192, 58, 16, 32, -8, -61], + [209, 58, 16, 32, -8, -61], + [226, 58, 16, 32, -8, -61], + [243, 58, 16, 32, -8, -61] + ], + [ + [260, 58, 60, 15, -34, -54], + [321, 58, 60, 15, -34, -54], + [382, 58, 60, 15, -34, -54], + [443, 58, 60, 15, -34, -54], + [504, 58, 60, 15, -34, -54], + [565, 58, 60, 15, -34, -54], + [626, 58, 60, 15, -34, -54], + [687, 58, 60, 15, -34, -54] + ], + [ + [748, 58, 27, 30, -12, -63], + [776, 58, 27, 30, -12, -63], + [804, 58, 27, 30, -12, -63], + [832, 58, 27, 30, -12, -63], + [860, 58, 27, 30, -12, -63], + [888, 58, 27, 30, -12, -63], + [916, 58, 27, 30, -12, -63], + [944, 58, 27, 30, -12, -63] + ], + [ + [0, 91, 57, 19, -25, -57], + [58, 91, 57, 19, -25, -57], + [116, 91, 57, 19, -25, -57], + [174, 91, 57, 19, -25, -57], + [232, 91, 57, 19, -25, -57], + [290, 91, 57, 19, -25, -57], + [348, 91, 57, 19, -25, -57], + [406, 91, 57, 19, -25, -57] + ], + [ + [464, 91, 57, 18, -25, -55], + [522, 91, 57, 18, -25, -55], + [580, 91, 57, 18, -25, -55], + [638, 91, 57, 18, -25, -55], + [696, 91, 57, 18, -25, -55], + [754, 91, 57, 18, -25, -55], + [812, 91, 57, 18, -25, -55], + [870, 91, 57, 18, -25, -55] + ], + [ + [928, 91, 27, 30, -12, -60], + [956, 91, 27, 30, -12, -60], + [984, 91, 27, 30, -12, -60], + [0, 122, 27, 30, -12, -60], + [28, 122, 27, 30, -12, -60], + [56, 122, 27, 30, -12, -60], + [84, 122, 27, 30, -12, -60], + [112, 122, 27, 30, -12, -60] + ], + [ + [140, 122, 27, 30, -15, -60], + [168, 122, 27, 30, -15, -60], + [196, 122, 27, 30, -15, -60], + [224, 122, 27, 30, -15, -60], + [252, 122, 27, 30, -15, -60], + [280, 122, 27, 30, -15, -60], + [308, 122, 27, 30, -15, -60], + [336, 122, 27, 30, -15, -60] + ], + [ + [364, 122, 57, 18, -32, -55], + [422, 122, 57, 18, -32, -55], + [480, 122, 57, 18, -32, -55], + [538, 122, 57, 18, -32, -55], + [596, 122, 57, 18, -32, -55], + [654, 122, 57, 18, -32, -55], + [712, 122, 57, 18, -32, -55], + [770, 122, 57, 18, -32, -55] + ], + [ + [828, 122, 57, 19, -32, -57], + [886, 122, 57, 19, -32, -57], + [944, 122, 57, 19, -32, -57], + [0, 153, 57, 19, -32, -57], + [58, 153, 57, 19, -32, -57], + [116, 153, 57, 19, -32, -57], + [174, 153, 57, 19, -32, -57], + [232, 153, 57, 19, -32, -57] + ], + [ + [290, 153, 27, 30, -15, -63], + [318, 153, 27, 30, -15, -63], + [346, 153, 27, 30, -15, -63], + [374, 153, 27, 30, -15, -63], + [402, 153, 27, 30, -15, -63], + [430, 153, 27, 30, -15, -63], + [458, 153, 27, 30, -15, -63], + [486, 153, 27, 30, -15, -63] + ], + [ + [514, 153, 19, 31, -9, -64], + [534, 153, 19, 31, -9, -64], + [554, 153, 19, 31, -9, -64], + [574, 153, 19, 31, -9, -64], + [594, 153, 19, 31, -9, -64], + [614, 153, 19, 31, -9, -64], + [634, 153, 19, 31, -9, -64], + [654, 153, 19, 31, -9, -64] + ], + [ + [674, 153, 36, 28, -16, -62], + [711, 153, 36, 28, -16, -62], + [748, 153, 36, 28, -16, -62], + [785, 153, 36, 28, -16, -62], + [822, 153, 36, 28, -16, -62], + [859, 153, 36, 28, -16, -62], + [896, 153, 36, 28, -16, -62], + [933, 153, 36, 28, -16, -62] + ], + [ + [970, 153, 51, 21, -22, -58], + [0, 185, 51, 21, -22, -58], + [52, 185, 51, 21, -22, -58], + [104, 185, 51, 21, -22, -58], + [156, 185, 51, 21, -22, -58], + [208, 185, 51, 21, -22, -58], + [260, 185, 51, 21, -22, -58], + [312, 185, 51, 21, -22, -58] + ], + [ + [364, 185, 59, 16, -26, -55], + [424, 185, 59, 16, -26, -55], + [484, 185, 59, 16, -26, -55], + [544, 185, 59, 16, -26, -55], + [604, 185, 59, 16, -26, -55], + [664, 185, 59, 16, -26, -55], + [724, 185, 59, 16, -26, -55], + [784, 185, 59, 16, -26, -55] + ], + [ + [844, 185, 59, 16, -26, -54], + [904, 185, 59, 16, -26, -54], + [964, 185, 59, 16, -26, -54], + [0, 207, 59, 16, -26, -54], + [60, 207, 59, 16, -26, -54], + [120, 207, 59, 16, -26, -54], + [180, 207, 59, 16, -26, -54], + [240, 207, 59, 16, -26, -54] + ], + [ + [300, 207, 50, 21, -22, -56], + [351, 207, 50, 21, -22, -56], + [402, 207, 50, 21, -22, -56], + [453, 207, 50, 21, -22, -56], + [504, 207, 50, 21, -22, -56], + [555, 207, 50, 21, -22, -56], + [606, 207, 50, 21, -22, -56], + [657, 207, 50, 21, -22, -56] + ], + [ + [708, 207, 36, 28, -16, -59], + [745, 207, 36, 28, -16, -59], + [782, 207, 36, 28, -16, -59], + [819, 207, 36, 28, -16, -59], + [856, 207, 36, 28, -16, -59], + [893, 207, 36, 28, -16, -59], + [930, 207, 36, 28, -16, -59], + [967, 207, 36, 28, -16, -59] + ], + [ + [1004, 207, 19, 31, -9, -60], + [0, 239, 19, 31, -9, -60], + [20, 239, 19, 31, -9, -60], + [40, 239, 19, 31, -9, -60], + [60, 239, 19, 31, -9, -60], + [80, 239, 19, 31, -9, -60], + [100, 239, 19, 31, -9, -60], + [120, 239, 19, 31, -9, -60] + ], + [ + [140, 239, 19, 31, -10, -60], + [160, 239, 19, 31, -10, -60], + [180, 239, 19, 31, -10, -60], + [200, 239, 19, 31, -10, -60], + [220, 239, 19, 31, -10, -60], + [240, 239, 19, 31, -10, -60], + [260, 239, 19, 31, -10, -60], + [280, 239, 19, 31, -10, -60] + ], + [ + [300, 239, 36, 28, -20, -59], + [337, 239, 36, 28, -20, -59], + [374, 239, 36, 28, -20, -59], + [411, 239, 36, 28, -20, -59], + [448, 239, 36, 28, -20, -59], + [485, 239, 36, 28, -20, -59], + [522, 239, 36, 28, -20, -59], + [559, 239, 36, 28, -20, -59] + ], + [ + [596, 239, 52, 21, -29, -56], + [649, 239, 52, 21, -29, -56], + [702, 239, 52, 21, -29, -56], + [755, 239, 52, 21, -29, -56], + [808, 239, 52, 21, -29, -56], + [861, 239, 52, 21, -29, -56], + [914, 239, 52, 21, -29, -56], + [967, 239, 52, 21, -29, -56] + ], + [ + [0, 271, 59, 16, -33, -54], + [60, 271, 59, 16, -33, -54], + [120, 271, 59, 16, -33, -54], + [180, 271, 59, 16, -33, -54], + [240, 271, 59, 16, -33, -54], + [300, 271, 59, 16, -33, -54], + [360, 271, 59, 16, -33, -54], + [420, 271, 59, 16, -33, -54] + ], + [ + [480, 271, 59, 16, -33, -55], + [540, 271, 59, 16, -33, -55], + [600, 271, 59, 16, -33, -55], + [660, 271, 59, 16, -33, -55], + [720, 271, 59, 16, -33, -55], + [780, 271, 59, 16, -33, -55], + [840, 271, 59, 16, -33, -55], + [900, 271, 59, 16, -33, -55] + ], + [ + [960, 271, 52, 21, -29, -58], + [0, 293, 52, 21, -29, -58], + [53, 293, 52, 21, -29, -58], + [106, 293, 52, 21, -29, -58], + [159, 293, 52, 21, -29, -58], + [212, 293, 52, 21, -29, -58], + [265, 293, 52, 21, -29, -58], + [318, 293, 52, 21, -29, -58] + ], + [ + [371, 293, 36, 28, -20, -62], + [408, 293, 36, 28, -20, -62], + [445, 293, 36, 28, -20, -62], + [482, 293, 36, 28, -20, -62], + [519, 293, 36, 28, -20, -62], + [556, 293, 36, 28, -20, -62], + [593, 293, 36, 28, -20, -62], + [630, 293, 36, 28, -20, -62] + ], + [ + [667, 293, 19, 31, -10, -64], + [687, 293, 19, 31, -10, -64], + [707, 293, 19, 31, -10, -64], + [727, 293, 19, 31, -10, -64], + [747, 293, 19, 31, -10, -64], + [767, 293, 19, 31, -10, -64], + [787, 293, 19, 31, -10, -64], + [807, 293, 19, 31, -10, -64] + ] + ], +} + +export const GUIDEDARROW_META: MissileMeta = { + name: "guidedarrow", + celFile: "SafeArrow", + width: 1024, + height: 287, + directions: 32, + framesPerDirection: 8, + animSpeed: 16, + groups: [ + [ + [0, 0, 41, 24, -18, -60], + [42, 0, 41, 24, -18, -60], + [84, 0, 41, 24, -18, -60], + [126, 0, 41, 24, -18, -60], + [168, 0, 41, 24, -18, -60], + [210, 0, 41, 24, -18, -60], + [252, 0, 41, 24, -18, -60], + [294, 0, 41, 24, -18, -60] + ], + [ + [336, 0, 40, 25, -18, -58], + [377, 0, 40, 25, -18, -58], + [418, 0, 40, 25, -18, -58], + [459, 0, 40, 25, -18, -58], + [500, 0, 40, 25, -18, -58], + [541, 0, 40, 25, -18, -58], + [582, 0, 40, 25, -18, -58], + [623, 0, 40, 25, -18, -58] + ], + [ + [664, 0, 40, 25, -22, -58], + [705, 0, 40, 25, -22, -58], + [746, 0, 40, 25, -22, -58], + [787, 0, 40, 25, -22, -58], + [828, 0, 40, 25, -22, -58], + [869, 0, 40, 25, -22, -58], + [910, 0, 40, 25, -22, -58], + [951, 0, 40, 25, -22, -58] + ], + [ + [0, 26, 41, 24, -23, -60], + [42, 26, 41, 24, -23, -60], + [84, 26, 41, 24, -23, -60], + [126, 26, 41, 24, -23, -60], + [168, 26, 41, 24, -23, -60], + [210, 26, 41, 24, -23, -60], + [252, 26, 41, 24, -23, -60], + [294, 26, 41, 24, -23, -60] + ], + [ + [336, 26, 18, 31, -9, -64], + [355, 26, 18, 31, -9, -64], + [374, 26, 18, 31, -9, -64], + [393, 26, 18, 31, -9, -64], + [412, 26, 18, 31, -9, -64], + [431, 26, 18, 31, -9, -64], + [450, 26, 18, 31, -9, -64], + [469, 26, 18, 31, -9, -64] + ], + [ + [488, 26, 53, 17, -23, -55], + [542, 26, 53, 17, -23, -55], + [596, 26, 53, 17, -23, -55], + [650, 26, 53, 17, -23, -55], + [704, 26, 53, 17, -23, -55], + [758, 26, 53, 17, -23, -55], + [812, 26, 53, 17, -23, -55], + [866, 26, 53, 17, -23, -55] + ], + [ + [920, 26, 18, 30, -9, -60], + [939, 26, 18, 30, -9, -60], + [958, 26, 18, 30, -9, -60], + [977, 26, 18, 30, -9, -60], + [996, 26, 18, 30, -9, -60], + [0, 58, 18, 30, -9, -60], + [19, 58, 18, 30, -9, -60], + [38, 58, 18, 30, -9, -60] + ], + [ + [57, 58, 51, 17, -29, -55], + [109, 58, 51, 17, -29, -55], + [161, 58, 51, 17, -29, -55], + [213, 58, 51, 17, -29, -55], + [265, 58, 51, 17, -29, -55], + [317, 58, 51, 17, -29, -55], + [369, 58, 51, 17, -29, -55], + [421, 58, 51, 17, -29, -55] + ], + [ + [473, 58, 26, 28, -12, -62], + [500, 58, 26, 28, -12, -62], + [527, 58, 26, 28, -12, -62], + [554, 58, 26, 28, -12, -62], + [581, 58, 26, 28, -12, -62], + [608, 58, 26, 28, -12, -62], + [635, 58, 26, 28, -12, -62], + [662, 58, 26, 28, -12, -62] + ], + [ + [689, 58, 50, 19, -22, -57], + [740, 58, 50, 19, -22, -57], + [791, 58, 50, 19, -22, -57], + [842, 58, 50, 19, -22, -57], + [893, 58, 50, 19, -22, -57], + [944, 58, 50, 19, -22, -57], + [0, 89, 50, 19, -22, -57], + [51, 89, 50, 19, -22, -57] + ], + [ + [102, 89, 48, 20, -21, -56], + [151, 89, 48, 20, -21, -56], + [200, 89, 48, 20, -21, -56], + [249, 89, 48, 20, -21, -56], + [298, 89, 48, 20, -21, -56], + [347, 89, 48, 20, -21, -56], + [396, 89, 48, 20, -21, -56], + [445, 89, 48, 20, -21, -56] + ], + [ + [494, 89, 27, 28, -12, -59], + [522, 89, 27, 28, -12, -59], + [550, 89, 27, 28, -12, -59], + [578, 89, 27, 28, -12, -59], + [606, 89, 27, 28, -12, -59], + [634, 89, 27, 28, -12, -59], + [662, 89, 27, 28, -12, -59], + [690, 89, 27, 28, -12, -59] + ], + [ + [718, 89, 27, 28, -15, -59], + [746, 89, 27, 28, -15, -59], + [774, 89, 27, 28, -15, -59], + [802, 89, 27, 28, -15, -59], + [830, 89, 27, 28, -15, -59], + [858, 89, 27, 28, -15, -59], + [886, 89, 27, 28, -15, -59], + [914, 89, 27, 28, -15, -59] + ], + [ + [942, 89, 50, 20, -28, -56], + [0, 118, 50, 20, -28, -56], + [51, 118, 50, 20, -28, -56], + [102, 118, 50, 20, -28, -56], + [153, 118, 50, 20, -28, -56], + [204, 118, 50, 20, -28, -56], + [255, 118, 50, 20, -28, -56], + [306, 118, 50, 20, -28, -56] + ], + [ + [357, 118, 50, 19, -28, -57], + [408, 118, 50, 19, -28, -57], + [459, 118, 50, 19, -28, -57], + [510, 118, 50, 19, -28, -57], + [561, 118, 50, 19, -28, -57], + [612, 118, 50, 19, -28, -57], + [663, 118, 50, 19, -28, -57], + [714, 118, 50, 19, -28, -57] + ], + [ + [765, 118, 27, 28, -15, -62], + [793, 118, 27, 28, -15, -62], + [821, 118, 27, 28, -15, -62], + [849, 118, 27, 28, -15, -62], + [877, 118, 27, 28, -15, -62], + [905, 118, 27, 28, -15, -62], + [933, 118, 27, 28, -15, -62], + [961, 118, 27, 28, -15, -62] + ], + [ + [989, 118, 20, 30, -9, -63], + [0, 149, 20, 30, -9, -63], + [21, 149, 20, 30, -9, -63], + [42, 149, 20, 30, -9, -63], + [63, 149, 20, 30, -9, -63], + [84, 149, 20, 30, -9, -63], + [105, 149, 20, 30, -9, -63], + [126, 149, 20, 30, -9, -63] + ], + [ + [147, 149, 33, 26, -15, -61], + [181, 149, 33, 26, -15, -61], + [215, 149, 33, 26, -15, -61], + [249, 149, 33, 26, -15, -61], + [283, 149, 33, 26, -15, -61], + [317, 149, 33, 26, -15, -61], + [351, 149, 33, 26, -15, -61], + [385, 149, 33, 26, -15, -61] + ], + [ + [419, 149, 45, 22, -20, -59], + [465, 149, 45, 22, -20, -59], + [511, 149, 45, 22, -20, -59], + [557, 149, 45, 22, -20, -59], + [603, 149, 45, 22, -20, -59], + [649, 149, 45, 22, -20, -59], + [695, 149, 45, 22, -20, -59], + [741, 149, 45, 22, -20, -59] + ], + [ + [787, 149, 51, 18, -22, -56], + [839, 149, 51, 18, -22, -56], + [891, 149, 51, 18, -22, -56], + [943, 149, 51, 18, -22, -56], + [0, 180, 51, 18, -22, -56], + [52, 180, 51, 18, -22, -56], + [104, 180, 51, 18, -22, -56], + [156, 180, 51, 18, -22, -56] + ], + [ + [208, 180, 52, 17, -23, -55], + [261, 180, 52, 17, -23, -55], + [314, 180, 52, 17, -23, -55], + [367, 180, 52, 17, -23, -55], + [420, 180, 52, 17, -23, -55], + [473, 180, 52, 17, -23, -55], + [526, 180, 52, 17, -23, -55], + [579, 180, 52, 17, -23, -55] + ], + [ + [632, 180, 45, 22, -20, -57], + [678, 180, 45, 22, -20, -57], + [724, 180, 45, 22, -20, -57], + [770, 180, 45, 22, -20, -57], + [816, 180, 45, 22, -20, -57], + [862, 180, 45, 22, -20, -57], + [908, 180, 45, 22, -20, -57], + [954, 180, 45, 22, -20, -57] + ], + [ + [0, 203, 33, 27, -15, -59], + [34, 203, 33, 27, -15, -59], + [68, 203, 33, 27, -15, -59], + [102, 203, 33, 27, -15, -59], + [136, 203, 33, 27, -15, -59], + [170, 203, 33, 27, -15, -59], + [204, 203, 33, 27, -15, -59], + [238, 203, 33, 27, -15, -59] + ], + [ + [272, 203, 20, 29, -9, -60], + [293, 203, 20, 29, -9, -60], + [314, 203, 20, 29, -9, -60], + [335, 203, 20, 29, -9, -60], + [356, 203, 20, 29, -9, -60], + [377, 203, 20, 29, -9, -60], + [398, 203, 20, 29, -9, -60], + [419, 203, 20, 29, -9, -60] + ], + [ + [440, 203, 20, 30, -11, -60], + [461, 203, 20, 30, -11, -60], + [482, 203, 20, 30, -11, -60], + [503, 203, 20, 30, -11, -60], + [524, 203, 20, 30, -11, -60], + [545, 203, 20, 30, -11, -60], + [566, 203, 20, 30, -11, -60], + [587, 203, 20, 30, -11, -60] + ], + [ + [608, 203, 34, 27, -19, -59], + [643, 203, 34, 27, -19, -59], + [678, 203, 34, 27, -19, -59], + [713, 203, 34, 27, -19, -59], + [748, 203, 34, 27, -19, -59], + [783, 203, 34, 27, -19, -59], + [818, 203, 34, 27, -19, -59], + [853, 203, 34, 27, -19, -59] + ], + [ + [888, 203, 46, 22, -26, -57], + [935, 203, 46, 22, -26, -57], + [0, 234, 46, 22, -26, -57], + [47, 234, 46, 22, -26, -57], + [94, 234, 46, 22, -26, -57], + [141, 234, 46, 22, -26, -57], + [188, 234, 46, 22, -26, -57], + [235, 234, 46, 22, -26, -57] + ], + [ + [282, 234, 51, 18, -29, -55], + [334, 234, 51, 18, -29, -55], + [386, 234, 51, 18, -29, -55], + [438, 234, 51, 18, -29, -55], + [490, 234, 51, 18, -29, -55], + [542, 234, 51, 18, -29, -55], + [594, 234, 51, 18, -29, -55], + [646, 234, 51, 18, -29, -55] + ], + [ + [698, 234, 52, 18, -29, -56], + [751, 234, 52, 18, -29, -56], + [804, 234, 52, 18, -29, -56], + [857, 234, 52, 18, -29, -56], + [910, 234, 52, 18, -29, -56], + [963, 234, 52, 18, -29, -56], + [0, 257, 52, 18, -29, -56], + [53, 257, 52, 18, -29, -56] + ], + [ + [106, 257, 46, 22, -26, -59], + [153, 257, 46, 22, -26, -59], + [200, 257, 46, 22, -26, -59], + [247, 257, 46, 22, -26, -59], + [294, 257, 46, 22, -26, -59], + [341, 257, 46, 22, -26, -59], + [388, 257, 46, 22, -26, -59], + [435, 257, 46, 22, -26, -59] + ], + [ + [482, 257, 33, 26, -18, -61], + [516, 257, 33, 26, -18, -61], + [550, 257, 33, 26, -18, -61], + [584, 257, 33, 26, -18, -61], + [618, 257, 33, 26, -18, -61], + [652, 257, 33, 26, -18, -61], + [686, 257, 33, 26, -18, -61], + [720, 257, 33, 26, -18, -61] + ], + [ + [754, 257, 20, 30, -11, -63], + [775, 257, 20, 30, -11, -63], + [796, 257, 20, 30, -11, -63], + [817, 257, 20, 30, -11, -63], + [838, 257, 20, 30, -11, -63], + [859, 257, 20, 30, -11, -63], + [880, 257, 20, 30, -11, -63], + [901, 257, 20, 30, -11, -63] + ] + ], +} + +export const STRAFEARROW_META: MissileMeta = { + name: "strafearrow", + celFile: "Arrow", + width: 512, + height: 36, + directions: 32, + framesPerDirection: 1, + animSpeed: 16, + groups: [ + [ + [0, 0, 31, 13, -16, -56] + ], + [ + [32, 0, 31, 13, -15, -55] + ], + [ + [64, 0, 30, 14, -15, -55] + ], + [ + [95, 0, 31, 14, -15, -56] + ], + [ + [127, 0, 4, 18, -2, -58] + ], + [ + [132, 0, 42, 5, -22, -52] + ], + [ + [175, 0, 4, 17, -2, -57] + ], + [ + [180, 0, 41, 5, -20, -51] + ], + [ + [222, 0, 18, 17, -9, -58] + ], + [ + [241, 0, 39, 9, -20, -54] + ], + [ + [281, 0, 39, 8, -20, -53] + ], + [ + [321, 0, 18, 16, -8, -57] + ], + [ + [340, 0, 18, 17, -9, -57] + ], + [ + [359, 0, 39, 9, -19, -53] + ], + [ + [399, 0, 39, 8, -19, -53] + ], + [ + [439, 0, 18, 16, -9, -57] + ], + [ + [458, 0, 11, 18, -6, -58] + ], + [ + [470, 0, 25, 15, -13, -57] + ], + [ + [0, 19, 35, 12, -18, -56] + ], + [ + [36, 19, 41, 7, -21, -53] + ], + [ + [78, 19, 41, 6, -21, -52] + ], + [ + [120, 19, 35, 11, -17, -54] + ], + [ + [156, 19, 25, 15, -12, -56] + ], + [ + [182, 19, 11, 17, -5, -57] + ], + [ + [194, 19, 11, 17, -6, -57] + ], + [ + [206, 19, 25, 16, -13, -56] + ], + [ + [232, 19, 35, 12, -17, -54] + ], + [ + [268, 19, 41, 7, -20, -52] + ], + [ + [310, 19, 41, 6, -20, -52] + ], + [ + [352, 19, 35, 12, -17, -55] + ], + [ + [388, 19, 24, 16, -12, -57] + ], + [ + [413, 19, 10, 17, -5, -57] + ] + ], +} + +export const STRAFEBOLT_META: MissileMeta = { + name: "strafebolt", + celFile: "XBowBolt", + width: 512, + height: 9, + directions: 32, + framesPerDirection: 1, + animSpeed: 16, + groups: [ + [ + [0, 0, 14, 7, -6, -62] + ], + [ + [15, 0, 14, 7, -4, -59] + ], + [ + [30, 0, 14, 7, -8, -58] + ], + [ + [45, 0, 13, 6, -10, -60] + ], + [ + [59, 0, 4, 8, -4, -62] + ], + [ + [64, 0, 18, 5, -7, -60] + ], + [ + [83, 0, 5, 9, -1, -59] + ], + [ + [89, 0, 17, 4, -11, -57] + ], + [ + [107, 0, 9, 8, -5, -62] + ], + [ + [117, 0, 17, 6, -7, -61] + ], + [ + [135, 0, 17, 5, -5, -59] + ], + [ + [153, 0, 8, 8, -1, -59] + ], + [ + [162, 0, 8, 8, -4, -58] + ], + [ + [171, 0, 17, 5, -10, -57] + ], + [ + [189, 0, 17, 5, -12, -59] + ], + [ + [207, 0, 8, 8, -7, -61] + ], + [ + [216, 0, 6, 8, -4, -62] + ], + [ + [223, 0, 11, 8, -5, -62] + ], + [ + [235, 0, 15, 7, -6, -62] + ], + [ + [251, 0, 18, 5, -7, -60] + ], + [ + [270, 0, 18, 4, -6, -59] + ], + [ + [289, 0, 15, 6, -4, -59] + ], + [ + [305, 0, 11, 7, -2, -59] + ], + [ + [317, 0, 6, 8, 0, -59] + ], + [ + [324, 0, 6, 9, -2, -59] + ], + [ + [331, 0, 11, 8, -6, -58] + ], + [ + [343, 0, 15, 7, -9, -58] + ], + [ + [359, 0, 18, 5, -11, -57] + ], + [ + [378, 0, 18, 4, -12, -58] + ], + [ + [397, 0, 16, 5, -11, -59] + ], + [ + [414, 0, 11, 7, -9, -61] + ], + [ + [426, 0, 5, 8, -5, -61] + ] + ], +} + +export const IMMOLATIONARROW_META: MissileMeta = { + name: "immolationarrow", + celFile: "FireArrow", + width: 512, + height: 355, + directions: 32, + framesPerDirection: 8, + animSpeed: 16, + groups: [ + [ + [0, 0, 32, 18, -16, -56], + [33, 0, 32, 18, -16, -56], + [66, 0, 32, 18, -16, -56], + [99, 0, 32, 18, -16, -56], + [132, 0, 32, 18, -16, -56], + [165, 0, 32, 18, -16, -56], + [198, 0, 32, 18, -16, -56], + [231, 0, 32, 18, -16, -56] + ], + [ + [264, 0, 32, 20, -16, -56], + [297, 0, 32, 20, -16, -56], + [330, 0, 32, 20, -16, -56], + [363, 0, 32, 20, -16, -56], + [396, 0, 32, 20, -16, -56], + [429, 0, 32, 20, -16, -56], + [462, 0, 32, 20, -16, -56], + [0, 21, 32, 20, -16, -56] + ], + [ + [33, 21, 32, 20, -16, -56], + [66, 21, 32, 20, -16, -56], + [99, 21, 32, 20, -16, -56], + [132, 21, 32, 20, -16, -56], + [165, 21, 32, 20, -16, -56], + [198, 21, 32, 20, -16, -56], + [231, 21, 32, 20, -16, -56], + [264, 21, 32, 20, -16, -56] + ], + [ + [297, 21, 32, 19, -16, -57], + [330, 21, 32, 19, -16, -57], + [363, 21, 32, 19, -16, -57], + [396, 21, 32, 19, -16, -57], + [429, 21, 32, 19, -16, -57], + [462, 21, 32, 19, -16, -57], + [0, 42, 32, 19, -16, -57], + [33, 42, 32, 19, -16, -57] + ], + [ + [66, 42, 10, 24, -5, -59], + [77, 42, 10, 24, -5, -59], + [88, 42, 10, 24, -5, -59], + [99, 42, 10, 24, -5, -59], + [110, 42, 10, 24, -5, -59], + [121, 42, 10, 24, -5, -59], + [132, 42, 10, 24, -5, -59], + [143, 42, 10, 24, -5, -59] + ], + [ + [154, 42, 41, 10, -22, -52], + [196, 42, 41, 10, -22, -52], + [238, 42, 41, 10, -22, -52], + [280, 42, 41, 10, -22, -52], + [322, 42, 41, 10, -22, -52], + [364, 42, 41, 10, -22, -52], + [406, 42, 41, 10, -22, -52], + [448, 42, 41, 10, -22, -52] + ], + [ + [490, 42, 10, 25, -5, -59], + [501, 42, 10, 25, -5, -59], + [0, 68, 10, 25, -5, -59], + [11, 68, 10, 25, -5, -59], + [22, 68, 10, 25, -5, -59], + [33, 68, 10, 25, -5, -59], + [44, 68, 10, 25, -5, -59], + [55, 68, 10, 25, -5, -59] + ], + [ + [66, 68, 41, 10, -19, -52], + [108, 68, 41, 10, -19, -52], + [150, 68, 41, 10, -19, -52], + [192, 68, 41, 10, -19, -52], + [234, 68, 41, 10, -19, -52], + [276, 68, 41, 10, -19, -52], + [318, 68, 41, 10, -19, -52], + [360, 68, 41, 10, -19, -52] + ], + [ + [402, 68, 21, 22, -10, -58], + [424, 68, 21, 22, -10, -58], + [446, 68, 21, 22, -10, -58], + [468, 68, 21, 22, -10, -58], + [490, 68, 21, 22, -10, -58], + [0, 94, 21, 22, -10, -58], + [22, 94, 21, 22, -10, -58], + [44, 94, 21, 22, -10, -58] + ], + [ + [66, 94, 38, 14, -20, -54], + [105, 94, 38, 14, -20, -54], + [144, 94, 38, 14, -20, -54], + [183, 94, 38, 14, -20, -54], + [222, 94, 38, 14, -20, -54], + [261, 94, 38, 14, -20, -54], + [300, 94, 38, 14, -20, -54], + [339, 94, 38, 14, -20, -54] + ], + [ + [378, 94, 38, 14, -20, -53], + [417, 94, 38, 14, -20, -53], + [456, 94, 38, 14, -20, -53], + [0, 117, 38, 14, -20, -53], + [39, 117, 38, 14, -20, -53], + [78, 117, 38, 14, -20, -53], + [117, 117, 38, 14, -20, -53], + [156, 117, 38, 14, -20, -53] + ], + [ + [195, 117, 21, 23, -10, -58], + [217, 117, 21, 23, -10, -58], + [239, 117, 21, 23, -10, -58], + [261, 117, 21, 23, -10, -58], + [283, 117, 21, 23, -10, -58], + [305, 117, 21, 23, -10, -58], + [327, 117, 21, 23, -10, -58], + [349, 117, 21, 23, -10, -58] + ], + [ + [371, 117, 22, 23, -12, -58], + [394, 117, 22, 23, -12, -58], + [417, 117, 22, 23, -12, -58], + [440, 117, 22, 23, -12, -58], + [463, 117, 22, 23, -12, -58], + [486, 117, 22, 23, -12, -58], + [0, 141, 22, 23, -12, -58], + [23, 141, 22, 23, -12, -58] + ], + [ + [46, 141, 38, 14, -18, -53], + [85, 141, 38, 14, -18, -53], + [124, 141, 38, 14, -18, -53], + [163, 141, 38, 14, -18, -53], + [202, 141, 38, 14, -18, -53], + [241, 141, 38, 14, -18, -53], + [280, 141, 38, 14, -18, -53], + [319, 141, 38, 14, -18, -53] + ], + [ + [358, 141, 38, 15, -18, -55], + [397, 141, 38, 15, -18, -55], + [436, 141, 38, 15, -18, -55], + [0, 165, 38, 15, -18, -55], + [39, 165, 38, 15, -18, -55], + [78, 165, 38, 15, -18, -55], + [117, 165, 38, 15, -18, -55], + [156, 165, 38, 15, -18, -55] + ], + [ + [195, 165, 22, 23, -12, -59], + [218, 165, 22, 23, -12, -59], + [241, 165, 22, 23, -12, -59], + [264, 165, 22, 23, -12, -59], + [287, 165, 22, 23, -12, -59], + [310, 165, 22, 23, -12, -59], + [333, 165, 22, 23, -12, -59], + [356, 165, 22, 23, -12, -59] + ], + [ + [379, 165, 16, 23, -7, -58], + [396, 165, 16, 23, -7, -58], + [413, 165, 16, 23, -7, -58], + [430, 165, 16, 23, -7, -58], + [447, 165, 16, 23, -7, -58], + [464, 165, 16, 23, -7, -58], + [481, 165, 16, 23, -7, -58], + [0, 189, 16, 23, -7, -58] + ], + [ + [17, 189, 27, 20, -13, -57], + [45, 189, 27, 20, -13, -57], + [73, 189, 27, 20, -13, -57], + [101, 189, 27, 20, -13, -57], + [129, 189, 27, 20, -13, -57], + [157, 189, 27, 20, -13, -57], + [185, 189, 27, 20, -13, -57], + [213, 189, 27, 20, -13, -57] + ], + [ + [241, 189, 35, 16, -18, -55], + [277, 189, 35, 16, -18, -55], + [313, 189, 35, 16, -18, -55], + [349, 189, 35, 16, -18, -55], + [385, 189, 35, 16, -18, -55], + [421, 189, 35, 16, -18, -55], + [457, 189, 35, 16, -18, -55], + [0, 213, 35, 16, -18, -55] + ], + [ + [36, 213, 41, 11, -22, -53], + [78, 213, 41, 11, -22, -53], + [120, 213, 41, 11, -22, -53], + [162, 213, 41, 11, -22, -53], + [204, 213, 41, 11, -22, -53], + [246, 213, 41, 11, -22, -53], + [288, 213, 41, 11, -22, -53], + [330, 213, 41, 11, -22, -53] + ], + [ + [372, 213, 41, 12, -22, -52], + [414, 213, 41, 12, -22, -52], + [456, 213, 41, 12, -22, -52], + [0, 230, 41, 12, -22, -52], + [42, 230, 41, 12, -22, -52], + [84, 230, 41, 12, -22, -52], + [126, 230, 41, 12, -22, -52], + [168, 230, 41, 12, -22, -52] + ], + [ + [210, 230, 35, 18, -18, -55], + [246, 230, 35, 18, -18, -55], + [282, 230, 35, 18, -18, -55], + [318, 230, 35, 18, -18, -55], + [354, 230, 35, 18, -18, -55], + [390, 230, 35, 18, -18, -55], + [426, 230, 35, 18, -18, -55], + [462, 230, 35, 18, -18, -55] + ], + [ + [0, 249, 27, 22, -13, -57], + [28, 249, 27, 22, -13, -57], + [56, 249, 27, 22, -13, -57], + [84, 249, 27, 22, -13, -57], + [112, 249, 27, 22, -13, -57], + [140, 249, 27, 22, -13, -57], + [168, 249, 27, 22, -13, -57], + [196, 249, 27, 22, -13, -57] + ], + [ + [224, 249, 16, 24, -7, -58], + [241, 249, 16, 24, -7, -58], + [258, 249, 16, 24, -7, -58], + [275, 249, 16, 24, -7, -58], + [292, 249, 16, 24, -7, -58], + [309, 249, 16, 24, -7, -58], + [326, 249, 16, 24, -7, -58], + [343, 249, 16, 24, -7, -58] + ], + [ + [360, 249, 16, 24, -9, -58], + [377, 249, 16, 24, -9, -58], + [394, 249, 16, 24, -9, -58], + [411, 249, 16, 24, -9, -58], + [428, 249, 16, 24, -9, -58], + [445, 249, 16, 24, -9, -58], + [462, 249, 16, 24, -9, -58], + [479, 249, 16, 24, -9, -58] + ], + [ + [0, 274, 27, 22, -14, -57], + [28, 274, 27, 22, -14, -57], + [56, 274, 27, 22, -14, -57], + [84, 274, 27, 22, -14, -57], + [112, 274, 27, 22, -14, -57], + [140, 274, 27, 22, -14, -57], + [168, 274, 27, 22, -14, -57], + [196, 274, 27, 22, -14, -57] + ], + [ + [224, 274, 35, 18, -17, -55], + [260, 274, 35, 18, -17, -55], + [296, 274, 35, 18, -17, -55], + [332, 274, 35, 18, -17, -55], + [368, 274, 35, 18, -17, -55], + [404, 274, 35, 18, -17, -55], + [440, 274, 35, 18, -17, -55], + [476, 274, 35, 18, -17, -55] + ], + [ + [0, 297, 41, 12, -19, -52], + [42, 297, 41, 12, -19, -52], + [84, 297, 41, 12, -19, -52], + [126, 297, 41, 12, -19, -52], + [168, 297, 41, 12, -19, -52], + [210, 297, 41, 12, -19, -52], + [252, 297, 41, 12, -19, -52], + [294, 297, 41, 12, -19, -52] + ], + [ + [336, 297, 41, 11, -19, -53], + [378, 297, 41, 11, -19, -53], + [420, 297, 41, 11, -19, -53], + [462, 297, 41, 11, -19, -53], + [0, 310, 41, 11, -19, -53], + [42, 310, 41, 11, -19, -53], + [84, 310, 41, 11, -19, -53], + [126, 310, 41, 11, -19, -53] + ], + [ + [168, 310, 35, 17, -17, -56], + [204, 310, 35, 17, -17, -56], + [240, 310, 35, 17, -17, -56], + [276, 310, 35, 17, -17, -56], + [312, 310, 35, 17, -17, -56], + [348, 310, 35, 17, -17, -56], + [384, 310, 35, 17, -17, -56], + [420, 310, 35, 17, -17, -56] + ], + [ + [456, 310, 27, 20, -14, -57], + [484, 310, 27, 20, -14, -57], + [0, 331, 27, 20, -14, -57], + [28, 331, 27, 20, -14, -57], + [56, 331, 27, 20, -14, -57], + [84, 331, 27, 20, -14, -57], + [112, 331, 27, 20, -14, -57], + [140, 331, 27, 20, -14, -57] + ], + [ + [168, 331, 16, 24, -9, -59], + [185, 331, 16, 24, -9, -59], + [202, 331, 16, 24, -9, -59], + [219, 331, 16, 24, -9, -59], + [236, 331, 16, 24, -9, -59], + [253, 331, 16, 24, -9, -59], + [270, 331, 16, 24, -9, -59], + [287, 331, 16, 24, -9, -59] + ] + ], +} + +export const IMMOLATIONARROWEXP_META: MissileMeta = { + name: "immolationarrowexp", + celFile: "ExpArrowExplode", + width: 1024, + height: 699, + directions: 1, + framesPerDirection: 16, + animSpeed: 16, + groups: [ + [ + [0, 0, 208, 174, -108, -123], + [209, 0, 208, 174, -108, -123], + [418, 0, 208, 174, -108, -123], + [627, 0, 208, 174, -108, -123], + [0, 175, 208, 174, -108, -123], + [209, 175, 208, 174, -108, -123], + [418, 175, 208, 174, -108, -123], + [627, 175, 208, 174, -108, -123], + [0, 350, 208, 174, -108, -123], + [209, 350, 208, 174, -108, -123], + [418, 350, 208, 174, -108, -123], + [627, 350, 208, 174, -108, -123], + [0, 525, 208, 174, -108, -123], + [209, 525, 208, 174, -108, -123], + [418, 525, 208, 174, -108, -123], + [627, 525, 208, 174, -108, -123] + ] + ], +} + +export const IMMOLATIONFIRE_META: MissileMeta = { + name: "immolationfire", + celFile: "groundFireBig", + width: 1024, + height: 503, + directions: 1, + framesPerDirection: 37, + animSpeed: 16, + groups: [ + [ + [0, 0, 66, 167, -33, -156], + [67, 0, 66, 167, -33, -156], + [134, 0, 66, 167, -33, -156], + [201, 0, 66, 167, -33, -156], + [268, 0, 66, 167, -33, -156], + [335, 0, 66, 167, -33, -156], + [402, 0, 66, 167, -33, -156], + [469, 0, 66, 167, -33, -156], + [536, 0, 66, 167, -33, -156], + [603, 0, 66, 167, -33, -156], + [670, 0, 66, 167, -33, -156], + [737, 0, 66, 167, -33, -156], + [804, 0, 66, 167, -33, -156], + [871, 0, 66, 167, -33, -156], + [938, 0, 66, 167, -33, -156], + [0, 168, 66, 167, -33, -156], + [67, 168, 66, 167, -33, -156], + [134, 168, 66, 167, -33, -156], + [201, 168, 66, 167, -33, -156], + [268, 168, 66, 167, -33, -156], + [335, 168, 66, 167, -33, -156], + [402, 168, 66, 167, -33, -156], + [469, 168, 66, 167, -33, -156], + [536, 168, 66, 167, -33, -156], + [603, 168, 66, 167, -33, -156], + [670, 168, 66, 167, -33, -156], + [737, 168, 66, 167, -33, -156], + [804, 168, 66, 167, -33, -156], + [871, 168, 66, 167, -33, -156], + [938, 168, 66, 167, -33, -156], + [0, 336, 66, 167, -33, -156], + [67, 336, 66, 167, -33, -156], + [134, 336, 66, 167, -33, -156], + [201, 336, 66, 167, -33, -156], + [268, 336, 66, 167, -33, -156], + [335, 336, 66, 167, -33, -156], + [402, 336, 66, 167, -33, -156] + ] + ], +} + +export const POISONJAV_META: MissileMeta = { + name: "poisonjav", + celFile: "Javelin", + width: 512, + height: 129, + directions: 32, + framesPerDirection: 1, + animSpeed: 16, + groups: [ + [ + [0, 0, 59, 24, -30, -69] + ], + [ + [60, 0, 58, 23, -25, -66] + ], + [ + [119, 0, 59, 24, -32, -66] + ], + [ + [179, 0, 59, 23, -31, -68] + ], + [ + [239, 0, 6, 32, -4, -72] + ], + [ + [246, 0, 83, 3, -39, -58] + ], + [ + [330, 0, 6, 33, -2, -70] + ], + [ + [337, 0, 81, 3, -43, -57] + ], + [ + [419, 0, 33, 29, -17, -71] + ], + [ + [0, 34, 76, 14, -37, -64] + ], + [ + [77, 34, 76, 13, -34, -62] + ], + [ + [154, 34, 33, 30, -13, -69] + ], + [ + [188, 34, 33, 29, -18, -68] + ], + [ + [222, 34, 76, 13, -41, -61] + ], + [ + [299, 34, 76, 13, -40, -63] + ], + [ + [376, 34, 33, 30, -18, -71] + ], + [ + [410, 34, 18, 31, -10, -72] + ], + [ + [429, 34, 47, 27, -24, -70] + ], + [ + [0, 66, 69, 18, -34, -66] + ], + [ + [70, 66, 81, 8, -39, -61] + ], + [ + [152, 66, 80, 8, -37, -60] + ], + [ + [233, 66, 68, 19, -30, -65] + ], + [ + [302, 66, 46, 27, -19, -68] + ], + [ + [349, 66, 18, 31, -7, -69] + ], + [ + [368, 66, 18, 31, -9, -69] + ], + [ + [387, 66, 46, 27, -25, -67] + ], + [ + [434, 66, 69, 19, -37, -64] + ], + [ + [0, 98, 80, 8, -43, -59] + ], + [ + [81, 98, 80, 8, -42, -60] + ], + [ + [162, 98, 69, 18, -36, -65] + ], + [ + [232, 98, 47, 27, -25, -70] + ], + [ + [280, 98, 18, 31, -10, -72] + ] + ], +} + +export const POISONJAVCLOUD_META: MissileMeta = { + name: "poisonjavcloud", + celFile: "PoisonSparks", + width: 1024, + height: 953, + directions: 8, + framesPerDirection: 31, + animSpeed: 16, + groups: [ + [ + [0, 0, 45, 69, -23, -68], + [46, 0, 45, 69, -23, -68], + [92, 0, 45, 69, -23, -68], + [138, 0, 45, 69, -23, -68], + [184, 0, 45, 69, -23, -68], + [230, 0, 45, 69, -23, -68], + [276, 0, 45, 69, -23, -68], + [322, 0, 45, 69, -23, -68], + [368, 0, 45, 69, -23, -68], + [414, 0, 45, 69, -23, -68], + [460, 0, 45, 69, -23, -68], + [506, 0, 45, 69, -23, -68], + [552, 0, 45, 69, -23, -68], + [598, 0, 45, 69, -23, -68], + [644, 0, 45, 69, -23, -68], + [690, 0, 45, 69, -23, -68], + [736, 0, 45, 69, -23, -68], + [782, 0, 45, 69, -23, -68], + [828, 0, 45, 69, -23, -68], + [874, 0, 45, 69, -23, -68], + [920, 0, 45, 69, -23, -68], + [966, 0, 45, 69, -23, -68], + [0, 70, 45, 69, -23, -68], + [46, 70, 45, 69, -23, -68], + [92, 70, 45, 69, -23, -68], + [138, 70, 45, 69, -23, -68], + [184, 70, 45, 69, -23, -68], + [230, 70, 45, 69, -23, -68], + [276, 70, 45, 69, -23, -68], + [322, 70, 45, 69, -23, -68], + [368, 70, 45, 69, -23, -68] + ], + [ + [414, 70, 48, 72, -20, -71], + [463, 70, 48, 72, -20, -71], + [512, 70, 48, 72, -20, -71], + [561, 70, 48, 72, -20, -71], + [610, 70, 48, 72, -20, -71], + [659, 70, 48, 72, -20, -71], + [708, 70, 48, 72, -20, -71], + [757, 70, 48, 72, -20, -71], + [806, 70, 48, 72, -20, -71], + [855, 70, 48, 72, -20, -71], + [904, 70, 48, 72, -20, -71], + [953, 70, 48, 72, -20, -71], + [0, 143, 48, 72, -20, -71], + [49, 143, 48, 72, -20, -71], + [98, 143, 48, 72, -20, -71], + [147, 143, 48, 72, -20, -71], + [196, 143, 48, 72, -20, -71], + [245, 143, 48, 72, -20, -71], + [294, 143, 48, 72, -20, -71], + [343, 143, 48, 72, -20, -71], + [392, 143, 48, 72, -20, -71], + [441, 143, 48, 72, -20, -71], + [490, 143, 48, 72, -20, -71], + [539, 143, 48, 72, -20, -71], + [588, 143, 48, 72, -20, -71], + [637, 143, 48, 72, -20, -71], + [686, 143, 48, 72, -20, -71], + [735, 143, 48, 72, -20, -71], + [784, 143, 48, 72, -20, -71], + [833, 143, 48, 72, -20, -71], + [882, 143, 48, 72, -20, -71] + ], + [ + [931, 143, 52, 70, -25, -69], + [0, 216, 52, 70, -25, -69], + [53, 216, 52, 70, -25, -69], + [106, 216, 52, 70, -25, -69], + [159, 216, 52, 70, -25, -69], + [212, 216, 52, 70, -25, -69], + [265, 216, 52, 70, -25, -69], + [318, 216, 52, 70, -25, -69], + [371, 216, 52, 70, -25, -69], + [424, 216, 52, 70, -25, -69], + [477, 216, 52, 70, -25, -69], + [530, 216, 52, 70, -25, -69], + [583, 216, 52, 70, -25, -69], + [636, 216, 52, 70, -25, -69], + [689, 216, 52, 70, -25, -69], + [742, 216, 52, 70, -25, -69], + [795, 216, 52, 70, -25, -69], + [848, 216, 52, 70, -25, -69], + [901, 216, 52, 70, -25, -69], + [954, 216, 52, 70, -25, -69], + [0, 287, 52, 70, -25, -69], + [53, 287, 52, 70, -25, -69], + [106, 287, 52, 70, -25, -69], + [159, 287, 52, 70, -25, -69], + [212, 287, 52, 70, -25, -69], + [265, 287, 52, 70, -25, -69], + [318, 287, 52, 70, -25, -69], + [371, 287, 52, 70, -25, -69], + [424, 287, 52, 70, -25, -69], + [477, 287, 52, 70, -25, -69], + [530, 287, 52, 70, -25, -69] + ], + [ + [583, 287, 44, 77, -25, -76], + [628, 287, 44, 77, -25, -76], + [673, 287, 44, 77, -25, -76], + [718, 287, 44, 77, -25, -76], + [763, 287, 44, 77, -25, -76], + [808, 287, 44, 77, -25, -76], + [853, 287, 44, 77, -25, -76], + [898, 287, 44, 77, -25, -76], + [943, 287, 44, 77, -25, -76], + [0, 365, 44, 77, -25, -76], + [45, 365, 44, 77, -25, -76], + [90, 365, 44, 77, -25, -76], + [135, 365, 44, 77, -25, -76], + [180, 365, 44, 77, -25, -76], + [225, 365, 44, 77, -25, -76], + [270, 365, 44, 77, -25, -76], + [315, 365, 44, 77, -25, -76], + [360, 365, 44, 77, -25, -76], + [405, 365, 44, 77, -25, -76], + [450, 365, 44, 77, -25, -76], + [495, 365, 44, 77, -25, -76], + [540, 365, 44, 77, -25, -76], + [585, 365, 44, 77, -25, -76], + [630, 365, 44, 77, -25, -76], + [675, 365, 44, 77, -25, -76], + [720, 365, 44, 77, -25, -76], + [765, 365, 44, 77, -25, -76], + [810, 365, 44, 77, -25, -76], + [855, 365, 44, 77, -25, -76], + [900, 365, 44, 77, -25, -76], + [945, 365, 44, 77, -25, -76] + ], + [ + [0, 443, 51, 69, -27, -68], + [52, 443, 51, 69, -27, -68], + [104, 443, 51, 69, -27, -68], + [156, 443, 51, 69, -27, -68], + [208, 443, 51, 69, -27, -68], + [260, 443, 51, 69, -27, -68], + [312, 443, 51, 69, -27, -68], + [364, 443, 51, 69, -27, -68], + [416, 443, 51, 69, -27, -68], + [468, 443, 51, 69, -27, -68], + [520, 443, 51, 69, -27, -68], + [572, 443, 51, 69, -27, -68], + [624, 443, 51, 69, -27, -68], + [676, 443, 51, 69, -27, -68], + [728, 443, 51, 69, -27, -68], + [780, 443, 51, 69, -27, -68], + [832, 443, 51, 69, -27, -68], + [884, 443, 51, 69, -27, -68], + [936, 443, 51, 69, -27, -68], + [0, 513, 51, 69, -27, -68], + [52, 513, 51, 69, -27, -68], + [104, 513, 51, 69, -27, -68], + [156, 513, 51, 69, -27, -68], + [208, 513, 51, 69, -27, -68], + [260, 513, 51, 69, -27, -68], + [312, 513, 51, 69, -27, -68], + [364, 513, 51, 69, -27, -68], + [416, 513, 51, 69, -27, -68], + [468, 513, 51, 69, -27, -68], + [520, 513, 51, 69, -27, -68], + [572, 513, 51, 69, -27, -68] + ], + [ + [624, 513, 47, 72, -21, -71], + [672, 513, 47, 72, -21, -71], + [720, 513, 47, 72, -21, -71], + [768, 513, 47, 72, -21, -71], + [816, 513, 47, 72, -21, -71], + [864, 513, 47, 72, -21, -71], + [912, 513, 47, 72, -21, -71], + [960, 513, 47, 72, -21, -71], + [0, 586, 47, 72, -21, -71], + [48, 586, 47, 72, -21, -71], + [96, 586, 47, 72, -21, -71], + [144, 586, 47, 72, -21, -71], + [192, 586, 47, 72, -21, -71], + [240, 586, 47, 72, -21, -71], + [288, 586, 47, 72, -21, -71], + [336, 586, 47, 72, -21, -71], + [384, 586, 47, 72, -21, -71], + [432, 586, 47, 72, -21, -71], + [480, 586, 47, 72, -21, -71], + [528, 586, 47, 72, -21, -71], + [576, 586, 47, 72, -21, -71], + [624, 586, 47, 72, -21, -71], + [672, 586, 47, 72, -21, -71], + [720, 586, 47, 72, -21, -71], + [768, 586, 47, 72, -21, -71], + [816, 586, 47, 72, -21, -71], + [864, 586, 47, 72, -21, -71], + [912, 586, 47, 72, -21, -71], + [960, 586, 47, 72, -21, -71], + [0, 659, 47, 72, -21, -71], + [48, 659, 47, 72, -21, -71] + ], + [ + [96, 659, 50, 72, -22, -71], + [147, 659, 50, 72, -22, -71], + [198, 659, 50, 72, -22, -71], + [249, 659, 50, 72, -22, -71], + [300, 659, 50, 72, -22, -71], + [351, 659, 50, 72, -22, -71], + [402, 659, 50, 72, -22, -71], + [453, 659, 50, 72, -22, -71], + [504, 659, 50, 72, -22, -71], + [555, 659, 50, 72, -22, -71], + [606, 659, 50, 72, -22, -71], + [657, 659, 50, 72, -22, -71], + [708, 659, 50, 72, -22, -71], + [759, 659, 50, 72, -22, -71], + [810, 659, 50, 72, -22, -71], + [861, 659, 50, 72, -22, -71], + [912, 659, 50, 72, -22, -71], + [963, 659, 50, 72, -22, -71], + [0, 732, 50, 72, -22, -71], + [51, 732, 50, 72, -22, -71], + [102, 732, 50, 72, -22, -71], + [153, 732, 50, 72, -22, -71], + [204, 732, 50, 72, -22, -71], + [255, 732, 50, 72, -22, -71], + [306, 732, 50, 72, -22, -71], + [357, 732, 50, 72, -22, -71], + [408, 732, 50, 72, -22, -71], + [459, 732, 50, 72, -22, -71], + [510, 732, 50, 72, -22, -71], + [561, 732, 50, 72, -22, -71], + [612, 732, 50, 72, -22, -71] + ], + [ + [663, 732, 50, 73, -30, -72], + [714, 732, 50, 73, -30, -72], + [765, 732, 50, 73, -30, -72], + [816, 732, 50, 73, -30, -72], + [867, 732, 50, 73, -30, -72], + [918, 732, 50, 73, -30, -72], + [969, 732, 50, 73, -30, -72], + [0, 806, 50, 73, -30, -72], + [51, 806, 50, 73, -30, -72], + [102, 806, 50, 73, -30, -72], + [153, 806, 50, 73, -30, -72], + [204, 806, 50, 73, -30, -72], + [255, 806, 50, 73, -30, -72], + [306, 806, 50, 73, -30, -72], + [357, 806, 50, 73, -30, -72], + [408, 806, 50, 73, -30, -72], + [459, 806, 50, 73, -30, -72], + [510, 806, 50, 73, -30, -72], + [561, 806, 50, 73, -30, -72], + [612, 806, 50, 73, -30, -72], + [663, 806, 50, 73, -30, -72], + [714, 806, 50, 73, -30, -72], + [765, 806, 50, 73, -30, -72], + [816, 806, 50, 73, -30, -72], + [867, 806, 50, 73, -30, -72], + [918, 806, 50, 73, -30, -72], + [969, 806, 50, 73, -30, -72], + [0, 880, 50, 73, -30, -72], + [51, 880, 50, 73, -30, -72], + [102, 880, 50, 73, -30, -72], + [153, 880, 50, 73, -30, -72] + ] + ], +} + +export const CHARGEDSTRIKEBOLT_META: MissileMeta = { + name: "chargedstrikebolt", + celFile: "ChargedBolt", + width: 1024, + height: 744, + directions: 16, + framesPerDirection: 10, + animSpeed: 16, + groups: [ + [ + [0, 0, 58, 58, -31, -33], + [59, 0, 58, 58, -31, -33], + [118, 0, 58, 58, -31, -33], + [177, 0, 58, 58, -31, -33], + [236, 0, 58, 58, -31, -33], + [295, 0, 58, 58, -31, -33], + [354, 0, 58, 58, -31, -33], + [413, 0, 58, 58, -31, -33], + [472, 0, 58, 58, -31, -33], + [531, 0, 58, 58, -31, -33] + ], + [ + [590, 0, 62, 56, -29, -34], + [653, 0, 62, 56, -29, -34], + [716, 0, 62, 56, -29, -34], + [779, 0, 62, 56, -29, -34], + [842, 0, 62, 56, -29, -34], + [905, 0, 62, 56, -29, -34], + [0, 59, 62, 56, -29, -34], + [63, 59, 62, 56, -29, -34], + [126, 59, 62, 56, -29, -34], + [189, 59, 62, 56, -29, -34] + ], + [ + [252, 59, 67, 77, -28, -41], + [320, 59, 67, 77, -28, -41], + [388, 59, 67, 77, -28, -41], + [456, 59, 67, 77, -28, -41], + [524, 59, 67, 77, -28, -41], + [592, 59, 67, 77, -28, -41], + [660, 59, 67, 77, -28, -41], + [728, 59, 67, 77, -28, -41], + [796, 59, 67, 77, -28, -41], + [864, 59, 67, 77, -28, -41] + ], + [ + [932, 59, 64, 65, -34, -31], + [0, 137, 64, 65, -34, -31], + [65, 137, 64, 65, -34, -31], + [130, 137, 64, 65, -34, -31], + [195, 137, 64, 65, -34, -31], + [260, 137, 64, 65, -34, -31], + [325, 137, 64, 65, -34, -31], + [390, 137, 64, 65, -34, -31], + [455, 137, 64, 65, -34, -31], + [520, 137, 64, 65, -34, -31] + ], + [ + [585, 137, 65, 63, -32, -33], + [651, 137, 65, 63, -32, -33], + [717, 137, 65, 63, -32, -33], + [783, 137, 65, 63, -32, -33], + [849, 137, 65, 63, -32, -33], + [915, 137, 65, 63, -32, -33], + [0, 203, 65, 63, -32, -33], + [66, 203, 65, 63, -32, -33], + [132, 203, 65, 63, -32, -33], + [198, 203, 65, 63, -32, -33] + ], + [ + [264, 203, 64, 55, -34, -31], + [329, 203, 64, 55, -34, -31], + [394, 203, 64, 55, -34, -31], + [459, 203, 64, 55, -34, -31], + [524, 203, 64, 55, -34, -31], + [589, 203, 64, 55, -34, -31], + [654, 203, 64, 55, -34, -31], + [719, 203, 64, 55, -34, -31], + [784, 203, 64, 55, -34, -31], + [849, 203, 64, 55, -34, -31] + ], + [ + [914, 203, 62, 62, -31, -32], + [0, 267, 62, 62, -31, -32], + [63, 267, 62, 62, -31, -32], + [126, 267, 62, 62, -31, -32], + [189, 267, 62, 62, -31, -32], + [252, 267, 62, 62, -31, -32], + [315, 267, 62, 62, -31, -32], + [378, 267, 62, 62, -31, -32], + [441, 267, 62, 62, -31, -32], + [504, 267, 62, 62, -31, -32] + ], + [ + [567, 267, 65, 68, -33, -40], + [633, 267, 65, 68, -33, -40], + [699, 267, 65, 68, -33, -40], + [765, 267, 65, 68, -33, -40], + [831, 267, 65, 68, -33, -40], + [897, 267, 65, 68, -33, -40], + [0, 336, 65, 68, -33, -40], + [66, 336, 65, 68, -33, -40], + [132, 336, 65, 68, -33, -40], + [198, 336, 65, 68, -33, -40] + ], + [ + [264, 336, 58, 60, -30, -33], + [323, 336, 58, 60, -30, -33], + [382, 336, 58, 60, -30, -33], + [441, 336, 58, 60, -30, -33], + [500, 336, 58, 60, -30, -33], + [559, 336, 58, 60, -30, -33], + [618, 336, 58, 60, -30, -33], + [677, 336, 58, 60, -30, -33], + [736, 336, 58, 60, -30, -33], + [795, 336, 58, 60, -30, -33] + ], + [ + [854, 336, 72, 56, -41, -29], + [927, 336, 72, 56, -41, -29], + [0, 405, 72, 56, -41, -29], + [73, 405, 72, 56, -41, -29], + [146, 405, 72, 56, -41, -29], + [219, 405, 72, 56, -41, -29], + [292, 405, 72, 56, -41, -29], + [365, 405, 72, 56, -41, -29], + [438, 405, 72, 56, -41, -29], + [511, 405, 72, 56, -41, -29] + ], + [ + [584, 405, 72, 56, -29, -33], + [657, 405, 72, 56, -29, -33], + [730, 405, 72, 56, -29, -33], + [803, 405, 72, 56, -29, -33], + [876, 405, 72, 56, -29, -33], + [949, 405, 72, 56, -29, -33], + [0, 462, 72, 56, -29, -33], + [73, 462, 72, 56, -29, -33], + [146, 462, 72, 56, -29, -33], + [219, 462, 72, 56, -29, -33] + ], + [ + [292, 462, 71, 76, -31, -42], + [364, 462, 71, 76, -31, -42], + [436, 462, 71, 76, -31, -42], + [508, 462, 71, 76, -31, -42], + [580, 462, 71, 76, -31, -42], + [652, 462, 71, 76, -31, -42], + [724, 462, 71, 76, -31, -42], + [796, 462, 71, 76, -31, -42], + [868, 462, 71, 76, -31, -42], + [940, 462, 71, 76, -31, -42] + ], + [ + [0, 539, 61, 63, -28, -34], + [62, 539, 61, 63, -28, -34], + [124, 539, 61, 63, -28, -34], + [186, 539, 61, 63, -28, -34], + [248, 539, 61, 63, -28, -34], + [310, 539, 61, 63, -28, -34], + [372, 539, 61, 63, -28, -34], + [434, 539, 61, 63, -28, -34], + [496, 539, 61, 63, -28, -34], + [558, 539, 61, 63, -28, -34] + ], + [ + [620, 539, 73, 61, -29, -29], + [694, 539, 73, 61, -29, -29], + [768, 539, 73, 61, -29, -29], + [842, 539, 73, 61, -29, -29], + [916, 539, 73, 61, -29, -29], + [0, 603, 73, 61, -29, -29], + [74, 603, 73, 61, -29, -29], + [148, 603, 73, 61, -29, -29], + [222, 603, 73, 61, -29, -29], + [296, 603, 73, 61, -29, -29] + ], + [ + [370, 603, 62, 63, -34, -33], + [433, 603, 62, 63, -34, -33], + [496, 603, 62, 63, -34, -33], + [559, 603, 62, 63, -34, -33], + [622, 603, 62, 63, -34, -33], + [685, 603, 62, 63, -34, -33], + [748, 603, 62, 63, -34, -33], + [811, 603, 62, 63, -34, -33], + [874, 603, 62, 63, -34, -33], + [937, 603, 62, 63, -34, -33] + ], + [ + [0, 667, 61, 77, -32, -42], + [62, 667, 61, 77, -32, -42], + [124, 667, 61, 77, -32, -42], + [186, 667, 61, 77, -32, -42], + [248, 667, 61, 77, -32, -42], + [310, 667, 61, 77, -32, -42], + [372, 667, 61, 77, -32, -42], + [434, 667, 61, 77, -32, -42], + [496, 667, 61, 77, -32, -42], + [558, 667, 61, 77, -32, -42] + ] + ], +} + +export const PLAGUEJAVELIN_META: MissileMeta = { + name: "plaguejavelin", + celFile: "Javelin", + width: 512, + height: 129, + directions: 32, + framesPerDirection: 1, + animSpeed: 16, + groups: [ + [ + [0, 0, 59, 24, -30, -69] + ], + [ + [60, 0, 58, 23, -25, -66] + ], + [ + [119, 0, 59, 24, -32, -66] + ], + [ + [179, 0, 59, 23, -31, -68] + ], + [ + [239, 0, 6, 32, -4, -72] + ], + [ + [246, 0, 83, 3, -39, -58] + ], + [ + [330, 0, 6, 33, -2, -70] + ], + [ + [337, 0, 81, 3, -43, -57] + ], + [ + [419, 0, 33, 29, -17, -71] + ], + [ + [0, 34, 76, 14, -37, -64] + ], + [ + [77, 34, 76, 13, -34, -62] + ], + [ + [154, 34, 33, 30, -13, -69] + ], + [ + [188, 34, 33, 29, -18, -68] + ], + [ + [222, 34, 76, 13, -41, -61] + ], + [ + [299, 34, 76, 13, -40, -63] + ], + [ + [376, 34, 33, 30, -18, -71] + ], + [ + [410, 34, 18, 31, -10, -72] + ], + [ + [429, 34, 47, 27, -24, -70] + ], + [ + [0, 66, 69, 18, -34, -66] + ], + [ + [70, 66, 81, 8, -39, -61] + ], + [ + [152, 66, 80, 8, -37, -60] + ], + [ + [233, 66, 68, 19, -30, -65] + ], + [ + [302, 66, 46, 27, -19, -68] + ], + [ + [349, 66, 18, 31, -7, -69] + ], + [ + [368, 66, 18, 31, -9, -69] + ], + [ + [387, 66, 46, 27, -25, -67] + ], + [ + [434, 66, 69, 19, -37, -64] + ], + [ + [0, 98, 80, 8, -43, -59] + ], + [ + [81, 98, 80, 8, -42, -60] + ], + [ + [162, 98, 69, 18, -36, -65] + ], + [ + [232, 98, 47, 27, -25, -70] + ], + [ + [280, 98, 18, 31, -10, -72] + ] + ], +} + +export const PLAGUEJAVCLOUD_META: MissileMeta = { + name: "plaguejavcloud", + celFile: "PoisonSparks", + width: 1024, + height: 953, + directions: 8, + framesPerDirection: 31, + animSpeed: 16, + groups: [ + [ + [0, 0, 45, 69, -23, -68], + [46, 0, 45, 69, -23, -68], + [92, 0, 45, 69, -23, -68], + [138, 0, 45, 69, -23, -68], + [184, 0, 45, 69, -23, -68], + [230, 0, 45, 69, -23, -68], + [276, 0, 45, 69, -23, -68], + [322, 0, 45, 69, -23, -68], + [368, 0, 45, 69, -23, -68], + [414, 0, 45, 69, -23, -68], + [460, 0, 45, 69, -23, -68], + [506, 0, 45, 69, -23, -68], + [552, 0, 45, 69, -23, -68], + [598, 0, 45, 69, -23, -68], + [644, 0, 45, 69, -23, -68], + [690, 0, 45, 69, -23, -68], + [736, 0, 45, 69, -23, -68], + [782, 0, 45, 69, -23, -68], + [828, 0, 45, 69, -23, -68], + [874, 0, 45, 69, -23, -68], + [920, 0, 45, 69, -23, -68], + [966, 0, 45, 69, -23, -68], + [0, 70, 45, 69, -23, -68], + [46, 70, 45, 69, -23, -68], + [92, 70, 45, 69, -23, -68], + [138, 70, 45, 69, -23, -68], + [184, 70, 45, 69, -23, -68], + [230, 70, 45, 69, -23, -68], + [276, 70, 45, 69, -23, -68], + [322, 70, 45, 69, -23, -68], + [368, 70, 45, 69, -23, -68] + ], + [ + [414, 70, 48, 72, -20, -71], + [463, 70, 48, 72, -20, -71], + [512, 70, 48, 72, -20, -71], + [561, 70, 48, 72, -20, -71], + [610, 70, 48, 72, -20, -71], + [659, 70, 48, 72, -20, -71], + [708, 70, 48, 72, -20, -71], + [757, 70, 48, 72, -20, -71], + [806, 70, 48, 72, -20, -71], + [855, 70, 48, 72, -20, -71], + [904, 70, 48, 72, -20, -71], + [953, 70, 48, 72, -20, -71], + [0, 143, 48, 72, -20, -71], + [49, 143, 48, 72, -20, -71], + [98, 143, 48, 72, -20, -71], + [147, 143, 48, 72, -20, -71], + [196, 143, 48, 72, -20, -71], + [245, 143, 48, 72, -20, -71], + [294, 143, 48, 72, -20, -71], + [343, 143, 48, 72, -20, -71], + [392, 143, 48, 72, -20, -71], + [441, 143, 48, 72, -20, -71], + [490, 143, 48, 72, -20, -71], + [539, 143, 48, 72, -20, -71], + [588, 143, 48, 72, -20, -71], + [637, 143, 48, 72, -20, -71], + [686, 143, 48, 72, -20, -71], + [735, 143, 48, 72, -20, -71], + [784, 143, 48, 72, -20, -71], + [833, 143, 48, 72, -20, -71], + [882, 143, 48, 72, -20, -71] + ], + [ + [931, 143, 52, 70, -25, -69], + [0, 216, 52, 70, -25, -69], + [53, 216, 52, 70, -25, -69], + [106, 216, 52, 70, -25, -69], + [159, 216, 52, 70, -25, -69], + [212, 216, 52, 70, -25, -69], + [265, 216, 52, 70, -25, -69], + [318, 216, 52, 70, -25, -69], + [371, 216, 52, 70, -25, -69], + [424, 216, 52, 70, -25, -69], + [477, 216, 52, 70, -25, -69], + [530, 216, 52, 70, -25, -69], + [583, 216, 52, 70, -25, -69], + [636, 216, 52, 70, -25, -69], + [689, 216, 52, 70, -25, -69], + [742, 216, 52, 70, -25, -69], + [795, 216, 52, 70, -25, -69], + [848, 216, 52, 70, -25, -69], + [901, 216, 52, 70, -25, -69], + [954, 216, 52, 70, -25, -69], + [0, 287, 52, 70, -25, -69], + [53, 287, 52, 70, -25, -69], + [106, 287, 52, 70, -25, -69], + [159, 287, 52, 70, -25, -69], + [212, 287, 52, 70, -25, -69], + [265, 287, 52, 70, -25, -69], + [318, 287, 52, 70, -25, -69], + [371, 287, 52, 70, -25, -69], + [424, 287, 52, 70, -25, -69], + [477, 287, 52, 70, -25, -69], + [530, 287, 52, 70, -25, -69] + ], + [ + [583, 287, 44, 77, -25, -76], + [628, 287, 44, 77, -25, -76], + [673, 287, 44, 77, -25, -76], + [718, 287, 44, 77, -25, -76], + [763, 287, 44, 77, -25, -76], + [808, 287, 44, 77, -25, -76], + [853, 287, 44, 77, -25, -76], + [898, 287, 44, 77, -25, -76], + [943, 287, 44, 77, -25, -76], + [0, 365, 44, 77, -25, -76], + [45, 365, 44, 77, -25, -76], + [90, 365, 44, 77, -25, -76], + [135, 365, 44, 77, -25, -76], + [180, 365, 44, 77, -25, -76], + [225, 365, 44, 77, -25, -76], + [270, 365, 44, 77, -25, -76], + [315, 365, 44, 77, -25, -76], + [360, 365, 44, 77, -25, -76], + [405, 365, 44, 77, -25, -76], + [450, 365, 44, 77, -25, -76], + [495, 365, 44, 77, -25, -76], + [540, 365, 44, 77, -25, -76], + [585, 365, 44, 77, -25, -76], + [630, 365, 44, 77, -25, -76], + [675, 365, 44, 77, -25, -76], + [720, 365, 44, 77, -25, -76], + [765, 365, 44, 77, -25, -76], + [810, 365, 44, 77, -25, -76], + [855, 365, 44, 77, -25, -76], + [900, 365, 44, 77, -25, -76], + [945, 365, 44, 77, -25, -76] + ], + [ + [0, 443, 51, 69, -27, -68], + [52, 443, 51, 69, -27, -68], + [104, 443, 51, 69, -27, -68], + [156, 443, 51, 69, -27, -68], + [208, 443, 51, 69, -27, -68], + [260, 443, 51, 69, -27, -68], + [312, 443, 51, 69, -27, -68], + [364, 443, 51, 69, -27, -68], + [416, 443, 51, 69, -27, -68], + [468, 443, 51, 69, -27, -68], + [520, 443, 51, 69, -27, -68], + [572, 443, 51, 69, -27, -68], + [624, 443, 51, 69, -27, -68], + [676, 443, 51, 69, -27, -68], + [728, 443, 51, 69, -27, -68], + [780, 443, 51, 69, -27, -68], + [832, 443, 51, 69, -27, -68], + [884, 443, 51, 69, -27, -68], + [936, 443, 51, 69, -27, -68], + [0, 513, 51, 69, -27, -68], + [52, 513, 51, 69, -27, -68], + [104, 513, 51, 69, -27, -68], + [156, 513, 51, 69, -27, -68], + [208, 513, 51, 69, -27, -68], + [260, 513, 51, 69, -27, -68], + [312, 513, 51, 69, -27, -68], + [364, 513, 51, 69, -27, -68], + [416, 513, 51, 69, -27, -68], + [468, 513, 51, 69, -27, -68], + [520, 513, 51, 69, -27, -68], + [572, 513, 51, 69, -27, -68] + ], + [ + [624, 513, 47, 72, -21, -71], + [672, 513, 47, 72, -21, -71], + [720, 513, 47, 72, -21, -71], + [768, 513, 47, 72, -21, -71], + [816, 513, 47, 72, -21, -71], + [864, 513, 47, 72, -21, -71], + [912, 513, 47, 72, -21, -71], + [960, 513, 47, 72, -21, -71], + [0, 586, 47, 72, -21, -71], + [48, 586, 47, 72, -21, -71], + [96, 586, 47, 72, -21, -71], + [144, 586, 47, 72, -21, -71], + [192, 586, 47, 72, -21, -71], + [240, 586, 47, 72, -21, -71], + [288, 586, 47, 72, -21, -71], + [336, 586, 47, 72, -21, -71], + [384, 586, 47, 72, -21, -71], + [432, 586, 47, 72, -21, -71], + [480, 586, 47, 72, -21, -71], + [528, 586, 47, 72, -21, -71], + [576, 586, 47, 72, -21, -71], + [624, 586, 47, 72, -21, -71], + [672, 586, 47, 72, -21, -71], + [720, 586, 47, 72, -21, -71], + [768, 586, 47, 72, -21, -71], + [816, 586, 47, 72, -21, -71], + [864, 586, 47, 72, -21, -71], + [912, 586, 47, 72, -21, -71], + [960, 586, 47, 72, -21, -71], + [0, 659, 47, 72, -21, -71], + [48, 659, 47, 72, -21, -71] + ], + [ + [96, 659, 50, 72, -22, -71], + [147, 659, 50, 72, -22, -71], + [198, 659, 50, 72, -22, -71], + [249, 659, 50, 72, -22, -71], + [300, 659, 50, 72, -22, -71], + [351, 659, 50, 72, -22, -71], + [402, 659, 50, 72, -22, -71], + [453, 659, 50, 72, -22, -71], + [504, 659, 50, 72, -22, -71], + [555, 659, 50, 72, -22, -71], + [606, 659, 50, 72, -22, -71], + [657, 659, 50, 72, -22, -71], + [708, 659, 50, 72, -22, -71], + [759, 659, 50, 72, -22, -71], + [810, 659, 50, 72, -22, -71], + [861, 659, 50, 72, -22, -71], + [912, 659, 50, 72, -22, -71], + [963, 659, 50, 72, -22, -71], + [0, 732, 50, 72, -22, -71], + [51, 732, 50, 72, -22, -71], + [102, 732, 50, 72, -22, -71], + [153, 732, 50, 72, -22, -71], + [204, 732, 50, 72, -22, -71], + [255, 732, 50, 72, -22, -71], + [306, 732, 50, 72, -22, -71], + [357, 732, 50, 72, -22, -71], + [408, 732, 50, 72, -22, -71], + [459, 732, 50, 72, -22, -71], + [510, 732, 50, 72, -22, -71], + [561, 732, 50, 72, -22, -71], + [612, 732, 50, 72, -22, -71] + ], + [ + [663, 732, 50, 73, -30, -72], + [714, 732, 50, 73, -30, -72], + [765, 732, 50, 73, -30, -72], + [816, 732, 50, 73, -30, -72], + [867, 732, 50, 73, -30, -72], + [918, 732, 50, 73, -30, -72], + [969, 732, 50, 73, -30, -72], + [0, 806, 50, 73, -30, -72], + [51, 806, 50, 73, -30, -72], + [102, 806, 50, 73, -30, -72], + [153, 806, 50, 73, -30, -72], + [204, 806, 50, 73, -30, -72], + [255, 806, 50, 73, -30, -72], + [306, 806, 50, 73, -30, -72], + [357, 806, 50, 73, -30, -72], + [408, 806, 50, 73, -30, -72], + [459, 806, 50, 73, -30, -72], + [510, 806, 50, 73, -30, -72], + [561, 806, 50, 73, -30, -72], + [612, 806, 50, 73, -30, -72], + [663, 806, 50, 73, -30, -72], + [714, 806, 50, 73, -30, -72], + [765, 806, 50, 73, -30, -72], + [816, 806, 50, 73, -30, -72], + [867, 806, 50, 73, -30, -72], + [918, 806, 50, 73, -30, -72], + [969, 806, 50, 73, -30, -72], + [0, 880, 50, 73, -30, -72], + [51, 880, 50, 73, -30, -72], + [102, 880, 50, 73, -30, -72], + [153, 880, 50, 73, -30, -72] + ] + ], +} + +export const LIGHTNINGFURY_META: MissileMeta = { + name: "lightningfury", + celFile: "LightningJavelin", + width: 1024, + height: 642, + directions: 16, + framesPerDirection: 5, + animSpeed: 16, + groups: [ + [ + [0, 0, 100, 63, -42, -83], + [101, 0, 100, 63, -42, -83], + [202, 0, 100, 63, -42, -83], + [303, 0, 100, 63, -42, -83], + [404, 0, 100, 63, -42, -83] + ], + [ + [505, 0, 111, 67, -39, -89], + [617, 0, 111, 67, -39, -89], + [729, 0, 111, 67, -39, -89], + [841, 0, 111, 67, -39, -89], + [0, 68, 111, 67, -39, -89] + ], + [ + [112, 68, 108, 67, -68, -89], + [221, 68, 108, 67, -68, -89], + [330, 68, 108, 67, -68, -89], + [439, 68, 108, 67, -68, -89], + [548, 68, 108, 67, -68, -89] + ], + [ + [657, 68, 101, 62, -60, -82], + [759, 68, 101, 62, -60, -82], + [861, 68, 101, 62, -60, -82], + [0, 136, 101, 62, -60, -82], + [102, 136, 101, 62, -60, -82] + ], + [ + [204, 136, 60, 71, -31, -89], + [265, 136, 60, 71, -31, -89], + [326, 136, 60, 71, -31, -89], + [387, 136, 60, 71, -31, -89], + [448, 136, 60, 71, -31, -89] + ], + [ + [509, 136, 133, 60, -45, -86], + [643, 136, 133, 60, -45, -86], + [777, 136, 133, 60, -45, -86], + [0, 208, 133, 60, -45, -86], + [134, 208, 133, 60, -45, -86] + ], + [ + [268, 208, 56, 79, -27, -90], + [325, 208, 56, 79, -27, -90], + [382, 208, 56, 79, -27, -90], + [439, 208, 56, 79, -27, -90], + [496, 208, 56, 79, -27, -90] + ], + [ + [553, 208, 131, 60, -86, -85], + [685, 208, 131, 60, -86, -85], + [817, 208, 131, 60, -86, -85], + [0, 288, 131, 60, -86, -85], + [132, 288, 131, 60, -86, -85] + ], + [ + [264, 288, 71, 69, -37, -88], + [336, 288, 71, 69, -37, -88], + [408, 288, 71, 69, -37, -88], + [480, 288, 71, 69, -37, -88], + [552, 288, 71, 69, -37, -88] + ], + [ + [624, 288, 123, 61, -45, -84], + [748, 288, 123, 61, -45, -84], + [872, 288, 123, 61, -45, -84], + [0, 358, 123, 61, -45, -84], + [124, 358, 123, 61, -45, -84] + ], + [ + [248, 358, 129, 60, -43, -88], + [378, 358, 129, 60, -43, -88], + [508, 358, 129, 60, -43, -88], + [638, 358, 129, 60, -43, -88], + [768, 358, 129, 60, -43, -88] + ], + [ + [898, 358, 78, 76, -33, -90], + [0, 435, 78, 76, -33, -90], + [79, 435, 78, 76, -33, -90], + [158, 435, 78, 76, -33, -90], + [237, 435, 78, 76, -33, -90] + ], + [ + [316, 435, 76, 76, -41, -90], + [393, 435, 76, 76, -41, -90], + [470, 435, 76, 76, -41, -90], + [547, 435, 76, 76, -41, -90], + [624, 435, 76, 76, -41, -90] + ], + [ + [701, 435, 127, 59, -84, -87], + [829, 435, 127, 59, -84, -87], + [0, 512, 127, 59, -84, -87], + [128, 512, 127, 59, -84, -87], + [256, 512, 127, 59, -84, -87] + ], + [ + [384, 512, 121, 61, -77, -83], + [506, 512, 121, 61, -77, -83], + [628, 512, 121, 61, -77, -83], + [750, 512, 121, 61, -77, -83], + [872, 512, 121, 61, -77, -83] + ], + [ + [0, 574, 71, 68, -36, -86], + [72, 574, 71, 68, -36, -86], + [144, 574, 71, 68, -36, -86], + [216, 574, 71, 68, -36, -86], + [288, 574, 71, 68, -36, -86] + ] + ], +} + +export const FURYLIGHTNING_META: MissileMeta = { + name: "furylightning", + celFile: "LightningStrike", + width: 2048, + height: 1412, + directions: 32, + framesPerDirection: 8, + animSpeed: 16, + groups: [ + [ + [0, 0, 112, 79, -66, -58], + [113, 0, 112, 79, -66, -58], + [226, 0, 112, 79, -66, -58], + [339, 0, 112, 79, -66, -58], + [452, 0, 112, 79, -66, -58], + [565, 0, 112, 79, -66, -58], + [678, 0, 112, 79, -66, -58], + [791, 0, 112, 79, -66, -58] + ], + [ + [904, 0, 105, 96, -59, -67], + [1010, 0, 105, 96, -59, -67], + [1116, 0, 105, 96, -59, -67], + [1222, 0, 105, 96, -59, -67], + [1328, 0, 105, 96, -59, -67], + [1434, 0, 105, 96, -59, -67], + [1540, 0, 105, 96, -59, -67], + [1646, 0, 105, 96, -59, -67] + ], + [ + [1752, 0, 111, 93, -46, -64], + [1864, 0, 111, 93, -46, -64], + [0, 97, 111, 93, -46, -64], + [112, 97, 111, 93, -46, -64], + [224, 97, 111, 93, -46, -64], + [336, 97, 111, 93, -46, -64], + [448, 97, 111, 93, -46, -64], + [560, 97, 111, 93, -46, -64] + ], + [ + [672, 97, 105, 82, -46, -57], + [778, 97, 105, 82, -46, -57], + [884, 97, 105, 82, -46, -57], + [990, 97, 105, 82, -46, -57], + [1096, 97, 105, 82, -46, -57], + [1202, 97, 105, 82, -46, -57], + [1308, 97, 105, 82, -46, -57], + [1414, 97, 105, 82, -46, -57] + ], + [ + [1520, 97, 98, 88, -43, -63], + [1619, 97, 98, 88, -43, -63], + [1718, 97, 98, 88, -43, -63], + [1817, 97, 98, 88, -43, -63], + [1916, 97, 98, 88, -43, -63], + [0, 191, 98, 88, -43, -63], + [99, 191, 98, 88, -43, -63], + [198, 191, 98, 88, -43, -63] + ], + [ + [297, 191, 130, 67, -72, -52], + [428, 191, 130, 67, -72, -52], + [559, 191, 130, 67, -72, -52], + [690, 191, 130, 67, -72, -52], + [821, 191, 130, 67, -72, -52], + [952, 191, 130, 67, -72, -52], + [1083, 191, 130, 67, -72, -52], + [1214, 191, 130, 67, -72, -52] + ], + [ + [1345, 191, 97, 106, -55, -71], + [1443, 191, 97, 106, -55, -71], + [1541, 191, 97, 106, -55, -71], + [1639, 191, 97, 106, -55, -71], + [1737, 191, 97, 106, -55, -71], + [1835, 191, 97, 106, -55, -71], + [1933, 191, 97, 106, -55, -71], + [0, 298, 97, 106, -55, -71] + ], + [ + [98, 298, 130, 79, -58, -60], + [229, 298, 130, 79, -58, -60], + [360, 298, 130, 79, -58, -60], + [491, 298, 130, 79, -58, -60], + [622, 298, 130, 79, -58, -60], + [753, 298, 130, 79, -58, -60], + [884, 298, 130, 79, -58, -60], + [1015, 298, 130, 79, -58, -60] + ], + [ + [1146, 298, 101, 86, -52, -62], + [1248, 298, 101, 86, -52, -62], + [1350, 298, 101, 86, -52, -62], + [1452, 298, 101, 86, -52, -62], + [1554, 298, 101, 86, -52, -62], + [1656, 298, 101, 86, -52, -62], + [1758, 298, 101, 86, -52, -62], + [1860, 298, 101, 86, -52, -62] + ], + [ + [0, 405, 128, 67, -73, -52], + [129, 405, 128, 67, -73, -52], + [258, 405, 128, 67, -73, -52], + [387, 405, 128, 67, -73, -52], + [516, 405, 128, 67, -73, -52], + [645, 405, 128, 67, -73, -52], + [774, 405, 128, 67, -73, -52], + [903, 405, 128, 67, -73, -52] + ], + [ + [1032, 405, 121, 82, -66, -60], + [1154, 405, 121, 82, -66, -60], + [1276, 405, 121, 82, -66, -60], + [1398, 405, 121, 82, -66, -60], + [1520, 405, 121, 82, -66, -60], + [1642, 405, 121, 82, -66, -60], + [1764, 405, 121, 82, -66, -60], + [1886, 405, 121, 82, -66, -60] + ], + [ + [0, 488, 90, 104, -55, -71], + [91, 488, 90, 104, -55, -71], + [182, 488, 90, 104, -55, -71], + [273, 488, 90, 104, -55, -71], + [364, 488, 90, 104, -55, -71], + [455, 488, 90, 104, -55, -71], + [546, 488, 90, 104, -55, -71], + [637, 488, 90, 104, -55, -71] + ], + [ + [728, 488, 101, 103, -49, -69], + [830, 488, 101, 103, -49, -69], + [932, 488, 101, 103, -49, -69], + [1034, 488, 101, 103, -49, -69], + [1136, 488, 101, 103, -49, -69], + [1238, 488, 101, 103, -49, -69], + [1340, 488, 101, 103, -49, -69], + [1442, 488, 101, 103, -49, -69] + ], + [ + [1544, 488, 128, 83, -55, -60], + [1673, 488, 128, 83, -55, -60], + [1802, 488, 128, 83, -55, -60], + [0, 593, 128, 83, -55, -60], + [129, 593, 128, 83, -55, -60], + [258, 593, 128, 83, -55, -60], + [387, 593, 128, 83, -55, -60], + [516, 593, 128, 83, -55, -60] + ], + [ + [645, 593, 121, 82, -55, -59], + [767, 593, 121, 82, -55, -59], + [889, 593, 121, 82, -55, -59], + [1011, 593, 121, 82, -55, -59], + [1133, 593, 121, 82, -55, -59], + [1255, 593, 121, 82, -55, -59], + [1377, 593, 121, 82, -55, -59], + [1499, 593, 121, 82, -55, -59] + ], + [ + [1621, 593, 90, 85, -35, -62], + [1712, 593, 90, 85, -35, -62], + [1803, 593, 90, 85, -35, -62], + [1894, 593, 90, 85, -35, -62], + [0, 679, 90, 85, -35, -62], + [91, 679, 90, 85, -35, -62], + [182, 679, 90, 85, -35, -62], + [273, 679, 90, 85, -35, -62] + ], + [ + [364, 679, 100, 88, -48, -63], + [465, 679, 100, 88, -48, -63], + [566, 679, 100, 88, -48, -63], + [667, 679, 100, 88, -48, -63], + [768, 679, 100, 88, -48, -63], + [869, 679, 100, 88, -48, -63], + [970, 679, 100, 88, -48, -63], + [1071, 679, 100, 88, -48, -63] + ], + [ + [1172, 679, 103, 83, -58, -60], + [1276, 679, 103, 83, -58, -60], + [1380, 679, 103, 83, -58, -60], + [1484, 679, 103, 83, -58, -60], + [1588, 679, 103, 83, -58, -60], + [1692, 679, 103, 83, -58, -60], + [1796, 679, 103, 83, -58, -60], + [1900, 679, 103, 83, -58, -60] + ], + [ + [0, 768, 122, 73, -71, -55], + [123, 768, 122, 73, -71, -55], + [246, 768, 122, 73, -71, -55], + [369, 768, 122, 73, -71, -55], + [492, 768, 122, 73, -71, -55], + [615, 768, 122, 73, -71, -55], + [738, 768, 122, 73, -71, -55], + [861, 768, 122, 73, -71, -55] + ], + [ + [984, 768, 132, 59, -74, -48], + [1117, 768, 132, 59, -74, -48], + [1250, 768, 132, 59, -74, -48], + [1383, 768, 132, 59, -74, -48], + [1516, 768, 132, 59, -74, -48], + [1649, 768, 132, 59, -74, -48], + [1782, 768, 132, 59, -74, -48], + [1915, 768, 132, 59, -74, -48] + ], + [ + [0, 842, 126, 75, -68, -56], + [127, 842, 126, 75, -68, -56], + [254, 842, 126, 75, -68, -56], + [381, 842, 126, 75, -68, -56], + [508, 842, 126, 75, -68, -56], + [635, 842, 126, 75, -68, -56], + [762, 842, 126, 75, -68, -56], + [889, 842, 126, 75, -68, -56] + ], + [ + [1016, 842, 114, 90, -63, -64], + [1131, 842, 114, 90, -63, -64], + [1246, 842, 114, 90, -63, -64], + [1361, 842, 114, 90, -63, -64], + [1476, 842, 114, 90, -63, -64], + [1591, 842, 114, 90, -63, -64], + [1706, 842, 114, 90, -63, -64], + [1821, 842, 114, 90, -63, -64] + ], + [ + [1936, 842, 94, 101, -53, -70], + [0, 944, 94, 101, -53, -70], + [95, 944, 94, 101, -53, -70], + [190, 944, 94, 101, -53, -70], + [285, 944, 94, 101, -53, -70], + [380, 944, 94, 101, -53, -70], + [475, 944, 94, 101, -53, -70], + [570, 944, 94, 101, -53, -70] + ], + [ + [665, 944, 92, 106, -56, -71], + [758, 944, 92, 106, -56, -71], + [851, 944, 92, 106, -56, -71], + [944, 944, 92, 106, -56, -71], + [1037, 944, 92, 106, -56, -71], + [1130, 944, 92, 106, -56, -71], + [1223, 944, 92, 106, -56, -71], + [1316, 944, 92, 106, -56, -71] + ], + [ + [1409, 944, 100, 105, -52, -70], + [1510, 944, 100, 105, -52, -70], + [1611, 944, 100, 105, -52, -70], + [1712, 944, 100, 105, -52, -70], + [1813, 944, 100, 105, -52, -70], + [1914, 944, 100, 105, -52, -70], + [0, 1051, 100, 105, -52, -70], + [101, 1051, 100, 105, -52, -70] + ], + [ + [202, 1051, 104, 99, -45, -67], + [307, 1051, 104, 99, -45, -67], + [412, 1051, 104, 99, -45, -67], + [517, 1051, 104, 99, -45, -67], + [622, 1051, 104, 99, -45, -67], + [727, 1051, 104, 99, -45, -67], + [832, 1051, 104, 99, -45, -67], + [937, 1051, 104, 99, -45, -67] + ], + [ + [1042, 1051, 121, 87, -51, -61], + [1164, 1051, 121, 87, -51, -61], + [1286, 1051, 121, 87, -51, -61], + [1408, 1051, 121, 87, -51, -61], + [1530, 1051, 121, 87, -51, -61], + [1652, 1051, 121, 87, -51, -61], + [1774, 1051, 121, 87, -51, -61], + [1896, 1051, 121, 87, -51, -61] + ], + [ + [0, 1157, 131, 80, -57, -61], + [132, 1157, 131, 80, -57, -61], + [264, 1157, 131, 80, -57, -61], + [396, 1157, 131, 80, -57, -61], + [528, 1157, 131, 80, -57, -61], + [660, 1157, 131, 80, -57, -61], + [792, 1157, 131, 80, -57, -61], + [924, 1157, 131, 80, -57, -61] + ], + [ + [1056, 1157, 126, 81, -58, -60], + [1183, 1157, 126, 81, -58, -60], + [1310, 1157, 126, 81, -58, -60], + [1437, 1157, 126, 81, -58, -60], + [1564, 1157, 126, 81, -58, -60], + [1691, 1157, 126, 81, -58, -60], + [1818, 1157, 126, 81, -58, -60], + [0, 1239, 126, 81, -58, -60] + ], + [ + [127, 1239, 114, 81, -51, -57], + [242, 1239, 114, 81, -51, -57], + [357, 1239, 114, 81, -51, -57], + [472, 1239, 114, 81, -51, -57], + [587, 1239, 114, 81, -51, -57], + [702, 1239, 114, 81, -51, -57], + [817, 1239, 114, 81, -51, -57], + [932, 1239, 114, 81, -51, -57] + ], + [ + [1047, 1239, 94, 85, -41, -60], + [1142, 1239, 94, 85, -41, -60], + [1237, 1239, 94, 85, -41, -60], + [1332, 1239, 94, 85, -41, -60], + [1427, 1239, 94, 85, -41, -60], + [1522, 1239, 94, 85, -41, -60], + [1617, 1239, 94, 85, -41, -60], + [1712, 1239, 94, 85, -41, -60] + ], + [ + [1807, 1239, 93, 86, -37, -63], + [1901, 1239, 93, 86, -37, -63], + [0, 1326, 93, 86, -37, -63], + [94, 1326, 93, 86, -37, -63], + [188, 1326, 93, 86, -37, -63], + [282, 1326, 93, 86, -37, -63], + [376, 1326, 93, 86, -37, -63], + [470, 1326, 93, 86, -37, -63] + ] + ], +} + export const METEOR_META: MissileMeta = { name: "meteor", celFile: "Meteor", @@ -7939,16 +11492,16 @@ export const LIGHTNINGHIT_META: MissileMeta = { name: 'lightninghit', } -export const LIGHTNINGBOLT_META: MissileMeta = { - ...LIGHTNINGSTRIKE_META, - name: 'lightningbolt', -} - export const LIGHTNING_META: MissileMeta = { ...LIGHTNINGSTRIKE_META, name: 'lightning', } +export const LIGHTNINGBOLT_META: MissileMeta = { + ...LIGHTNINGSTRIKE_META, + name: 'lightningbolt', +} + export const THUNDERSTORM_META: MissileMeta = { ...THUNDERSTORM1_META, name: 'thunderstorm', @@ -8071,11 +11624,29 @@ export const MISSILE_METAS: Readonly> = Object.freez 'icearrow': ICEARROW_META, 'arrow': ARROW_META, 'lightningjavelin': LIGHTNINGJAVELIN_META, + 'bolt': BOLT_META, + 'coldarrow': COLDARROW_META, + 'explodingarrow': EXPLODINGARROW_META, + 'explodingarrowexp': EXPLODINGARROWEXP_META, + 'icearrowexplode': ICEARROWEXPLODE_META, + 'freezingarrow': FREEZINGARROW_META, + 'guidedarrow': GUIDEDARROW_META, + 'strafearrow': STRAFEARROW_META, + 'strafebolt': STRAFEBOLT_META, + 'immolationarrow': IMMOLATIONARROW_META, + 'immolationarrowexp': IMMOLATIONARROWEXP_META, + 'immolationfire': IMMOLATIONFIRE_META, + 'poisonjav': POISONJAV_META, + 'poisonjavcloud': POISONJAVCLOUD_META, + 'chargedstrikebolt': CHARGEDSTRIKEBOLT_META, + 'plaguejavelin': PLAGUEJAVELIN_META, + 'plaguejavcloud': PLAGUEJAVCLOUD_META, + 'lightningfury': LIGHTNINGFURY_META, + 'furylightning': FURYLIGHTNING_META, 'meteor': METEOR_META, 'meteortail': METEORTAIL_META, 'meteorcenter': METEORCENTER_META, 'meteorexplode': METEOREXPLODE_META, - 'explodingarrowexp': METEOREXPLODE_META, 'meteorfire': METEORFIRE_META, 'firesmall': FIRESMALL_META, 'nova': NOVA_META, @@ -8102,9 +11673,9 @@ export const MISSILE_METAS: Readonly> = Object.freez 'firemedium': FIREMEDIUM_META, 'electricnova': ELECTRICNOVA_META, 'chainlightning': CHAINLIGHTNING_META, - 'lightninghit': LIGHTNINGHIT_META, - 'lightningbolt': LIGHTNINGBOLT_META, 'lightning': LIGHTNING_META, + 'lightningbolt': LIGHTNINGBOLT_META, + 'lightninghit': LIGHTNINGHIT_META, 'thunderstorm': THUNDERSTORM_META, 'lightningboltbig': LIGHTNINGBOLTBIG_META, 'gleam': GLEAM_META, @@ -8123,8 +11694,6 @@ export const MISSILE_METAS: Readonly> = Object.freez 'LightningStrike': LIGHTNINGSTRIKE_META, 'ChainLightning': CHAINLIGHTNING_META, 'LightningHit': LIGHTNINGHIT_META, - 'LightningBolt': LIGHTNINGBOLT_META, - 'Lightning': LIGHTNING_META, 'Thunderstorm': THUNDERSTORM_META, 'LightningboltBig': LIGHTNINGBOLTBIG_META, 'Gleam': GLEAM_META, @@ -8148,7 +11717,6 @@ export const MISSILE_METAS: Readonly> = Object.freez 'IceBlast': ICEBLAST_META, 'GlacialSpike': GLACIALSPIKE_META, 'IceArrowExplode': ICEEXPLODE_META, - 'icearrowexplode': ICEEXPLODE_META, 'FreezeExplodeCenter': FREEZEEXPLODE_META, 'freezeexplodecenter': FREEZEEXPLODE_META, 'IceOrb': FROZENORB_META, @@ -8201,4 +11769,10 @@ export const MISSILE_METAS: Readonly> = Object.freez 'foaorbiter': FOA_META, 'BloodSmall01': BLOOD1_META, 'bloodsmall01': BLOOD1_META, + + // Amazon CelFiles + 'XBowBolt': BOLT_META, + 'xbowbolt': BOLT_META, + 'Javelin': POISONJAV_META, + 'javelin': POISONJAV_META, }) diff --git a/src/render/overlays-meta.ts b/src/render/overlays-meta.ts index c451ec8..ac5d31d 100644 --- a/src/render/overlays-meta.ts +++ b/src/render/overlays-meta.ts @@ -13915,6 +13915,1496 @@ export const STUN_OVERLAY_META: OverlayMeta = { ] } +export const CAST_INNERSIGHT_OVERLAY_META: OverlayMeta = { + "name": "cast_innersight", + "celFile": "EOZCast", + "width": 1024, + "height": 599, + "directions": 1, + "frames": 29, + "framesPerDirection": 29, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 255, + 255, + 200 + ], + "box": { + "left": -76, + "top": -148, + "width": 139, + "height": 119 + }, + "groups": [ + [ + [ + 0, + 0, + 139, + 119, + -76, + -148 + ], + [ + 140, + 0, + 139, + 119, + -76, + -148 + ], + [ + 280, + 0, + 139, + 119, + -76, + -148 + ], + [ + 420, + 0, + 139, + 119, + -76, + -148 + ], + [ + 560, + 0, + 139, + 119, + -76, + -148 + ], + [ + 700, + 0, + 139, + 119, + -76, + -148 + ], + [ + 840, + 0, + 139, + 119, + -76, + -148 + ], + [ + 0, + 120, + 139, + 119, + -76, + -148 + ], + [ + 140, + 120, + 139, + 119, + -76, + -148 + ], + [ + 280, + 120, + 139, + 119, + -76, + -148 + ], + [ + 420, + 120, + 139, + 119, + -76, + -148 + ], + [ + 560, + 120, + 139, + 119, + -76, + -148 + ], + [ + 700, + 120, + 139, + 119, + -76, + -148 + ], + [ + 840, + 120, + 139, + 119, + -76, + -148 + ], + [ + 0, + 240, + 139, + 119, + -76, + -148 + ], + [ + 140, + 240, + 139, + 119, + -76, + -148 + ], + [ + 280, + 240, + 139, + 119, + -76, + -148 + ], + [ + 420, + 240, + 139, + 119, + -76, + -148 + ], + [ + 560, + 240, + 139, + 119, + -76, + -148 + ], + [ + 700, + 240, + 139, + 119, + -76, + -148 + ], + [ + 840, + 240, + 139, + 119, + -76, + -148 + ], + [ + 0, + 360, + 139, + 119, + -76, + -148 + ], + [ + 140, + 360, + 139, + 119, + -76, + -148 + ], + [ + 280, + 360, + 139, + 119, + -76, + -148 + ], + [ + 420, + 360, + 139, + 119, + -76, + -148 + ], + [ + 560, + 360, + 139, + 119, + -76, + -148 + ], + [ + 700, + 360, + 139, + 119, + -76, + -148 + ], + [ + 840, + 360, + 139, + 119, + -76, + -148 + ], + [ + 0, + 480, + 139, + 119, + -76, + -148 + ] + ] + ] +} + +export const INNERSIGHT_OVERLAY_META: OverlayMeta = { + "name": "innersight", + "celFile": "HardenArmor", + "width": 512, + "height": 129, + "directions": 1, + "frames": 24, + "framesPerDirection": 24, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 255, + 255, + 128 + ], + "box": { + "left": -16, + "top": -63, + "width": 30, + "height": 64 + }, + "groups": [ + [ + [ + 0, + 0, + 30, + 64, + -16, + -63 + ], + [ + 31, + 0, + 30, + 64, + -16, + -63 + ], + [ + 62, + 0, + 30, + 64, + -16, + -63 + ], + [ + 93, + 0, + 30, + 64, + -16, + -63 + ], + [ + 124, + 0, + 30, + 64, + -16, + -63 + ], + [ + 155, + 0, + 30, + 64, + -16, + -63 + ], + [ + 186, + 0, + 30, + 64, + -16, + -63 + ], + [ + 217, + 0, + 30, + 64, + -16, + -63 + ], + [ + 248, + 0, + 30, + 64, + -16, + -63 + ], + [ + 279, + 0, + 30, + 64, + -16, + -63 + ], + [ + 310, + 0, + 30, + 64, + -16, + -63 + ], + [ + 341, + 0, + 30, + 64, + -16, + -63 + ], + [ + 372, + 0, + 30, + 64, + -16, + -63 + ], + [ + 403, + 0, + 30, + 64, + -16, + -63 + ], + [ + 434, + 0, + 30, + 64, + -16, + -63 + ], + [ + 465, + 0, + 30, + 64, + -16, + -63 + ], + [ + 0, + 65, + 30, + 64, + -16, + -63 + ], + [ + 31, + 65, + 30, + 64, + -16, + -63 + ], + [ + 62, + 65, + 30, + 64, + -16, + -63 + ], + [ + 93, + 65, + 30, + 64, + -16, + -63 + ], + [ + 124, + 65, + 30, + 64, + -16, + -63 + ], + [ + 155, + 65, + 30, + 64, + -16, + -63 + ], + [ + 186, + 65, + 30, + 64, + -16, + -63 + ], + [ + 217, + 65, + 30, + 64, + -16, + -63 + ] + ] + ] +} + +export const CAST_SLOWMISSILES_OVERLAY_META: OverlayMeta = { + "name": "cast_slowmissiles", + "celFile": "HOAcast", + "width": 1024, + "height": 611, + "directions": 1, + "frames": 21, + "framesPerDirection": 21, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -78, + "top": -143, + "width": 151, + "height": 152 + }, + "groups": [ + [ + [ + 0, + 0, + 151, + 152, + -78, + -143 + ], + [ + 152, + 0, + 151, + 152, + -78, + -143 + ], + [ + 304, + 0, + 151, + 152, + -78, + -143 + ], + [ + 456, + 0, + 151, + 152, + -78, + -143 + ], + [ + 608, + 0, + 151, + 152, + -78, + -143 + ], + [ + 760, + 0, + 151, + 152, + -78, + -143 + ], + [ + 0, + 153, + 151, + 152, + -78, + -143 + ], + [ + 152, + 153, + 151, + 152, + -78, + -143 + ], + [ + 304, + 153, + 151, + 152, + -78, + -143 + ], + [ + 456, + 153, + 151, + 152, + -78, + -143 + ], + [ + 608, + 153, + 151, + 152, + -78, + -143 + ], + [ + 760, + 153, + 151, + 152, + -78, + -143 + ], + [ + 0, + 306, + 151, + 152, + -78, + -143 + ], + [ + 152, + 306, + 151, + 152, + -78, + -143 + ], + [ + 304, + 306, + 151, + 152, + -78, + -143 + ], + [ + 456, + 306, + 151, + 152, + -78, + -143 + ], + [ + 608, + 306, + 151, + 152, + -78, + -143 + ], + [ + 760, + 306, + 151, + 152, + -78, + -143 + ], + [ + 0, + 459, + 151, + 152, + -78, + -143 + ], + [ + 152, + 459, + 151, + 152, + -78, + -143 + ], + [ + 304, + 459, + 151, + 152, + -78, + -143 + ] + ] + ] +} + +export const HANDOFATHENA_OVERLAY_META: OverlayMeta = { + "name": "handofathena", + "celFile": "HOAmissileExplode", + "width": 512, + "height": 317, + "directions": 1, + "frames": 9, + "framesPerDirection": 9, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 5, + "lightColor": [ + 128, + 200, + 255 + ], + "box": { + "left": -53, + "top": -98, + "width": 106, + "height": 105 + }, + "groups": [ + [ + [ + 0, + 0, + 106, + 105, + -53, + -98 + ], + [ + 107, + 0, + 106, + 105, + -53, + -98 + ], + [ + 214, + 0, + 106, + 105, + -53, + -98 + ], + [ + 321, + 0, + 106, + 105, + -53, + -98 + ], + [ + 0, + 106, + 106, + 105, + -53, + -98 + ], + [ + 107, + 106, + 106, + 105, + -53, + -98 + ], + [ + 214, + 106, + 106, + 105, + -53, + -98 + ], + [ + 321, + 106, + 106, + 105, + -53, + -98 + ], + [ + 0, + 212, + 106, + 105, + -53, + -98 + ] + ] + ] +} + +export const VALKYRIESTART_OVERLAY_META: OverlayMeta = { + "name": "valkyriestart", + "celFile": "ValkarieEmerge", + "width": 1024, + "height": 476, + "directions": 1, + "frames": 16, + "framesPerDirection": 16, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 8, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -77, + "top": -119, + "width": 150, + "height": 158 + }, + "groups": [ + [ + [ + 0, + 0, + 150, + 158, + -77, + -119 + ], + [ + 151, + 0, + 150, + 158, + -77, + -119 + ], + [ + 302, + 0, + 150, + 158, + -77, + -119 + ], + [ + 453, + 0, + 150, + 158, + -77, + -119 + ], + [ + 604, + 0, + 150, + 158, + -77, + -119 + ], + [ + 755, + 0, + 150, + 158, + -77, + -119 + ], + [ + 0, + 159, + 150, + 158, + -77, + -119 + ], + [ + 151, + 159, + 150, + 158, + -77, + -119 + ], + [ + 302, + 159, + 150, + 158, + -77, + -119 + ], + [ + 453, + 159, + 150, + 158, + -77, + -119 + ], + [ + 604, + 159, + 150, + 158, + -77, + -119 + ], + [ + 755, + 159, + 150, + 158, + -77, + -119 + ], + [ + 0, + 318, + 150, + 158, + -77, + -119 + ], + [ + 151, + 318, + 150, + 158, + -77, + -119 + ], + [ + 302, + 318, + 150, + 158, + -77, + -119 + ], + [ + 453, + 318, + 150, + 158, + -77, + -119 + ] + ] + ] +} + +export const VALKYRIE_OVERLAY_META: OverlayMeta = { + "name": "valkyrie", + "celFile": "ValkarieGlow", + "width": 1024, + "height": 395, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": true, + "lightRadius": 7, + "lightColor": [ + 255, + 220, + 100 + ], + "box": { + "left": -73, + "top": -102, + "width": 138, + "height": 131 + }, + "groups": [ + [ + [ + 0, + 0, + 138, + 131, + -73, + -102 + ], + [ + 139, + 0, + 138, + 131, + -73, + -102 + ], + [ + 278, + 0, + 138, + 131, + -73, + -102 + ], + [ + 417, + 0, + 138, + 131, + -73, + -102 + ], + [ + 556, + 0, + 138, + 131, + -73, + -102 + ], + [ + 695, + 0, + 138, + 131, + -73, + -102 + ], + [ + 834, + 0, + 138, + 131, + -73, + -102 + ], + [ + 0, + 132, + 138, + 131, + -73, + -102 + ], + [ + 139, + 132, + 138, + 131, + -73, + -102 + ], + [ + 278, + 132, + 138, + 131, + -73, + -102 + ], + [ + 417, + 132, + 138, + 131, + -73, + -102 + ], + [ + 556, + 132, + 138, + 131, + -73, + -102 + ], + [ + 695, + 132, + 138, + 131, + -73, + -102 + ], + [ + 834, + 132, + 138, + 131, + -73, + -102 + ], + [ + 0, + 264, + 138, + 131, + -73, + -102 + ], + [ + 139, + 264, + 138, + 131, + -73, + -102 + ], + [ + 278, + 264, + 138, + 131, + -73, + -102 + ], + [ + 417, + 264, + 138, + 131, + -73, + -102 + ], + [ + 556, + 264, + 138, + 131, + -73, + -102 + ], + [ + 695, + 264, + 138, + 131, + -73, + -102 + ] + ] + ] +} + +export const DOPLLEZON_APPEAR_OVERLAY_META: OverlayMeta = { + "name": "dopllezon_appear", + "celFile": "DopplezonAppear", + "width": 1024, + "height": 437, + "directions": 1, + "frames": 19, + "framesPerDirection": 19, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 6, + "lightColor": [ + 200, + 200, + 255 + ], + "box": { + "left": -73, + "top": -120, + "width": 144, + "height": 145 + }, + "groups": [ + [ + [ + 0, + 0, + 144, + 145, + -73, + -120 + ], + [ + 145, + 0, + 144, + 145, + -73, + -120 + ], + [ + 290, + 0, + 144, + 145, + -73, + -120 + ], + [ + 435, + 0, + 144, + 145, + -73, + -120 + ], + [ + 580, + 0, + 144, + 145, + -73, + -120 + ], + [ + 725, + 0, + 144, + 145, + -73, + -120 + ], + [ + 870, + 0, + 144, + 145, + -73, + -120 + ], + [ + 0, + 146, + 144, + 145, + -73, + -120 + ], + [ + 145, + 146, + 144, + 145, + -73, + -120 + ], + [ + 290, + 146, + 144, + 145, + -73, + -120 + ], + [ + 435, + 146, + 144, + 145, + -73, + -120 + ], + [ + 580, + 146, + 144, + 145, + -73, + -120 + ], + [ + 725, + 146, + 144, + 145, + -73, + -120 + ], + [ + 870, + 146, + 144, + 145, + -73, + -120 + ], + [ + 0, + 292, + 144, + 145, + -73, + -120 + ], + [ + 145, + 292, + 144, + 145, + -73, + -120 + ], + [ + 290, + 292, + 144, + 145, + -73, + -120 + ], + [ + 435, + 292, + 144, + 145, + -73, + -120 + ], + [ + 580, + 292, + 144, + 145, + -73, + -120 + ] + ] + ] +} + +export const DOUBLEDAMAGE1_OVERLAY_META: OverlayMeta = { + "name": "doubledamage1", + "celFile": "impacting01", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} + +export const DOUBLEDAMAGE2_OVERLAY_META: OverlayMeta = { + "name": "doubledamage2", + "celFile": "impacting02", + "width": 512, + "height": 81, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -31, + "top": -93, + "width": 84, + "height": 81 + }, + "groups": [ + [ + [ + 0, + 0, + 84, + 81, + -31, + -93 + ], + [ + 85, + 0, + 84, + 81, + -31, + -93 + ], + [ + 170, + 0, + 84, + 81, + -31, + -93 + ], + [ + 255, + 0, + 84, + 81, + -31, + -93 + ] + ] + ] +} + +export const DOUBLEDAMAGE3_OVERLAY_META: OverlayMeta = { + "name": "doubledamage3", + "celFile": "impacting03", + "width": 512, + "height": 101, + "directions": 1, + "frames": 4, + "framesPerDirection": 4, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 4, + "lightColor": [ + 255, + 64, + 64 + ], + "box": { + "left": -51, + "top": -93, + "width": 90, + "height": 101 + }, + "groups": [ + [ + [ + 0, + 0, + 90, + 101, + -51, + -93 + ], + [ + 91, + 0, + 90, + 101, + -51, + -93 + ], + [ + 182, + 0, + 90, + 101, + -51, + -93 + ], + [ + 273, + 0, + 90, + 101, + -51, + -93 + ] + ] + ] +} + // Backward compatibility aliases for primary aura constants export const MIGHT_AURA_META: OverlayMeta = MIGHT_FRONT_AURA_META @@ -13960,6 +15450,18 @@ export const CONVERSION_AURA_OVERLAY_META: OverlayMeta = CONVERSION_OVERLAY_META export const FIST_OF_THE_HEAVENS_HIT_OVERLAY_META: OverlayMeta = HAND_OF_GOD_OVERLAY_META export const HANDOFGOD_OVERLAY_META: OverlayMeta = HAND_OF_GOD_OVERLAY_META +// Aliases for Amazon overlays +export const INNERSIGHT_CAST_OVERLAY_META: OverlayMeta = CAST_INNERSIGHT_OVERLAY_META +export const INNERSIGHT_TARGET_OVERLAY_META: OverlayMeta = INNERSIGHT_OVERLAY_META +export const SLOWMISSILES_CAST_OVERLAY_META: OverlayMeta = CAST_SLOWMISSILES_OVERLAY_META +export const SLOWMISSILES_AURA_OVERLAY_META: OverlayMeta = HANDOFATHENA_OVERLAY_META +export const VALKYRIE_CAST_OVERLAY_META: OverlayMeta = VALKYRIESTART_OVERLAY_META +export const VALKYRIE_AURA_OVERLAY_META: OverlayMeta = VALKYRIE_OVERLAY_META +export const DECOY_APPEAR_OVERLAY_META: OverlayMeta = DOPLLEZON_APPEAR_OVERLAY_META +export const CRITICAL_STRIKE_1_OVERLAY_META: OverlayMeta = DOUBLEDAMAGE1_OVERLAY_META +export const CRITICAL_STRIKE_2_OVERLAY_META: OverlayMeta = DOUBLEDAMAGE2_OVERLAY_META +export const CRITICAL_STRIKE_3_OVERLAY_META: OverlayMeta = DOUBLEDAMAGE3_OVERLAY_META + export const ALL_OVERLAY_NAMES: readonly string[] = [ "fire_cast_1", @@ -14043,6 +15545,16 @@ export const ALL_OVERLAY_NAMES: readonly string[] = [ "cast_resistlight", "cast_resistall", "stun", + "cast_innersight", + "innersight", + "cast_slowmissiles", + "handofathena", + "valkyriestart", + "valkyrie", + "dopllezon_appear", + "doubledamage1", + "doubledamage2", + "doubledamage3", ] export const OVERLAY_METAS: Readonly> = { @@ -14405,4 +15917,47 @@ export const OVERLAY_METAS: Readonly> = { "cast_resist_all": CAST_RESIST_ALL_OVERLAY_META, "stun": STUN_OVERLAY_META, "Stun": STUN_OVERLAY_META, + "cast_innersight": CAST_INNERSIGHT_OVERLAY_META, + "EOZCast": CAST_INNERSIGHT_OVERLAY_META, + "eozcast": CAST_INNERSIGHT_OVERLAY_META, + "castinnersight": CAST_INNERSIGHT_OVERLAY_META, + "eyeofzeus_cast": CAST_INNERSIGHT_OVERLAY_META, + "innersight": INNERSIGHT_OVERLAY_META, + "HardenArmor": INNERSIGHT_OVERLAY_META, + "hardenarmor": INNERSIGHT_OVERLAY_META, + "innersight_target": INNERSIGHT_OVERLAY_META, + "cast_slowmissiles": CAST_SLOWMISSILES_OVERLAY_META, + "HOAcast": CAST_SLOWMISSILES_OVERLAY_META, + "hoacast": CAST_SLOWMISSILES_OVERLAY_META, + "castslowmissiles": CAST_SLOWMISSILES_OVERLAY_META, + "handofathena_cast": CAST_SLOWMISSILES_OVERLAY_META, + "handofathena": HANDOFATHENA_OVERLAY_META, + "HOAmissileExplode": HANDOFATHENA_OVERLAY_META, + "hoamissileexplode": HANDOFATHENA_OVERLAY_META, + "slowmissiles_aura": HANDOFATHENA_OVERLAY_META, + "hoa_explode": HANDOFATHENA_OVERLAY_META, + "valkyriestart": VALKYRIESTART_OVERLAY_META, + "ValkarieEmerge": VALKYRIESTART_OVERLAY_META, + "valkarieemerge": VALKYRIESTART_OVERLAY_META, + "valkyrie_emerge": VALKYRIESTART_OVERLAY_META, + "valkyrie_cast": VALKYRIESTART_OVERLAY_META, + "valkyrie": VALKYRIE_OVERLAY_META, + "ValkarieGlow": VALKYRIE_OVERLAY_META, + "valkarieglow": VALKYRIE_OVERLAY_META, + "valkyrie_glow": VALKYRIE_OVERLAY_META, + "valkyrie_aura": VALKYRIE_OVERLAY_META, + "dopllezon_appear": DOPLLEZON_APPEAR_OVERLAY_META, + "DopplezonAppear": DOPLLEZON_APPEAR_OVERLAY_META, + "dopplezonappear": DOPLLEZON_APPEAR_OVERLAY_META, + "decoy_appear": DOPLLEZON_APPEAR_OVERLAY_META, + "dopplezon": DOPLLEZON_APPEAR_OVERLAY_META, + "doubledamage1": DOUBLEDAMAGE1_OVERLAY_META, + "impacting01": DOUBLEDAMAGE1_OVERLAY_META, + "critical_strike_1": DOUBLEDAMAGE1_OVERLAY_META, + "doubledamage2": DOUBLEDAMAGE2_OVERLAY_META, + "impacting02": DOUBLEDAMAGE2_OVERLAY_META, + "critical_strike_2": DOUBLEDAMAGE2_OVERLAY_META, + "doubledamage3": DOUBLEDAMAGE3_OVERLAY_META, + "impacting03": DOUBLEDAMAGE3_OVERLAY_META, + "critical_strike_3": DOUBLEDAMAGE3_OVERLAY_META, } diff --git a/tests/skills/ama/adv-amazon-assets-audit.test.ts b/tests/skills/ama/adv-amazon-assets-audit.test.ts new file mode 100644 index 0000000..2501a89 --- /dev/null +++ b/tests/skills/ama/adv-amazon-assets-audit.test.ts @@ -0,0 +1,373 @@ +import { describe, expect, it } from 'vitest' +import fs from 'node:fs' +import path from 'node:path' +import zlib from 'node:zlib' +import { + MISSILE_METAS, + MAGICARROW_META, + FIREARROW_META, + ICEARROW_META, + ARROW_META, + LIGHTNINGJAVELIN_META, + BOLT_META, + COLDARROW_META, + EXPLODINGARROW_META, + EXPLODINGARROWEXP_META, + ICEARROWEXPLODE_META, + FREEZINGARROW_META, + GUIDEDARROW_META, + STRAFEARROW_META, + STRAFEBOLT_META, + IMMOLATIONARROW_META, + IMMOLATIONARROWEXP_META, + IMMOLATIONFIRE_META, + POISONJAV_META, + POISONJAVCLOUD_META, + CHARGEDSTRIKEBOLT_META, + PLAGUEJAVELIN_META, + PLAGUEJAVCLOUD_META, + LIGHTNINGFURY_META, + FURYLIGHTNING_META, + type MissileMeta, +} from '../../../src/render/missiles-meta.ts' +import { + OVERLAY_METAS, + ALL_OVERLAY_NAMES, + CAST_INNERSIGHT_OVERLAY_META, + INNERSIGHT_OVERLAY_META, + CAST_SLOWMISSILES_OVERLAY_META, + HANDOFATHENA_OVERLAY_META, + VALKYRIESTART_OVERLAY_META, + VALKYRIE_OVERLAY_META, + DOPLLEZON_APPEAR_OVERLAY_META, + DOUBLEDAMAGE1_OVERLAY_META, + DOUBLEDAMAGE2_OVERLAY_META, + DOUBLEDAMAGE3_OVERLAY_META, + type OverlayMeta, +} from '../../../src/render/overlays-meta.ts' +import { BATCH1_SKILLS, ISO_GROUND_ASPECT_RATIO } from '../../../src/game/skills.ts' + +// Strict PNG RGBA Decoder +function decodeRgbaPng(buf: Buffer) { + const width = buf.readUInt32BE(16) + const height = buf.readUInt32BE(20) + const bitDepth = buf[24]! + const colorType = buf[25]! + + const idatParts: Buffer[] = [] + let offset = 8 + while (offset < buf.length) { + const len = buf.readUInt32BE(offset) + const type = buf.subarray(offset + 4, offset + 8).toString('ascii') + if (type === 'IDAT') { + idatParts.push(buf.subarray(offset + 8, offset + 8 + len)) + } + offset += 12 + len + } + const idat = Buffer.concat(idatParts) + const raw = zlib.inflateSync(idat) + + const bpp = 4 + const rowBytes = width * bpp + const pixels = new Uint8Array(width * height * 4) + let srcAt = 0 + let dstAt = 0 + + for (let y = 0; y < height; y++) { + const filter = raw[srcAt++] + const row = raw.subarray(srcAt, srcAt + rowBytes) + srcAt += rowBytes + + const prevRow = y > 0 ? pixels.subarray((y - 1) * rowBytes, y * rowBytes) : null + const curRow = pixels.subarray(dstAt, dstAt + rowBytes) + + for (let x = 0; x < rowBytes; x++) { + const left = x >= bpp ? curRow[x - bpp]! : 0 + const up = prevRow ? prevRow[x]! : 0 + const upLeft = prevRow && x >= bpp ? prevRow[x - bpp]! : 0 + + let val = row[x]! + if (filter === 0) { + // None + } else if (filter === 1) { + val = (val + left) & 0xff + } else if (filter === 2) { + val = (val + up) & 0xff + } else if (filter === 3) { + val = (val + Math.floor((left + up) / 2)) & 0xff + } else if (filter === 4) { + const p = left + up - upLeft + const pa = Math.abs(p - left) + const pb = Math.abs(p - up) + const pc = Math.abs(p - upLeft) + let pr = upLeft + if (pa <= pb && pa <= pc) pr = left + else if (pb <= pc) pr = up + val = (val + pr) & 0xff + } + curRow[x] = val + } + dstAt += rowBytes + } + + return { width, height, bitDepth, colorType, pixels } +} + +describe('Adv Coverage Audit — Amazon Assets & Metadata Integrity', () => { + const publicMissilesDir = path.resolve(__dirname, '../../../public/missiles') + const packMissilesDir = path.resolve(__dirname, '../../../samples/d2-packs/missiles') + const publicOverlaysDir = path.resolve(__dirname, '../../../public/overlays') + const packOverlaysDir = path.resolve(__dirname, '../../../samples/d2-packs/overlays') + const entitiesDir = path.resolve(__dirname, '../../../samples/d2-packs/entities') + + const AMAZON_SKILL_MATRIX = [ + { id: 6, name: 'Magic Arrow', anim: 'A1', weapon: 'bow', missile: 'magicarrow' }, + { id: 7, name: 'Fire Arrow', anim: 'A1', weapon: 'bow', missile: 'firearrow' }, + { id: 8, name: 'Inner Sight', anim: 'SC', overlay: 'cast_innersight' }, + { id: 9, name: 'Critical Strike', type: 'passive', overlay: 'doubledamage1' }, + { id: 10, name: 'Jab', anim: 'A1', weapon: '1ht' }, + { id: 11, name: 'Cold Arrow', anim: 'A1', weapon: 'bow', missile: 'coldarrow' }, + { id: 12, name: 'Multiple Shot', anim: 'A1', weapon: 'bow', missile: 'arrow' }, + { id: 13, name: 'Dodge', anim: 'S1', type: 'passive' }, + { id: 14, name: 'Power Strike', anim: 'A1', weapon: '1ht' }, + { id: 15, name: 'Poison Javelin', anim: 'TH', weapon: '1ht', missile: 'poisonjav' }, + { id: 16, name: 'Exploding Arrow', anim: 'A1', weapon: 'bow', missile: 'explodingarrow' }, + { id: 17, name: 'Slow Missiles', anim: 'SC', overlay: 'cast_slowmissiles' }, + { id: 18, name: 'Avoid', anim: 'S1', type: 'passive' }, + { id: 19, name: 'Impale', anim: 'A1', weapon: '1ht' }, + { id: 20, name: 'Lightning Bolt', anim: 'TH', weapon: '1ht', missile: 'lightningjavelin' }, + { id: 21, name: 'Ice Arrow', anim: 'A1', weapon: 'bow', missile: 'icearrow' }, + { id: 22, name: 'Guided Arrow', anim: 'A1', weapon: 'bow', missile: 'guidedarrow' }, + { id: 23, name: 'Penetrate', type: 'passive' }, + { id: 24, name: 'Charged Strike', anim: 'A1', weapon: '1ht', missile: 'chargedstrikebolt' }, + { id: 25, name: 'Plague Javelin', anim: 'TH', weapon: '1ht', missile: 'plaguejavelin' }, + { id: 26, name: 'Strafe', anim: 'A1', weapon: 'bow', missile: 'strafearrow' }, + { id: 27, name: 'Immolation Arrow', anim: 'A1', weapon: 'bow', missile: 'immolationarrow' }, + { id: 28, name: 'Decoy', anim: 'SC', overlay: 'dopllezon_appear' }, + { id: 29, name: 'Evade', anim: 'S1', type: 'passive' }, + { id: 30, name: 'Fend', anim: 'A1', weapon: '1ht' }, + { id: 31, name: 'Freezing Arrow', anim: 'A1', weapon: 'bow', missile: 'freezingarrow' }, + { id: 32, name: 'Valkyrie', anim: 'SC', overlay: 'valkyriestart', minion: 'valkyrie' }, + { id: 33, name: 'Pierce', type: 'passive' }, + { id: 34, name: 'Lightning Strike', anim: 'A1', weapon: '1ht', missile: 'lightningstrike' }, + { id: 35, name: 'Lightning Fury', anim: 'TH', weapon: '1ht', missile: 'lightningfury' }, + ] as const + + const ALL_AMAZON_MISSILES: readonly { readonly name: string; readonly meta: MissileMeta; readonly trans: number }[] = [ + { name: 'magicarrow', meta: MAGICARROW_META, trans: 1 }, + { name: 'firearrow', meta: FIREARROW_META, trans: 1 }, + { name: 'icearrow', meta: ICEARROW_META, trans: 1 }, + { name: 'arrow', meta: ARROW_META, trans: 0 }, + { name: 'lightningjavelin', meta: LIGHTNINGJAVELIN_META, trans: 1 }, + { name: 'bolt', meta: BOLT_META, trans: 0 }, + { name: 'coldarrow', meta: COLDARROW_META, trans: 1 }, + { name: 'explodingarrow', meta: EXPLODINGARROW_META, trans: 1 }, + { name: 'explodingarrowexp', meta: EXPLODINGARROWEXP_META, trans: 1 }, + { name: 'icearrowexplode', meta: ICEARROWEXPLODE_META, trans: 1 }, + { name: 'freezingarrow', meta: FREEZINGARROW_META, trans: 1 }, + { name: 'guidedarrow', meta: GUIDEDARROW_META, trans: 1 }, + { name: 'strafearrow', meta: STRAFEARROW_META, trans: 0 }, + { name: 'strafebolt', meta: STRAFEBOLT_META, trans: 0 }, + { name: 'immolationarrow', meta: IMMOLATIONARROW_META, trans: 1 }, + { name: 'immolationarrowexp', meta: IMMOLATIONARROWEXP_META, trans: 1 }, + { name: 'immolationfire', meta: IMMOLATIONFIRE_META, trans: 1 }, + { name: 'poisonjav', meta: POISONJAV_META, trans: 0 }, + { name: 'poisonjavcloud', meta: POISONJAVCLOUD_META, trans: 1 }, + { name: 'chargedstrikebolt', meta: CHARGEDSTRIKEBOLT_META, trans: 1 }, + { name: 'plaguejavelin', meta: PLAGUEJAVELIN_META, trans: 0 }, + { name: 'plaguejavcloud', meta: PLAGUEJAVCLOUD_META, trans: 1 }, + { name: 'lightningfury', meta: LIGHTNINGFURY_META, trans: 1 }, + { name: 'furylightning', meta: FURYLIGHTNING_META, trans: 1 }, + ] + + const ALL_AMAZON_OVERLAYS: readonly { readonly name: string; readonly meta: OverlayMeta }[] = [ + { name: 'cast_innersight', meta: CAST_INNERSIGHT_OVERLAY_META }, + { name: 'innersight', meta: INNERSIGHT_OVERLAY_META }, + { name: 'cast_slowmissiles', meta: CAST_SLOWMISSILES_OVERLAY_META }, + { name: 'handofathena', meta: HANDOFATHENA_OVERLAY_META }, + { name: 'valkyriestart', meta: VALKYRIESTART_OVERLAY_META }, + { name: 'valkyrie', meta: VALKYRIE_OVERLAY_META }, + { name: 'dopllezon_appear', meta: DOPLLEZON_APPEAR_OVERLAY_META }, + { name: 'doubledamage1', meta: DOUBLEDAMAGE1_OVERLAY_META }, + { name: 'doubledamage2', meta: DOUBLEDAMAGE2_OVERLAY_META }, + { name: 'doubledamage3', meta: DOUBLEDAMAGE3_OVERLAY_META }, + ] + + // ========================================================================= + // Dimension 1: Feature Matrix & 30-Skill Requirements Coverage + // ========================================================================= + describe('Dimension 1: Feature Matrix & 30-Skill Requirements Coverage', () => { + it('1.1 Verifies all 30 Amazon skills (IDs 6–35) are mapped in requirement matrix', () => { + expect(AMAZON_SKILL_MATRIX.length).toBe(30) + for (let i = 0; i < 30; i++) { + expect(AMAZON_SKILL_MATRIX[i]!.id).toBe(6 + i) + } + }) + + it('1.2 Verifies every missile skill has a registered missile meta in MISSILE_METAS', () => { + for (const skill of AMAZON_SKILL_MATRIX) { + if ('missile' in skill && skill.missile) { + expect(MISSILE_METAS[skill.missile], `Missing missile meta for ${skill.name} (${skill.missile})`).toBeDefined() + } + } + }) + + it('1.3 Verifies every overlay skill has a registered overlay meta in OVERLAY_METAS', () => { + for (const skill of AMAZON_SKILL_MATRIX) { + if ('overlay' in skill && skill.overlay) { + expect(OVERLAY_METAS[skill.overlay], `Missing overlay meta for ${skill.name} (${skill.overlay})`).toBeDefined() + } + } + }) + }) + + // ========================================================================= + // Dimension 2: Zero Null / Missing / NaN Frame Arrays & Geometry + // ========================================================================= + describe('Dimension 2: Zero Null / Missing / NaN Frame Arrays & Geometry', () => { + it('2.1 Asserts no NaN or Infinite coordinates in all Amazon missile frame bounding boxes', () => { + for (const m of ALL_AMAZON_MISSILES) { + expect(m.meta.groups.length).toBeGreaterThanOrEqual(1) + for (const grp of m.meta.groups) { + expect(grp.length).toBeGreaterThanOrEqual(1) + for (const [x, y, w, h, ax, ay] of grp) { + expect(Number.isFinite(x) && !Number.isNaN(x)).toBe(true) + expect(Number.isFinite(y) && !Number.isNaN(y)).toBe(true) + expect(Number.isFinite(w) && !Number.isNaN(w) && w > 0).toBe(true) + expect(Number.isFinite(h) && !Number.isNaN(h) && h > 0).toBe(true) + expect(Number.isFinite(ax) && !Number.isNaN(ax)).toBe(true) + expect(Number.isFinite(ay) && !Number.isNaN(ay)).toBe(true) + } + } + } + }) + + it('2.2 Asserts no NaN or Infinite coordinates in all Amazon overlay frame bounding boxes', () => { + for (const o of ALL_AMAZON_OVERLAYS) { + expect(o.meta.groups.length).toBeGreaterThanOrEqual(1) + for (const grp of o.meta.groups) { + expect(grp.length).toBeGreaterThanOrEqual(1) + for (const [x, y, w, h, ax, ay] of grp) { + expect(Number.isFinite(x) && !Number.isNaN(x)).toBe(true) + expect(Number.isFinite(y) && !Number.isNaN(y)).toBe(true) + expect(Number.isFinite(w) && !Number.isNaN(w) && w > 0).toBe(true) + expect(Number.isFinite(h) && !Number.isNaN(h) && h > 0).toBe(true) + expect(Number.isFinite(ax) && !Number.isNaN(ax)).toBe(true) + expect(Number.isFinite(ay) && !Number.isNaN(ay)).toBe(true) + } + } + } + }) + }) + + // ========================================================================= + // Dimension 3: Boundary & Coordinate Geometric Stress + // ========================================================================= + describe('Dimension 3: Boundary & Coordinate Geometric Stress', () => { + it('3.1 Asserts anchor coordinates are bounded within valid sprite offset range [-1000, 1000]', () => { + for (const m of ALL_AMAZON_MISSILES) { + for (const grp of m.meta.groups) { + for (const [, , , , ax, ay] of grp) { + expect(ax).toBeGreaterThanOrEqual(-1000) + expect(ax).toBeLessThanOrEqual(1000) + expect(ay).toBeGreaterThanOrEqual(-1000) + expect(ay).toBeLessThanOrEqual(1000) + } + } + } + + for (const o of ALL_AMAZON_OVERLAYS) { + for (const grp of o.meta.groups) { + for (const [, , , , ax, ay] of grp) { + expect(ax).toBeGreaterThanOrEqual(-1000) + expect(ax).toBeLessThanOrEqual(1000) + expect(ay).toBeGreaterThanOrEqual(-1000) + expect(ay).toBeLessThanOrEqual(1000) + } + } + } + }) + + it('3.2 Every Amazon missile exists in public/missiles and samples/d2-packs/missiles with valid PNG header', () => { + for (const m of ALL_AMAZON_MISSILES) { + for (const dir of [publicMissilesDir, packMissilesDir]) { + const pngPath = path.join(dir, `${m.name}.png`) + const jsonPath = path.join(dir, `${m.name}.json`) + + expect(fs.existsSync(pngPath), `Missing ${pngPath}`).toBe(true) + expect(fs.existsSync(jsonPath), `Missing ${jsonPath}`).toBe(true) + + const stat = fs.statSync(pngPath) + expect(stat.size).toBeGreaterThan(500) + + const buf = fs.readFileSync(pngPath) + expect(buf.readUInt32BE(0)).toBe(0x89504e47) // \x89PNG + } + } + }) + + it('3.3 Every Amazon overlay exists in public/overlays and samples/d2-packs/overlays with valid PNG header', () => { + for (const o of ALL_AMAZON_OVERLAYS) { + for (const dir of [publicOverlaysDir, packOverlaysDir]) { + const pngPath = path.join(dir, `${o.name}.png`) + const jsonPath = path.join(dir, `${o.name}.json`) + + expect(fs.existsSync(pngPath), `Missing ${pngPath}`).toBe(true) + expect(fs.existsSync(jsonPath), `Missing ${jsonPath}`).toBe(true) + + const stat = fs.statSync(pngPath) + expect(stat.size).toBeGreaterThan(500) + + const buf = fs.readFileSync(pngPath) + expect(buf.readUInt32BE(0)).toBe(0x89504e47) // \x89PNG + } + } + }) + }) + + // ========================================================================= + // Dimension 4: State Invariants & Trans/PreDraw Flags + // ========================================================================= + describe('Dimension 4: State Invariants & Trans/PreDraw Flags', () => { + it('4.1 Valkyrie glow overlay has preDraw === true, all other Amazon overlays preDraw === false', () => { + expect(VALKYRIE_OVERLAY_META.preDraw).toBe(true) + expect(CAST_INNERSIGHT_OVERLAY_META.preDraw).toBe(false) + expect(INNERSIGHT_OVERLAY_META.preDraw).toBe(false) + expect(CAST_SLOWMISSILES_OVERLAY_META.preDraw).toBe(false) + expect(HANDOFATHENA_OVERLAY_META.preDraw).toBe(false) + expect(VALKYRIESTART_OVERLAY_META.preDraw).toBe(false) + expect(DOPLLEZON_APPEAR_OVERLAY_META.preDraw).toBe(false) + expect(DOUBLEDAMAGE1_OVERLAY_META.preDraw).toBe(false) + expect(DOUBLEDAMAGE2_OVERLAY_META.preDraw).toBe(false) + expect(DOUBLEDAMAGE3_OVERLAY_META.preDraw).toBe(false) + }) + + it('4.2 All Amazon overlays enforce trans === 3 (additive blending mode)', () => { + for (const o of ALL_AMAZON_OVERLAYS) { + expect(o.meta.trans).toBe(3) + } + }) + }) + + // ========================================================================= + // Dimension 5: System Regression, Cross-Class Isolation & Zero Runtime MPQ + // ========================================================================= + describe('Dimension 5: System Regression, Cross-Class Isolation & Zero Runtime MPQ', () => { + it('5.1 Verifies metadata files contain zero runtime MPQ, DLL or fs imports', () => { + const missilesMetaPath = path.resolve(__dirname, '../../../src/render/missiles-meta.ts') + const overlaysMetaPath = path.resolve(__dirname, '../../../src/render/overlays-meta.ts') + + for (const p of [missilesMetaPath, overlaysMetaPath]) { + const content = fs.readFileSync(p, 'utf-8') + expect(content).not.toContain('node:fs') + expect(content).not.toContain('src/mpq') + expect(content).not.toContain('.mpq') + expect(content).not.toContain('.dll') + } + }) + + it('5.2 Verifies BATCH1_SKILLS length invariant strictly maintained at 38', () => { + expect(Object.keys(BATCH1_SKILLS).length).toBe(38) + }) + }) +}) diff --git a/tests/skills/ama/amazon-assets.test.ts b/tests/skills/ama/amazon-assets.test.ts new file mode 100644 index 0000000..53a12d6 --- /dev/null +++ b/tests/skills/ama/amazon-assets.test.ts @@ -0,0 +1,406 @@ +import { describe, expect, it } from 'vitest' +import fs from 'node:fs' +import path from 'node:path' +import zlib from 'node:zlib' +import { + MISSILE_METAS, + MAGICARROW_META, + FIREARROW_META, + ICEARROW_META, + ARROW_META, + LIGHTNINGJAVELIN_META, + BOLT_META, + COLDARROW_META, + EXPLODINGARROW_META, + EXPLODINGARROWEXP_META, + ICEARROWEXPLODE_META, + FREEZINGARROW_META, + GUIDEDARROW_META, + STRAFEARROW_META, + STRAFEBOLT_META, + IMMOLATIONARROW_META, + IMMOLATIONARROWEXP_META, + IMMOLATIONFIRE_META, + POISONJAV_META, + POISONJAVCLOUD_META, + CHARGEDSTRIKEBOLT_META, + PLAGUEJAVELIN_META, + PLAGUEJAVCLOUD_META, + LIGHTNINGFURY_META, + FURYLIGHTNING_META, + type MissileMeta, +} from '../../../src/render/missiles-meta.ts' +import { + OVERLAY_METAS, + ALL_OVERLAY_NAMES, + CAST_INNERSIGHT_OVERLAY_META, + INNERSIGHT_OVERLAY_META, + CAST_SLOWMISSILES_OVERLAY_META, + HANDOFATHENA_OVERLAY_META, + VALKYRIESTART_OVERLAY_META, + VALKYRIE_OVERLAY_META, + DOPLLEZON_APPEAR_OVERLAY_META, + DOUBLEDAMAGE1_OVERLAY_META, + DOUBLEDAMAGE2_OVERLAY_META, + DOUBLEDAMAGE3_OVERLAY_META, + type OverlayMeta, +} from '../../../src/render/overlays-meta.ts' +import { BATCH1_SKILLS, ISO_GROUND_ASPECT_RATIO } from '../../../src/game/skills.ts' + +// Strict PNG RGBA Decoder (validates colorType === 6, bitDepth === 8, and pixel transparency) +function decodeRgbaPng(buf: Buffer) { + const width = buf.readUInt32BE(16) + const height = buf.readUInt32BE(20) + const bitDepth = buf[24]! + const colorType = buf[25]! + + const idatParts: Buffer[] = [] + let offset = 8 + while (offset < buf.length) { + const len = buf.readUInt32BE(offset) + const type = buf.subarray(offset + 4, offset + 8).toString('ascii') + if (type === 'IDAT') { + idatParts.push(buf.subarray(offset + 8, offset + 8 + len)) + } + offset += 12 + len + } + const idat = Buffer.concat(idatParts) + const raw = zlib.inflateSync(idat) + + const bpp = 4 + const rowBytes = width * bpp + const pixels = new Uint8Array(width * height * 4) + let srcAt = 0 + let dstAt = 0 + + for (let y = 0; y < height; y++) { + const filter = raw[srcAt++] + const row = raw.subarray(srcAt, srcAt + rowBytes) + srcAt += rowBytes + + const prevRow = y > 0 ? pixels.subarray((y - 1) * rowBytes, y * rowBytes) : null + const curRow = pixels.subarray(dstAt, dstAt + rowBytes) + + for (let x = 0; x < rowBytes; x++) { + const left = x >= bpp ? curRow[x - bpp]! : 0 + const up = prevRow ? prevRow[x]! : 0 + const upLeft = prevRow && x >= bpp ? prevRow[x - bpp]! : 0 + + let val = row[x]! + if (filter === 0) { + // None + } else if (filter === 1) { + val = (val + left) & 0xff + } else if (filter === 2) { + val = (val + up) & 0xff + } else if (filter === 3) { + val = (val + Math.floor((left + up) / 2)) & 0xff + } else if (filter === 4) { + const p = left + up - upLeft + const pa = Math.abs(p - left) + const pb = Math.abs(p - up) + const pc = Math.abs(p - upLeft) + let pr = upLeft + if (pa <= pb && pa <= pc) pr = left + else if (pb <= pc) pr = up + val = (val + pr) & 0xff + } + curRow[x] = val + } + dstAt += rowBytes + } + + return { width, height, bitDepth, colorType, pixels } +} + +describe('Milestone M11 — Amazon Asset Packaging & Registration', () => { + const publicMissilesDir = path.resolve(__dirname, '../../../public/missiles') + const packMissilesDir = path.resolve(__dirname, '../../../samples/d2-packs/missiles') + const publicOverlaysDir = path.resolve(__dirname, '../../../public/overlays') + const packOverlaysDir = path.resolve(__dirname, '../../../samples/d2-packs/overlays') + const entitiesDir = path.resolve(__dirname, '../../../samples/d2-packs/entities') + + const AMAZON_MISSILES = [ + { name: 'magicarrow', celFile: 'SafeArrow', meta: MAGICARROW_META, trans: 1 }, + { name: 'firearrow', celFile: 'FireArrow', meta: FIREARROW_META, trans: 1 }, + { name: 'icearrow', celFile: 'IceArrow', meta: ICEARROW_META, trans: 1 }, + { name: 'arrow', celFile: 'Arrow', meta: ARROW_META, trans: 0 }, + { name: 'lightningjavelin', celFile: 'LightningJavelin', meta: LIGHTNINGJAVELIN_META, trans: 1 }, + { name: 'bolt', celFile: 'XBowBolt', meta: BOLT_META, trans: 0 }, + { name: 'coldarrow', celFile: 'IceArrow', meta: COLDARROW_META, trans: 1 }, + { name: 'explodingarrow', celFile: 'FireArrow', meta: EXPLODINGARROW_META, trans: 1 }, + { name: 'explodingarrowexp', celFile: 'ExpArrowExplode', meta: EXPLODINGARROWEXP_META, trans: 1 }, + { name: 'icearrowexplode', celFile: 'IceArrowExplode', meta: ICEARROWEXPLODE_META, trans: 1 }, + { name: 'freezingarrow', celFile: 'IceArrow', meta: FREEZINGARROW_META, trans: 1 }, + { name: 'guidedarrow', celFile: 'SafeArrow', meta: GUIDEDARROW_META, trans: 1 }, + { name: 'strafearrow', celFile: 'Arrow', meta: STRAFEARROW_META, trans: 0 }, + { name: 'strafebolt', celFile: 'XBowBolt', meta: STRAFEBOLT_META, trans: 0 }, + { name: 'immolationarrow', celFile: 'FireArrow', meta: IMMOLATIONARROW_META, trans: 1 }, + { name: 'immolationarrowexp', celFile: 'ExpArrowExplode', meta: IMMOLATIONARROWEXP_META, trans: 1 }, + { name: 'immolationfire', celFile: 'groundFireBig', meta: IMMOLATIONFIRE_META, trans: 1 }, + { name: 'poisonjav', celFile: 'Javelin', meta: POISONJAV_META, trans: 0 }, + { name: 'poisonjavcloud', celFile: 'PoisonSparks', meta: POISONJAVCLOUD_META, trans: 1 }, + { name: 'chargedstrikebolt', celFile: 'ChargedBolt', meta: CHARGEDSTRIKEBOLT_META, trans: 1 }, + { name: 'plaguejavelin', celFile: 'Javelin', meta: PLAGUEJAVELIN_META, trans: 0 }, + { name: 'plaguejavcloud', celFile: 'PoisonSparks', meta: PLAGUEJAVCLOUD_META, trans: 1 }, + { name: 'lightningfury', celFile: 'LightningJavelin', meta: LIGHTNINGFURY_META, trans: 1 }, + { name: 'furylightning', celFile: 'LightningStrike', meta: FURYLIGHTNING_META, trans: 1 }, + ] as const + + const AMAZON_OVERLAYS = [ + { name: 'cast_innersight', celFile: 'EOZCast', meta: CAST_INNERSIGHT_OVERLAY_META }, + { name: 'innersight', celFile: 'HardenArmor', meta: INNERSIGHT_OVERLAY_META }, + { name: 'cast_slowmissiles', celFile: 'HOAcast', meta: CAST_SLOWMISSILES_OVERLAY_META }, + { name: 'handofathena', celFile: 'HOAmissileExplode', meta: HANDOFATHENA_OVERLAY_META }, + { name: 'valkyriestart', celFile: 'ValkarieEmerge', meta: VALKYRIESTART_OVERLAY_META }, + { name: 'valkyrie', celFile: 'ValkarieGlow', meta: VALKYRIE_OVERLAY_META }, + { name: 'dopllezon_appear', celFile: 'DopplezonAppear', meta: DOPLLEZON_APPEAR_OVERLAY_META }, + { name: 'doubledamage1', celFile: 'impacting01', meta: DOUBLEDAMAGE1_OVERLAY_META }, + { name: 'doubledamage2', celFile: 'impacting02', meta: DOUBLEDAMAGE2_OVERLAY_META }, + { name: 'doubledamage3', celFile: 'impacting03', meta: DOUBLEDAMAGE3_OVERLAY_META }, + ] as const + + // ========================================================================= + // Suite 1: Physical Asset Existence & File Mirroring + // ========================================================================= + describe('Suite 1: Physical Asset Existence & Dual Mirroring', () => { + it('1.1 Verifies all 24 Amazon missiles exist in both public/ and samples/d2-packs/', () => { + for (const m of AMAZON_MISSILES) { + for (const dir of [publicMissilesDir, packMissilesDir]) { + const pngPath = path.join(dir, `${m.name}.png`) + const jsonPath = path.join(dir, `${m.name}.json`) + + expect(fs.existsSync(pngPath), `Missing missile PNG: ${pngPath}`).toBe(true) + expect(fs.existsSync(jsonPath), `Missing missile JSON: ${jsonPath}`).toBe(true) + + const stat = fs.statSync(pngPath) + expect(stat.size, `${pngPath} must be > 1000 bytes`).toBeGreaterThan(1000) + + const buf = fs.readFileSync(pngPath) + expect(buf.readUInt32BE(0)).toBe(0x89504e47) // PNG signature + } + } + }) + + it('1.2 Verifies all 10 Amazon overlays exist in both public/ and samples/d2-packs/', () => { + for (const o of AMAZON_OVERLAYS) { + for (const dir of [publicOverlaysDir, packOverlaysDir]) { + const pngPath = path.join(dir, `${o.name}.png`) + const jsonPath = path.join(dir, `${o.name}.json`) + + expect(fs.existsSync(pngPath), `Missing overlay PNG: ${pngPath}`).toBe(true) + expect(fs.existsSync(jsonPath), `Missing overlay JSON: ${jsonPath}`).toBe(true) + + const stat = fs.statSync(pngPath) + expect(stat.size, `${pngPath} must be > 1000 bytes`).toBeGreaterThan(1000) + + const buf = fs.readFileSync(pngPath) + expect(buf.readUInt32BE(0)).toBe(0x89504e47) // PNG signature + } + } + }) + + it('1.3 Verifies Valkyrie monster entity files exist in samples/d2-packs/entities/', () => { + const r8Path = path.join(entitiesDir, 'monster-vk-hth.r8') + const jsonPath = path.join(entitiesDir, 'monster-vk-hth.json') + const indexPath = path.join(entitiesDir, 'index.json') + + expect(fs.existsSync(r8Path), `Missing ${r8Path}`).toBe(true) + expect(fs.existsSync(jsonPath), `Missing ${jsonPath}`).toBe(true) + expect(fs.existsSync(indexPath), `Missing ${indexPath}`).toBe(true) + + const r8Stat = fs.statSync(r8Path) + expect(r8Stat.size).toBeGreaterThan(100000) + + const json = JSON.parse(fs.readFileSync(jsonPath, 'utf8')) + expect(json.token).toBe('VK') + expect(json.weapon).toBe('hth') + expect(json.schema).toBe(2) + + const index = JSON.parse(fs.readFileSync(indexPath, 'utf8')) + const vkEntry = index.entities.find((e: any) => e.key === 'vk-hth') + expect(vkEntry, 'vk-hth must be indexed in entities/index.json').toBeDefined() + expect(vkEntry.token).toBe('VK') + expect(vkEntry.weapon).toBe('hth') + }) + }) + + // ========================================================================= + // Suite 2: Metadata Registry & Frame Geometry Invariants + // ========================================================================= + describe('Suite 2: Metadata Registry & Frame Geometry Invariants', () => { + it('2.1 Schema validation for all Amazon missiles in MISSILE_METAS', () => { + for (const m of AMAZON_MISSILES) { + const meta = MISSILE_METAS[m.name] + expect(meta, `MISSILE_METAS must register ${m.name}`).toBeDefined() + expect(meta.name).toBe(m.name) + expect(meta.celFile).toBe(m.celFile) + expect(meta.width).toBeGreaterThan(0) + expect(meta.height).toBeGreaterThan(0) + expect(meta.directions).toBeGreaterThanOrEqual(1) + expect(meta.framesPerDirection).toBeGreaterThanOrEqual(1) + expect(meta.animSpeed).toBeGreaterThan(0) + expect(meta.groups.length).toBe(meta.directions) + + for (const group of meta.groups) { + expect(group.length).toBe(meta.framesPerDirection) + for (const [x, y, w, h, ax, ay] of group) { + expect(Number.isFinite(x) && !Number.isNaN(x)).toBe(true) + expect(Number.isFinite(y) && !Number.isNaN(y)).toBe(true) + expect(w).toBeGreaterThan(0) + expect(h).toBeGreaterThan(0) + expect(x + w).toBeLessThanOrEqual(meta.width) + expect(y + h).toBeLessThanOrEqual(meta.height) + expect(Number.isFinite(ax) && !Number.isNaN(ax)).toBe(true) + expect(Number.isFinite(ay) && !Number.isNaN(ay)).toBe(true) + } + } + } + }) + + it('2.2 Schema validation for all Amazon overlays in OVERLAY_METAS', () => { + for (const o of AMAZON_OVERLAYS) { + const meta = OVERLAY_METAS[o.name] + expect(meta, `OVERLAY_METAS must register ${o.name}`).toBeDefined() + expect(meta.name).toBe(o.name) + expect(meta.celFile).toBe(o.celFile) + expect(meta.width).toBeGreaterThan(0) + expect(meta.height).toBeGreaterThan(0) + expect(meta.directions).toBeGreaterThanOrEqual(1) + expect(meta.frames).toBeGreaterThanOrEqual(1) + expect(meta.animRate).toBeGreaterThan(0) + expect(meta.trans).toBe(3) + expect(meta.groups.length).toBe(meta.directions) + + // Valkyrie glow must be preDraw: true, all other Amazon overlays preDraw: false + if (o.name === 'valkyrie') { + expect(meta.preDraw, 'Valkyrie glow overlay must have preDraw === true').toBe(true) + } else { + expect(meta.preDraw, `${o.name} must have preDraw === false`).toBe(false) + } + + for (const group of meta.groups) { + expect(group.length).toBe(meta.framesPerDirection) + for (const [x, y, w, h, ax, ay] of group) { + expect(Number.isFinite(x) && !Number.isNaN(x)).toBe(true) + expect(Number.isFinite(y) && !Number.isNaN(y)).toBe(true) + expect(w).toBeGreaterThan(0) + expect(h).toBeGreaterThan(0) + expect(x + w).toBeLessThanOrEqual(meta.width) + expect(y + h).toBeLessThanOrEqual(meta.height) + expect(Number.isFinite(ax) && !Number.isNaN(ax)).toBe(true) + expect(Number.isFinite(ay) && !Number.isNaN(ay)).toBe(true) + } + } + } + }) + }) + + // ========================================================================= + // Suite 3: Zero-Black-Border & Additive Blending Quality + // ========================================================================= + describe('Suite 3: Zero-Black-Border & Additive Blending Quality', () => { + it('3.1 Verifies all baked Amazon missiles have 32-bit RGBA and zero dark boundary artifact pixels', () => { + for (const m of AMAZON_MISSILES) { + const pngPath = path.join(publicMissilesDir, `${m.name}.png`) + const buf = fs.readFileSync(pngPath) + const decoded = decodeRgbaPng(buf) + + expect(decoded.colorType, `${m.name}.png must be 32-bit RGBA (colorType 6)`).toBe(6) + expect(decoded.bitDepth, `${m.name}.png bitDepth must be 8`).toBe(8) + + let blackOpaqueCount = 0 + let visibleCount = 0 + + for (let i = 0; i < decoded.pixels.length; i += 4) { + const r = decoded.pixels[i]! + const g = decoded.pixels[i + 1]! + const b = decoded.pixels[i + 2]! + const a = decoded.pixels[i + 3]! + const maxVal = Math.max(r, g, b) + + // Threshold invariant: For translucent missiles (trans: 1), max(r,g,b) <= 4 must have alpha === 0 + if (m.trans === 1 && maxVal <= 4 && a > 0) { + blackOpaqueCount++ + } + if (maxVal >= 20 && a > 0) { + visibleCount++ + } + } + + if (m.trans === 1) { + expect(blackOpaqueCount, `${m.name}.png contains ${blackOpaqueCount} dark boundary artifact pixels`).toBe(0) + } + expect(visibleCount, `${m.name}.png must contain visible spell pixels`).toBeGreaterThan(0) + } + }) + + it('3.2 Verifies all baked Amazon overlays have 32-bit RGBA and zero dark boundary artifact pixels', () => { + for (const o of AMAZON_OVERLAYS) { + const pngPath = path.join(publicOverlaysDir, `${o.name}.png`) + const buf = fs.readFileSync(pngPath) + const decoded = decodeRgbaPng(buf) + + expect(decoded.colorType, `${o.name}.png must be 32-bit RGBA (colorType 6)`).toBe(6) + expect(decoded.bitDepth, `${o.name}.png bitDepth must be 8`).toBe(8) + + let blackOpaqueCount = 0 + let visibleCount = 0 + + for (let i = 0; i < decoded.pixels.length; i += 4) { + const r = decoded.pixels[i]! + const g = decoded.pixels[i + 1]! + const b = decoded.pixels[i + 2]! + const a = decoded.pixels[i + 3]! + const maxVal = Math.max(r, g, b) + + // Threshold invariant: max(r,g,b) <= 4 must have alpha === 0 + if (maxVal <= 4 && a > 0) { + blackOpaqueCount++ + } + if (maxVal >= 20 && a > 0) { + visibleCount++ + } + } + + expect(blackOpaqueCount, `${o.name}.png contains ${blackOpaqueCount} dark boundary artifact pixels`).toBe(0) + expect(visibleCount, `${o.name}.png must contain visible overlay pixels`).toBeGreaterThan(0) + } + }) + }) + + // ========================================================================= + // Suite 4: Animation & Mode Tokens Invariants + // ========================================================================= + describe('Suite 4: Animation & Mode Tokens Invariants', () => { + it('4.1 Valkyrie monster pack has valid animation clips and modes', () => { + const jsonPath = path.join(entitiesDir, 'monster-vk-hth.json') + const json = JSON.parse(fs.readFileSync(jsonPath, 'utf8')) + + const expectedClips = ['nu', 'wl', 'rn', 'a1', 'gh', 'dd', 'dt'] + for (const clip of expectedClips) { + expect(json.clips[clip], `Valkyrie must contain clip '${clip}'`).toBeDefined() + expect(json.clips[clip].directions).toBeGreaterThanOrEqual(1) + expect(json.clips[clip].frames).toBeGreaterThanOrEqual(1) + } + + expect(json.standFrames).toBeGreaterThanOrEqual(1) + expect(json.walkFrames).toBeGreaterThanOrEqual(1) + expect(json.width).toBe(4096) + expect(json.height).toBeGreaterThan(0) + }) + }) + + // ========================================================================= + // Suite 5: Anti-Regression Invariants + // ========================================================================= + describe('Suite 5: Anti-Regression Invariants', () => { + it('5.1 Enforces BATCH1_SKILLS length strictly at 38 skills', () => { + expect(Object.keys(BATCH1_SKILLS).length).toBe(38) + }) + + it('5.2 Enforces ISO_GROUND_ASPECT_RATIO === 0.5', () => { + expect(ISO_GROUND_ASPECT_RATIO).toBe(0.5) + }) + }) +})