From 880b196c43db9876a7509ad76e4513b1d2ea0fcd Mon Sep 17 00:00:00 2001 From: troytt <47798984@qq.com> Date: Fri, 25 Sep 2026 03:30:28 +0000 Subject: [PATCH] feat(ass): Milestone M26 Assassin Asset Pipeline and Trap Mechanics (closes #473) --- public/missiles/bladefury.json | 69 + public/missiles/bladefury.png | Bin 0 -> 877 bytes public/missiles/bladefuryb.json | 69 + public/missiles/bladefuryb.png | Bin 0 -> 1467 bytes public/missiles/bladefuryc.json | 69 + public/missiles/bladefuryc.png | Bin 0 -> 2119 bytes public/missiles/bladeshieldmissile.json | 53 + public/missiles/bladeshieldmissile.png | Bin 0 -> 489 bytes public/missiles/deathsentryexplode.json | 109 + public/missiles/deathsentryexplode.png | Bin 0 -> 9020 bytes public/missiles/firetrauma.json | 173 ++ public/missiles/firetrauma.png | Bin 0 -> 2813 bytes public/missiles/firetraumaexplode.json | 173 ++ public/missiles/firetraumaexplode.png | Bin 0 -> 67734 bytes public/missiles/firetraumaground.json | 21 + public/missiles/firetraumaground.png | Bin 0 -> 350 bytes public/missiles/shockfieldair.json | 2123 +++++++++++++++++ public/missiles/shockfieldair.png | Bin 0 -> 12545 bytes public/missiles/shockfieldground.json | 667 ++++++ public/missiles/shockfieldground.png | Bin 0 -> 141201 bytes public/overlays/Expansion/blade_shield.json | 188 ++ public/overlays/Expansion/blade_shield.png | Bin 0 -> 19045 bytes public/overlays/blade_shield.json | 188 ++ public/overlays/blade_shield.png | Bin 0 -> 19045 bytes public/overlays/bladeshield.json | 188 ++ public/overlays/bladeshield.png | Bin 0 -> 19045 bytes public/overlays/deathsentry.json | 124 + public/overlays/deathsentry.png | Bin 0 -> 11258 bytes public/overlays/deathsentry_explode.json | 124 + public/overlays/deathsentry_explode.png | Bin 0 -> 11258 bytes public/overlays/dethsentry01.json | 124 + public/overlays/dethsentry01.png | Bin 0 -> 11258 bytes public/overlays/expansion/dethsentry01.json | 124 + public/overlays/expansion/dethsentry01.png | Bin 0 -> 11258 bytes scripts/pack-missiles.ts | 12 + scripts/pack-overlays.ts | 24 + src/game/skills/assassin-traps.ts | 951 ++++++++ src/render/missiles-meta.ts | 641 +++++ src/render/overlays-meta.ts | 324 +++ tests/skills/ass/adv-ass-traps-stress.test.ts | 560 +++++ 40 files changed, 7098 insertions(+) create mode 100644 public/missiles/bladefury.json create mode 100644 public/missiles/bladefury.png create mode 100644 public/missiles/bladefuryb.json create mode 100644 public/missiles/bladefuryb.png create mode 100644 public/missiles/bladefuryc.json create mode 100644 public/missiles/bladefuryc.png create mode 100644 public/missiles/bladeshieldmissile.json create mode 100644 public/missiles/bladeshieldmissile.png create mode 100644 public/missiles/deathsentryexplode.json create mode 100644 public/missiles/deathsentryexplode.png create mode 100644 public/missiles/firetrauma.json create mode 100644 public/missiles/firetrauma.png create mode 100644 public/missiles/firetraumaexplode.json create mode 100644 public/missiles/firetraumaexplode.png create mode 100644 public/missiles/firetraumaground.json create mode 100644 public/missiles/firetraumaground.png create mode 100644 public/missiles/shockfieldair.json create mode 100644 public/missiles/shockfieldair.png create mode 100644 public/missiles/shockfieldground.json create mode 100644 public/missiles/shockfieldground.png create mode 100644 public/overlays/Expansion/blade_shield.json create mode 100644 public/overlays/Expansion/blade_shield.png create mode 100644 public/overlays/blade_shield.json create mode 100644 public/overlays/blade_shield.png create mode 100644 public/overlays/bladeshield.json create mode 100644 public/overlays/bladeshield.png create mode 100644 public/overlays/deathsentry.json create mode 100644 public/overlays/deathsentry.png create mode 100644 public/overlays/deathsentry_explode.json create mode 100644 public/overlays/deathsentry_explode.png create mode 100644 public/overlays/dethsentry01.json create mode 100644 public/overlays/dethsentry01.png create mode 100644 public/overlays/expansion/dethsentry01.json create mode 100644 public/overlays/expansion/dethsentry01.png create mode 100644 src/game/skills/assassin-traps.ts create mode 100644 tests/skills/ass/adv-ass-traps-stress.test.ts diff --git a/public/missiles/bladefury.json b/public/missiles/bladefury.json new file mode 100644 index 0000000..ae4e0e0 --- /dev/null +++ b/public/missiles/bladefury.json @@ -0,0 +1,69 @@ +{ + "name": "bladefury", + "celFile": "Expansion/bladefury", + "width": 512, + "height": 6, + "directions": 1, + "framesPerDirection": 7, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 13, + 6, + -6, + -34 + ], + [ + 14, + 0, + 13, + 6, + -6, + -34 + ], + [ + 28, + 0, + 13, + 6, + -6, + -34 + ], + [ + 42, + 0, + 13, + 6, + -6, + -34 + ], + [ + 56, + 0, + 13, + 6, + -6, + -34 + ], + [ + 70, + 0, + 13, + 6, + -6, + -34 + ], + [ + 84, + 0, + 13, + 6, + -6, + -34 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/bladefury.png b/public/missiles/bladefury.png new file mode 100644 index 0000000000000000000000000000000000000000..6c298290101a5b3656c7b8ba3772459658c59589 GIT binary patch literal 877 zcmV-z1CsoSP)yt(fv7+rPE;Te zhzbM(5fOoih=^Db5fPF1ayvsek8mWt>%F_4n9s0TW_Nbi{Qpi;ffEb{gH*K*U4zG` zQRP$|GJLqF*dUBxGMN;{y+^;_r+G9@gD8sN`T4mtC+0)`B6Q^FUmwGRAXx{ed*_lnD-nlIm$3p|42;2=+tp@12p7l+qQ<`J+ z_(1XZ!zX%H0<1s-fRu@Bx7$tC+?cD@IHxrhiTRg7kNVfMIqgS{Ii_r%$^iJz8m#6; z>H5@}AR>y3!axWC^ZA?&0>dy2^UtZESS4`?!JB@gz%?$esO_$oVAju|TCHXSjzzNF zZtrjIQILtMG60AYYGnYF7%O(mB^Z}&YKN~25Yhmw9IsUT{p~B5Ns=2E*-fx4D;KNQ zs&cx12;puE^|$@)zl04kODRu?cZY`3LTd6MVMrze@EWJ?M9Q@ zp6ftU-p=DVE`67esIq+|d=S0|%Z-}}K94e08Y(QSs)F0~v;4nE!zvMh&$V(F(_<00000NkvXXu0mjf DU8R)L literal 0 HcmV?d00001 diff --git a/public/missiles/bladefuryb.json b/public/missiles/bladefuryb.json new file mode 100644 index 0000000..ef3d665 --- /dev/null +++ b/public/missiles/bladefuryb.json @@ -0,0 +1,69 @@ +{ + "name": "bladefuryb", + "celFile": "Expansion/bladefury_B", + "width": 512, + "height": 9, + "directions": 1, + "framesPerDirection": 7, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 20, + 9, + -10, + -35 + ], + [ + 21, + 0, + 20, + 9, + -10, + -35 + ], + [ + 42, + 0, + 20, + 9, + -10, + -35 + ], + [ + 63, + 0, + 20, + 9, + -10, + -35 + ], + [ + 84, + 0, + 20, + 9, + -10, + -35 + ], + [ + 105, + 0, + 20, + 9, + -10, + -35 + ], + [ + 126, + 0, + 20, + 9, + -10, + -35 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/bladefuryb.png b/public/missiles/bladefuryb.png new file mode 100644 index 0000000000000000000000000000000000000000..01e9e033852338a941b3308751ac8fe24b263f3c GIT binary patch literal 1467 zcmV;s1w{IZP)D5|L`6kKMa78|pFko`oH$WYQBhHWKvYy9 z5ET^&1OkCTL_|bHAP^Cm$+z#NZ!gJENP5Fuzi-}e<|b^&?!MjL;3)xNtwFD&CQK!qiWqM36j`!E_d-84Y z^TYbtc>$`<%|EwSiKZK>>;<8CdU~oHFT@GgeX%kO!!Z9J4!-P3{5P8omOmpdS&`cW zo)|q(POh%5@ZRI&qiPStj6R2vwo|kp?uNsRgrQ_`P`*?pe z8l4o43eERt=9gg@hWY#8%Ns;>D+N9)RM*$nNwAs=!)XY^NHfe(mRGBlXrJ{(7=~gz z9+!Ig7Y%@JSi-h#EU#x%%+}kTj(Q%%ABdtTXE-2EFNow9TP#y%-Z5*5-8&bKamKo*asPaV6#>C*3To6jnnfy5pPq` z1yfWdMiBnlXpEnsO(iTW-eRuX?;KAVYV=S-D--&g+! z2xyZ`$7f6-!!QiX0Dsg2Z;41*3nSyTg3oV0pgEi1Hm^P{2Td; zw{+}|E!u2mDO#X?wqxJ zc8g2eP$pr`t}0{=kp42xwYdbdBgbybw*A#oOlR|haVk?GMHDa#TNN8=i~z&5aBhO_ z?yZKbNsFW3TN6t;mxkx(p7o{B8?B}=-VKp#HZ=$Db57&WLR&JCze>lhOH;R4sqX_j zjk7I{%AcHxU>JsBz6Kw@$S0FY^5gOXGgDWJ-g=#iK_IV<&Y8HoyHj;(2|2sWOxp@r zC$qc^X9*x14VG!9X*Jrof&c;u2B6AvGVM`=0dUUJ<$e&b*!R%@bi1bl&I`~!`L5-9 zIy49dfW+UDCTB5w6*Zato39fQc6xX}^wuJl4x7o(BznY^7(3*AO zhmpMBQgy*d@zOuTFwB3KgD-Gcz9$0!*DBc`Wv!60f@s}8J?9RW5wuhdd*VPo9i@vfkppHwb8z^8nd6UE5My4rLDm(&0K{z6z89h&BP9g(x0^)C?Q<+{^ZHadD9p z_vc|drc8ZW0RcQOoj({Om?&5QQ0++*@Z^Ul*_EQIhZPxyVVJMQhcEErPvHPC0aXvH zm4UMGDh8k^u4DkJoYXHJU*T5)W&417@GAfU48WnWfeF}mU~d;$A)hV0(gxr&z?i@Q z(62d;(FemY40C+;zQD64;F$ZqU;u{0;g=PYtN}Qdu>J{P06_RvnKN^SVHoBB{{p;$ VAU8qE@4^58002ovPDHLkV1i#@sQ>@~ literal 0 HcmV?d00001 diff --git a/public/missiles/bladefuryc.json b/public/missiles/bladefuryc.json new file mode 100644 index 0000000..d0a634a --- /dev/null +++ b/public/missiles/bladefuryc.json @@ -0,0 +1,69 @@ +{ + "name": "bladefuryc", + "celFile": "Expansion/bladefury_C", + "width": 512, + "height": 11, + "directions": 1, + "framesPerDirection": 7, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 24, + 11, + -12, + -36 + ], + [ + 25, + 0, + 24, + 11, + -12, + -36 + ], + [ + 50, + 0, + 24, + 11, + -12, + -36 + ], + [ + 75, + 0, + 24, + 11, + -12, + -36 + ], + [ + 100, + 0, + 24, + 11, + -12, + -36 + ], + [ + 125, + 0, + 24, + 11, + -12, + -36 + ], + [ + 150, + 0, + 24, + 11, + -12, + -36 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/bladefuryc.png b/public/missiles/bladefuryc.png new file mode 100644 index 0000000000000000000000000000000000000000..0311b73fc58e0cbb903f96c2a369ae531097dde7 GIT binary patch literal 2119 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 literal 0 HcmV?d00001 diff --git a/public/missiles/deathsentryexplode.json b/public/missiles/deathsentryexplode.json new file mode 100644 index 0000000..a714aeb --- /dev/null +++ b/public/missiles/deathsentryexplode.json @@ -0,0 +1,109 @@ +{ + "name": "deathsentryexplode", + "celFile": "Expansion/dethsentry02", + "width": 512, + "height": 275, + "directions": 1, + "framesPerDirection": 12, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 115, + 91, + -66, + -66 + ], + [ + 116, + 0, + 115, + 91, + -66, + -66 + ], + [ + 232, + 0, + 115, + 91, + -66, + -66 + ], + [ + 348, + 0, + 115, + 91, + -66, + -66 + ], + [ + 0, + 92, + 115, + 91, + -66, + -66 + ], + [ + 116, + 92, + 115, + 91, + -66, + -66 + ], + [ + 232, + 92, + 115, + 91, + -66, + -66 + ], + [ + 348, + 92, + 115, + 91, + -66, + -66 + ], + [ + 0, + 184, + 115, + 91, + -66, + -66 + ], + [ + 116, + 184, + 115, + 91, + -66, + -66 + ], + [ + 232, + 184, + 115, + 91, + -66, + -66 + ], + [ + 348, + 184, + 115, + 91, + -66, + -66 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/deathsentryexplode.png b/public/missiles/deathsentryexplode.png new file mode 100644 index 0000000000000000000000000000000000000000..eca33e799a08c4df253f884c566d5e17e52449c6 GIT binary patch literal 9020 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

?L2y_J0x>@}a1-h#xs07gPP-XK=uuj?!uF!{= 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\P+r*8$p>C^A*Z4jovPyR}6<=$t7GJwjRXRT1`! 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 literal 0 HcmV?d00001 diff --git a/public/missiles/firetraumaground.json b/public/missiles/firetraumaground.json new file mode 100644 index 0000000..ef7fec5 --- /dev/null +++ b/public/missiles/firetraumaground.json @@ -0,0 +1,21 @@ +{ + "name": "firetraumaground", + "celFile": "expansion/FireTraumaGround", + "width": 512, + "height": 10, + "directions": 1, + "framesPerDirection": 1, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 11, + 10, + -5, + -13 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/firetraumaground.png b/public/missiles/firetraumaground.png new file mode 100644 index 0000000000000000000000000000000000000000..3395ab7c95448a2f3257264a4863c25e9fe14150 GIT binary patch literal 350 zcmV-k0iphhP)6%`W|h{*{Af{(-pn4FxbsFqdz@8#}-$S--G_W}R_7H|D`p(u)e$TqSpV<-RsU|}W$K+`lX z4?{p**J6yBp)3FZa7*I=kfv$hwykUWv5s6QrQ~`0IA?tT0N@7J_K4p`5Cn1;Y$Qn% z*{3hE@q97WQ7Y5ST_XShxU!Y~4EOw9dzMf|qVFGmn*T|v>Qe%x-Nvr#q%6zTjI{y) zfGZgr`fIxD<5W!N02XF^1gNzZ`wrmp wC8EMmJkNIl0090GdnK^nJ@F3!000)~8>IA5r<(hZ(f|Me07*qoM6N<$f`gTjLjV8( literal 0 HcmV?d00001 diff --git a/public/missiles/shockfieldair.json b/public/missiles/shockfieldair.json new file mode 100644 index 0000000..e2e28c7 --- /dev/null +++ b/public/missiles/shockfieldair.json @@ -0,0 +1,2123 @@ +{ + "name": "shockfieldair", + "celFile": "expansion/caltrops", + "width": 512, + "height": 65, + "directions": 32, + "framesPerDirection": 8, + "animSpeed": 16, + "groups": [ + [ + [ + 0, + 0, + 11, + 10, + -5, + -1 + ], + [ + 12, + 0, + 11, + 10, + -5, + -1 + ], + [ + 24, + 0, + 11, + 10, + -5, + -1 + ], + [ + 36, + 0, + 11, + 10, + -5, + -1 + ], + [ + 48, + 0, + 11, + 10, + -5, + -1 + ], + [ + 60, + 0, + 11, + 10, + -5, + -1 + ], + [ + 72, + 0, + 11, + 10, + -5, + -1 + ], + [ + 84, + 0, + 11, + 10, + -5, + -1 + ] + ], + [ + [ + 96, + 0, + 10, + 10, + -2, + 0 + ], + [ + 107, + 0, + 10, + 10, + -2, + 0 + ], + [ + 118, + 0, + 10, + 10, + -2, + 0 + ], + [ + 129, + 0, + 10, + 10, + -2, + 0 + ], + [ + 140, + 0, + 10, + 10, + -2, + 0 + ], + [ + 151, + 0, + 10, + 10, + -2, + 0 + ], + [ + 162, + 0, + 10, + 10, + -2, + 0 + ], + [ + 173, + 0, + 10, + 10, + -2, + 0 + ] + ], + [ + [ + 184, + 0, + 9, + 9, + -5, + 2 + ], + [ + 194, + 0, + 9, + 9, + -5, + 2 + ], + [ + 204, + 0, + 9, + 9, + -5, + 2 + ], + [ + 214, + 0, + 9, + 9, + -5, + 2 + ], + [ + 224, + 0, + 9, + 9, + -5, + 2 + ], + [ + 234, + 0, + 9, + 9, + -5, + 2 + ], + [ + 244, + 0, + 9, + 9, + -5, + 2 + ], + [ + 254, + 0, + 9, + 9, + -5, + 2 + ] + ], + [ + [ + 264, + 0, + 11, + 10, + -8, + 0 + ], + [ + 276, + 0, + 11, + 10, + -8, + 0 + ], + [ + 288, + 0, + 11, + 10, + -8, + 0 + ], + [ + 300, + 0, + 11, + 10, + -8, + 0 + ], + [ + 312, + 0, + 11, + 10, + -8, + 0 + ], + [ + 324, + 0, + 11, + 10, + -8, + 0 + ], + [ + 336, + 0, + 11, + 10, + -8, + 0 + ], + [ + 348, + 0, + 11, + 10, + -8, + 0 + ] + ], + [ + [ + 360, + 0, + 7, + 10, + -5, + -1 + ], + [ + 368, + 0, + 7, + 10, + -5, + -1 + ], + [ + 376, + 0, + 7, + 10, + -5, + -1 + ], + [ + 384, + 0, + 7, + 10, + -5, + -1 + ], + [ + 392, + 0, + 7, + 10, + -5, + -1 + ], + [ + 400, + 0, + 7, + 10, + -5, + -1 + ], + [ + 408, + 0, + 7, + 10, + -5, + -1 + ], + [ + 416, + 0, + 7, + 10, + -5, + -1 + ] + ], + [ + [ + 424, + 0, + 10, + 9, + -3, + 0 + ], + [ + 435, + 0, + 10, + 9, + -3, + 0 + ], + [ + 446, + 0, + 10, + 9, + -3, + 0 + ], + [ + 457, + 0, + 10, + 9, + -3, + 0 + ], + [ + 468, + 0, + 10, + 9, + -3, + 0 + ], + [ + 479, + 0, + 10, + 9, + -3, + 0 + ], + [ + 490, + 0, + 10, + 9, + -3, + 0 + ], + [ + 501, + 0, + 10, + 9, + -3, + 0 + ] + ], + [ + [ + 0, + 11, + 8, + 10, + -2, + 1 + ], + [ + 9, + 11, + 8, + 10, + -2, + 1 + ], + [ + 18, + 11, + 8, + 10, + -2, + 1 + ], + [ + 27, + 11, + 8, + 10, + -2, + 1 + ], + [ + 36, + 11, + 8, + 10, + -2, + 1 + ], + [ + 45, + 11, + 8, + 10, + -2, + 1 + ], + [ + 54, + 11, + 8, + 10, + -2, + 1 + ], + [ + 63, + 11, + 8, + 10, + -2, + 1 + ] + ], + [ + [ + 72, + 11, + 10, + 10, + -7, + 1 + ], + [ + 83, + 11, + 10, + 10, + -7, + 1 + ], + [ + 94, + 11, + 10, + 10, + -7, + 1 + ], + [ + 105, + 11, + 10, + 10, + -7, + 1 + ], + [ + 116, + 11, + 10, + 10, + -7, + 1 + ], + [ + 127, + 11, + 10, + 10, + -7, + 1 + ], + [ + 138, + 11, + 10, + 10, + -7, + 1 + ], + [ + 149, + 11, + 10, + 10, + -7, + 1 + ] + ], + [ + [ + 160, + 11, + 9, + 10, + -5, + -1 + ], + [ + 170, + 11, + 9, + 10, + -5, + -1 + ], + [ + 180, + 11, + 9, + 10, + -5, + -1 + ], + [ + 190, + 11, + 9, + 10, + -5, + -1 + ], + [ + 200, + 11, + 9, + 10, + -5, + -1 + ], + [ + 210, + 11, + 9, + 10, + -5, + -1 + ], + [ + 220, + 11, + 9, + 10, + -5, + -1 + ], + [ + 230, + 11, + 9, + 10, + -5, + -1 + ] + ], + [ + [ + 240, + 11, + 10, + 10, + -3, + -1 + ], + [ + 251, + 11, + 10, + 10, + -3, + -1 + ], + [ + 262, + 11, + 10, + 10, + -3, + -1 + ], + [ + 273, + 11, + 10, + 10, + -3, + -1 + ], + [ + 284, + 11, + 10, + 10, + -3, + -1 + ], + [ + 295, + 11, + 10, + 10, + -3, + -1 + ], + [ + 306, + 11, + 10, + 10, + -3, + -1 + ], + [ + 317, + 11, + 10, + 10, + -3, + -1 + ] + ], + [ + [ + 328, + 11, + 11, + 10, + -3, + 0 + ], + [ + 340, + 11, + 11, + 10, + -3, + 0 + ], + [ + 352, + 11, + 11, + 10, + -3, + 0 + ], + [ + 364, + 11, + 11, + 10, + -3, + 0 + ], + [ + 376, + 11, + 11, + 10, + -3, + 0 + ], + [ + 388, + 11, + 11, + 10, + -3, + 0 + ], + [ + 400, + 11, + 11, + 10, + -3, + 0 + ], + [ + 412, + 11, + 11, + 10, + -3, + 0 + ] + ], + [ + [ + 424, + 11, + 10, + 10, + -3, + 1 + ], + [ + 435, + 11, + 10, + 10, + -3, + 1 + ], + [ + 446, + 11, + 10, + 10, + -3, + 1 + ], + [ + 457, + 11, + 10, + 10, + -3, + 1 + ], + [ + 468, + 11, + 10, + 10, + -3, + 1 + ], + [ + 479, + 11, + 10, + 10, + -3, + 1 + ], + [ + 490, + 11, + 10, + 10, + -3, + 1 + ], + [ + 501, + 11, + 10, + 10, + -3, + 1 + ] + ], + [ + [ + 0, + 22, + 9, + 10, + -3, + 1 + ], + [ + 10, + 22, + 9, + 10, + -3, + 1 + ], + [ + 20, + 22, + 9, + 10, + -3, + 1 + ], + [ + 30, + 22, + 9, + 10, + -3, + 1 + ], + [ + 40, + 22, + 9, + 10, + -3, + 1 + ], + [ + 50, + 22, + 9, + 10, + -3, + 1 + ], + [ + 60, + 22, + 9, + 10, + -3, + 1 + ], + [ + 70, + 22, + 9, + 10, + -3, + 1 + ] + ], + [ + [ + 80, + 22, + 10, + 10, + -6, + 1 + ], + [ + 91, + 22, + 10, + 10, + -6, + 1 + ], + [ + 102, + 22, + 10, + 10, + -6, + 1 + ], + [ + 113, + 22, + 10, + 10, + -6, + 1 + ], + [ + 124, + 22, + 10, + 10, + -6, + 1 + ], + [ + 135, + 22, + 10, + 10, + -6, + 1 + ], + [ + 146, + 22, + 10, + 10, + -6, + 1 + ], + [ + 157, + 22, + 10, + 10, + -6, + 1 + ] + ], + [ + [ + 168, + 22, + 10, + 9, + -8, + 1 + ], + [ + 179, + 22, + 10, + 9, + -8, + 1 + ], + [ + 190, + 22, + 10, + 9, + -8, + 1 + ], + [ + 201, + 22, + 10, + 9, + -8, + 1 + ], + [ + 212, + 22, + 10, + 9, + -8, + 1 + ], + [ + 223, + 22, + 10, + 9, + -8, + 1 + ], + [ + 234, + 22, + 10, + 9, + -8, + 1 + ], + [ + 245, + 22, + 10, + 9, + -8, + 1 + ] + ], + [ + [ + 256, + 22, + 9, + 9, + -6, + 0 + ], + [ + 266, + 22, + 9, + 9, + -6, + 0 + ], + [ + 276, + 22, + 9, + 9, + -6, + 0 + ], + [ + 286, + 22, + 9, + 9, + -6, + 0 + ], + [ + 296, + 22, + 9, + 9, + -6, + 0 + ], + [ + 306, + 22, + 9, + 9, + -6, + 0 + ], + [ + 316, + 22, + 9, + 9, + -6, + 0 + ], + [ + 326, + 22, + 9, + 9, + -6, + 0 + ] + ], + [ + [ + 336, + 22, + 8, + 10, + -5, + -1 + ], + [ + 345, + 22, + 8, + 10, + -5, + -1 + ], + [ + 354, + 22, + 8, + 10, + -5, + -1 + ], + [ + 363, + 22, + 8, + 10, + -5, + -1 + ], + [ + 372, + 22, + 8, + 10, + -5, + -1 + ], + [ + 381, + 22, + 8, + 10, + -5, + -1 + ], + [ + 390, + 22, + 8, + 10, + -5, + -1 + ], + [ + 399, + 22, + 8, + 10, + -5, + -1 + ] + ], + [ + [ + 408, + 22, + 9, + 10, + -5, + -1 + ], + [ + 418, + 22, + 9, + 10, + -5, + -1 + ], + [ + 428, + 22, + 9, + 10, + -5, + -1 + ], + [ + 438, + 22, + 9, + 10, + -5, + -1 + ], + [ + 448, + 22, + 9, + 10, + -5, + -1 + ], + [ + 458, + 22, + 9, + 10, + -5, + -1 + ], + [ + 468, + 22, + 9, + 10, + -5, + -1 + ], + [ + 478, + 22, + 9, + 10, + -5, + -1 + ] + ], + [ + [ + 488, + 22, + 10, + 10, + -4, + -1 + ], + [ + 499, + 22, + 10, + 10, + -4, + -1 + ], + [ + 0, + 33, + 10, + 10, + -4, + -1 + ], + [ + 11, + 33, + 10, + 10, + -4, + -1 + ], + [ + 22, + 33, + 10, + 10, + -4, + -1 + ], + [ + 33, + 33, + 10, + 10, + -4, + -1 + ], + [ + 44, + 33, + 10, + 10, + -4, + -1 + ], + [ + 55, + 33, + 10, + 10, + -4, + -1 + ] + ], + [ + [ + 66, + 33, + 10, + 9, + -3, + 0 + ], + [ + 77, + 33, + 10, + 9, + -3, + 0 + ], + [ + 88, + 33, + 10, + 9, + -3, + 0 + ], + [ + 99, + 33, + 10, + 9, + -3, + 0 + ], + [ + 110, + 33, + 10, + 9, + -3, + 0 + ], + [ + 121, + 33, + 10, + 9, + -3, + 0 + ], + [ + 132, + 33, + 10, + 9, + -3, + 0 + ], + [ + 143, + 33, + 10, + 9, + -3, + 0 + ] + ], + [ + [ + 154, + 33, + 9, + 10, + -2, + 0 + ], + [ + 164, + 33, + 9, + 10, + -2, + 0 + ], + [ + 174, + 33, + 9, + 10, + -2, + 0 + ], + [ + 184, + 33, + 9, + 10, + -2, + 0 + ], + [ + 194, + 33, + 9, + 10, + -2, + 0 + ], + [ + 204, + 33, + 9, + 10, + -2, + 0 + ], + [ + 214, + 33, + 9, + 10, + -2, + 0 + ], + [ + 224, + 33, + 9, + 10, + -2, + 0 + ] + ], + [ + [ + 234, + 33, + 9, + 10, + -2, + 0 + ], + [ + 244, + 33, + 9, + 10, + -2, + 0 + ], + [ + 254, + 33, + 9, + 10, + -2, + 0 + ], + [ + 264, + 33, + 9, + 10, + -2, + 0 + ], + [ + 274, + 33, + 9, + 10, + -2, + 0 + ], + [ + 284, + 33, + 9, + 10, + -2, + 0 + ], + [ + 294, + 33, + 9, + 10, + -2, + 0 + ], + [ + 304, + 33, + 9, + 10, + -2, + 0 + ] + ], + [ + [ + 314, + 33, + 10, + 10, + -3, + 0 + ], + [ + 325, + 33, + 10, + 10, + -3, + 0 + ], + [ + 336, + 33, + 10, + 10, + -3, + 0 + ], + [ + 347, + 33, + 10, + 10, + -3, + 0 + ], + [ + 358, + 33, + 10, + 10, + -3, + 0 + ], + [ + 369, + 33, + 10, + 10, + -3, + 0 + ], + [ + 380, + 33, + 10, + 10, + -3, + 0 + ], + [ + 391, + 33, + 10, + 10, + -3, + 0 + ] + ], + [ + [ + 402, + 33, + 9, + 10, + -2, + 1 + ], + [ + 412, + 33, + 9, + 10, + -2, + 1 + ], + [ + 422, + 33, + 9, + 10, + -2, + 1 + ], + [ + 432, + 33, + 9, + 10, + -2, + 1 + ], + [ + 442, + 33, + 9, + 10, + -2, + 1 + ], + [ + 452, + 33, + 9, + 10, + -2, + 1 + ], + [ + 462, + 33, + 9, + 10, + -2, + 1 + ], + [ + 472, + 33, + 9, + 10, + -2, + 1 + ] + ], + [ + [ + 482, + 33, + 8, + 10, + -3, + 1 + ], + [ + 491, + 33, + 8, + 10, + -3, + 1 + ], + [ + 500, + 33, + 8, + 10, + -3, + 1 + ], + [ + 0, + 44, + 8, + 10, + -3, + 1 + ], + [ + 9, + 44, + 8, + 10, + -3, + 1 + ], + [ + 18, + 44, + 8, + 10, + -3, + 1 + ], + [ + 27, + 44, + 8, + 10, + -3, + 1 + ], + [ + 36, + 44, + 8, + 10, + -3, + 1 + ] + ], + [ + [ + 45, + 44, + 10, + 10, + -5, + 1 + ], + [ + 56, + 44, + 10, + 10, + -5, + 1 + ], + [ + 67, + 44, + 10, + 10, + -5, + 1 + ], + [ + 78, + 44, + 10, + 10, + -5, + 1 + ], + [ + 89, + 44, + 10, + 10, + -5, + 1 + ], + [ + 100, + 44, + 10, + 10, + -5, + 1 + ], + [ + 111, + 44, + 10, + 10, + -5, + 1 + ], + [ + 122, + 44, + 10, + 10, + -5, + 1 + ] + ], + [ + [ + 133, + 44, + 10, + 10, + -6, + 1 + ], + [ + 144, + 44, + 10, + 10, + -6, + 1 + ], + [ + 155, + 44, + 10, + 10, + -6, + 1 + ], + [ + 166, + 44, + 10, + 10, + -6, + 1 + ], + [ + 177, + 44, + 10, + 10, + -6, + 1 + ], + [ + 188, + 44, + 10, + 10, + -6, + 1 + ], + [ + 199, + 44, + 10, + 10, + -6, + 1 + ], + [ + 210, + 44, + 10, + 10, + -6, + 1 + ] + ], + [ + [ + 221, + 44, + 10, + 9, + -7, + 1 + ], + [ + 232, + 44, + 10, + 9, + -7, + 1 + ], + [ + 243, + 44, + 10, + 9, + -7, + 1 + ], + [ + 254, + 44, + 10, + 9, + -7, + 1 + ], + [ + 265, + 44, + 10, + 9, + -7, + 1 + ], + [ + 276, + 44, + 10, + 9, + -7, + 1 + ], + [ + 287, + 44, + 10, + 9, + -7, + 1 + ], + [ + 298, + 44, + 10, + 9, + -7, + 1 + ] + ], + [ + [ + 309, + 44, + 9, + 10, + -7, + 1 + ], + [ + 319, + 44, + 9, + 10, + -7, + 1 + ], + [ + 329, + 44, + 9, + 10, + -7, + 1 + ], + [ + 339, + 44, + 9, + 10, + -7, + 1 + ], + [ + 349, + 44, + 9, + 10, + -7, + 1 + ], + [ + 359, + 44, + 9, + 10, + -7, + 1 + ], + [ + 369, + 44, + 9, + 10, + -7, + 1 + ], + [ + 379, + 44, + 9, + 10, + -7, + 1 + ] + ], + [ + [ + 389, + 44, + 10, + 10, + -8, + 0 + ], + [ + 400, + 44, + 10, + 10, + -8, + 0 + ], + [ + 411, + 44, + 10, + 10, + -8, + 0 + ], + [ + 422, + 44, + 10, + 10, + -8, + 0 + ], + [ + 433, + 44, + 10, + 10, + -8, + 0 + ], + [ + 444, + 44, + 10, + 10, + -8, + 0 + ], + [ + 455, + 44, + 10, + 10, + -8, + 0 + ], + [ + 466, + 44, + 10, + 10, + -8, + 0 + ] + ], + [ + [ + 477, + 44, + 9, + 10, + -7, + -1 + ], + [ + 487, + 44, + 9, + 10, + -7, + -1 + ], + [ + 497, + 44, + 9, + 10, + -7, + -1 + ], + [ + 0, + 55, + 9, + 10, + -7, + -1 + ], + [ + 10, + 55, + 9, + 10, + -7, + -1 + ], + [ + 20, + 55, + 9, + 10, + -7, + -1 + ], + [ + 30, + 55, + 9, + 10, + -7, + -1 + ], + [ + 40, + 55, + 9, + 10, + -7, + -1 + ] + ], + [ + [ + 50, + 55, + 9, + 10, + -6, + -1 + ], + [ + 60, + 55, + 9, + 10, + -6, + -1 + ], + [ + 70, + 55, + 9, + 10, + -6, + -1 + ], + [ + 80, + 55, + 9, + 10, + -6, + -1 + ], + [ + 90, + 55, + 9, + 10, + -6, + -1 + ], + [ + 100, + 55, + 9, + 10, + -6, + -1 + ], + [ + 110, + 55, + 9, + 10, + -6, + -1 + ], + [ + 120, + 55, + 9, + 10, + -6, + -1 + ] + ] + ] +} \ No newline at end of file diff --git a/public/missiles/shockfieldair.png b/public/missiles/shockfieldair.png new file mode 100644 index 0000000000000000000000000000000000000000..4c744fad0c77ee2d10d8a7056c88975ed4d809e8 GIT binary patch literal 12545 zcmXwgcQhP8_cjqN(M8y3i5^6ay3wMSD8X)Yf+eiz-Kt6S-lG#ymKBy2oe;f?vP6jz zy<25>@#THr-#35E+&O2?%$+;sJaeBr(fYdTl=mLpBOoB4)YMRUO+awxpGcrYM)EH& zTVr`dKp@husiI`$m%E?$B+Xv^xYxmxhV1U0Fh!NeG_?N}9&>PjRQ{!^D8>I2Dr*14 zH??=d-q40cDL($!nB!mTf2GRZaL;pvj*E`vTvw;cX83Yzqj*bThv$;N_#tN3%)-LL zc=6(VmXWcsXDsCAbknsBGjqBy;|adp5DvM@1()p!2Oq~GQS=r*_Ws6U31iipEd(wB z7mL0N``B&05Nz&j1>$zs>K0o%{cDH{bdG@Ys@0Ny~!D1>Ck$8zEG+Mw>7~SI3q{5%)G3&8wgu+ z-|MeSQ&q>bP%lB3qrG6<(LXJb#t8aL1>7DoL+4((!p(7_tGO+AS7%sZq#+MC!_8^I ztzdelp5N(+)Yy~J6KO@ZptpU(y~`u`1-;;tR2%l5y8)nO;9)EBcY%2bw`R9%!g>~Z z)x`w?Txzj>Yrj_x1%EPj3}Vk&S=J!c<@(`~3`+Z7mIb;Km)sfJhr8ty@ z)#iLoL{3JFj+>DD)q1K;UO#({8KoFD9@XC!jNLBdyvkp*b5JU9wr%9ES%x&Pcw(Us z=gx2!%OM3F!Z+C2j-_wj+>;&u^l{~q488T&RluPaW!+$k<05sO4PINoJR^bk; zGML!{2VA}yjUR){<8aHj!5Vkoo+Mw9a^9f#Z`hTzwVV*u1|Z2(M% z((ywH0z^V2VYL%Y_a2rIv;q459R6nvQuQ%l#Kwu~Y;YvquP1|FntBBZkJNlpK9;9V zxJs4<9Pe6PpR5i{EwhD7jD}_B0iEsCg%jodZdc*UA+Y0`kn7z_DvImlwZ3hMB-I4y zSM}S1_LtyRPm5e{!J6P^X!p-j<#t+gGRPJiUsr3gQ%oq+X>u$h~}oR#s+ zzVi290v)f0JYh?VG7#@6p1tGACr8&s!a|tzj8p6j0!>C~Kd-3Vpqjg#HE=Nl$r{p? zLL)ER`-MTOx}>Wh_I}HvPOd&9EJ(h<@2_tH6{_;ucYM+L?HCGfN|>6$9VFZ-@#Ihrby0@?UfvuxUuOhMY~PGg`qg(@Kmd4429KGlNPFX0XZb^wHMk`V*xE zd+M7uywO?aL5|`c_27}*`Ni4x6nrfDNkPcX6=lnm_XmRx|KISzwbU)%v)Euqg*B6C z%Q&l)?%jRt>$i8^Pmp8sEi<$HzV9+g&B_WID&I8dxhRhg-D)Q$t{ZD#@p?s)w>5b@WMuc-2Vz04+O;iTsIwKuUKl^p{%>+XD?o z)Qorm0~Sh%OB51OHTNCMsBS6)f$E=lQqEgc-yIhk z3Rg5H$X?wvCndL7>NAL7rX7je3MII+)iMm*9d$3s;yZ~B15f^ zvR-_?g4As3svy9B43wW%|5RzIchwC8-uR}O!lE}H$`f^OJQ9)5~J|k#Xuo^~m}%!g6r#E91go_9_pf>{E0*5P$tMGm%=D zL|xJmlP#<1VJx1e)y_|z)K2~)z@TyLMozi{Dk1QM+&0wUlP_I8?G|%K*(>1MYqN7} zP?^e2jZzbbOXX&+rX|jAyGQP>@ zrr$CD;`1VnwI4V|E)mtYv1rAz!_bha6KVbz)g+M#*PALb z+a&ZKvU+E2BSebdw3M^(im&vti}%)N{EjxUSc45u;!fY+p!D%4%PbMmh3%PEgW=)O zO$=PWL6En929vs z@zwjXGsgCGmG~PvwKYqD+4ca#SB@-mcWfzG{c+!^YH0vRyhyWp`QuezJkQdP;0Udz zC>AA%Ab_uoWc7QHf6*f&1Yd5SwO{z5%INXB8Q-!q4I14%et*Qn@6d_O~1w4^2sXj&BV{!T|XaYQJ>^7Idn*eXf@8t(~7}jNl5brQHX^HV3#1e{Y%OAYRm3RVuzbszWcu zAHqIaS=Z=2J%1I^Kc-S`i?RGrf}EH)l=r*heG zM)ck)6^W-0yFCx-;XQ(qI#WdA*aIU>r6*7gJ@G_M=^Q|+%6(tkRP1*GMe{`k&cJ|b zvEu-xt!L(2ppczjvCfJftJ3w74gAUppLMXAzCb#>9d|HRuX2?H-IZxf$6dk0d>Gg+ z^`6dF-Krl2)`eDaJ>&KA;jnHA7G_Z>8b1qrd>&b&VEhxM5a zg$Uu^RQRHZTj2EH_In@6jf7MqOxoa*9>daX`{B|L%h*Etuqn{K(S*QHjJ3Ya5uQn< z`pXu{jQgKD)|h^09$yx_jYj`YU$iZf-hC$FVkz*j$uXvF zsS>ZY0E7w`3ZXPczR}gIdo?KP1=wZ^M2GfXxCWo**vO>3-^u~PP2c+Fpv7!CUr(!P zsQ2CVlxA&))4UI174oxtOSk%KIPc4Ad+_M^R)#U1??I>0)$Slk)u@#JgD zk=mvQtLt~7jdj(<>N5R*>X*kN8S0h`^<)xFR!%JL8Ml1#q*K{84?67^NnwO}i|+x} zx6;ZXnxVPjWQyae-uiL7si9F-RpCEfbd!5F>uM$m`{dLZjF4dcU8TjByD?Sxekv}6NYRAA1Q~H#B%5j zd4-ATEv-VXF-Q6gUi|k?(Of(;iLZu7v*x7fK7Ei=)V&t#lAY7{Jr`tFLL5{U){ues zr?Z)cQOhB>*UEGyTr3^n1~d`Qal-_g)E0j}MWjd5{DSH3wlTY^`6F0Ovn=Y_Te05x ze$;pc9mA3d!#aar%Esq8;`*-49 zPadila4|A9m~K3rh|*3Z=r&_QPfgdZJ!0l$vLBJgG;{-)mHK%Dp`}{R_0>GZerYDmlm7D^oV*i49k^<_M}}^lQXj*bk@D5v zE2?F^2mlgoMu9sQNF+J{hW2W@IvvMRnikDs77E=QUQXARkMe^=LbDNHcQKDjkSd zauDgSzsp9QOAuWCf!*>?8BNn^thT#Tk5B844GowS;HQru6NGARJ@%!zF@V(Qky;qd z-eLRTUiTRwpg2Ys>ety57pFnUiHiqOu9L}?Z|>ZeA*NJmb9Erm(ex&$ zGar1;@+KUzFG_y2!p;iOd2_aC=A)?jHFi`H6DiHv<^a{s;Dgv(NSWt|CUL9ttIIvo zK0ab!;(R6HwpfuDJYoR+^$_}WG=cvmEz9$vtKgW`^2LOhy#Z>)N6EjE2sB9RUpYh= zX@>HU#Lf2eWnM-0*D7!n#H4M{iC^RXVe{8xqFo4VPqeipno6>1)s|`PlGN&wR-+$ z6Y87Ch!oWx`H8Qfc0!>h+P&&tNW^Jh<(NnJXSQ=OX=hfHsZZy6Ne?s0FukbdY8 zWV+!|zAvjl*kjjn|BN4TtHW-PuTyX$)B2lgtHvaUTUgAfkz#$!Z#Js}AG`dTW@~Ej zp`82iMO7?g*V!KCh%J$b@e@f6AWXQ!2&qgdpT0Z#7$`os z6Hwe@YWjG#eLe!cOO(9G#u{|dM8}t-C(h!7k44cGXSoNHcyQ|5K-5t%NhVF>c(`u ztuhZhUx|lIi_1(L@2nVKO*|g&5*NVS@scq6Galz+q!8iv5FZATsywU=-mb3>>{V`T z*9D;WVh&nHb(*(WBm#G;3l`6-;!57QVvoK@o0U7bN58T{JT&Uv#`Tg@v9k%VW!~z8NT)?4+%m+K;^|Xk5 z!Y%%sE~463WgZzTYoJ_DWiEj5S@EY9u{m3oanXxD-RcF~6ard)<9%-uLD)=kU|N+d zawevV0r{8Ayrj7F;r5_YUf%Iyb!N3+`T-c1N-$fy0MP!s^F2bb%`Q`v%*SAJm>WWWLHM0=AC_m-=x`^2z6KL0Ul-Di@J8&1rp8}?I$B*e!&Z;CmK-lK6WeQ zo4Pa*L9d#Q^bnzYQ-Gc$X#uG^B8S#P2mA%m0?PPAgY#)W6<- z0)1f}y$c<9QuyaNM6WZJzUvRhflJOrMt#rGE;0e*A!$H4=|0hgdUDGbQg;3UgYn=DBx!(~YLQ3y~#EUNGePJlP(o$H4`Rrl5cqz|PSO zYvqHzZQBMsdl8-cE}kJIU;6k`dl~E**o&!t_r<2Yatn;3NH5O&G$J;iIRx64;54R7 z{D=~m`s4>8cBi?w{ibXv^A*G~vX?uqu|GZ}y}H<8@7ZaXkbpNBSiPigLsE3NMjGy3 zIUoFO;w;02dJjSow;iAI7tEVL8-ESgN&D$2iT&k;j%CzR`a_z48M-x*Jv))M zP9fXreq0#V_S_>Sy<31~#odkVm#RsIqmhuacwO}MH>cP-9qJpvyO=m>vym+OHg;O>JuSHVj8Ywm(OrBK4p^e^>q}Khc@-h2aV`gix3w_U4g*MTr zS-uiA5-$er}sF< z_C9;3ue8xRoxszCUwQBFc~NX*(WkvIesIdqi32T8#*@Vt%3Z8SbrjLC z6NjX;qLVWuYV7Y1QVg8HdRG|)fD072rT}}>(B2X+690^flXjV!ZU;LpPF*k7IgU>f z_K|!>54!KDW!NWI>Y2|Y3g;|Ixb~IM#j6ZL_Ht?VCYE9bnIy`&DRT0cONDZGG{u%g-2!TyRQ!28^9=ZFb04hGXVoyevOPZADO|wuUi=2Mh$PiypDU@#e z!XZ+kDK}py9%P^)UE4xitNja8UX5^0IihBRU3Ly_x$^KW+KKNfSkzevJWgE#0PPWVaIR=gpAA(NVU`YS#O+>2w?LHQNQ7pfB=;N71*l`{y`x8EFI&`?a&bZebB;&KPFrPK}B=Yt3`N&=|{Vw;0n4*aWArAj)KO0E6t+< z?4`!9(*d-N@9a5H+!?3S-Bb|y2OYotndH`H*|%Npy7q0UygWQL$eWO?n|>MIQKK7> zmmZ7&5!m%0mFYtr*axL6O+Ib~AU}CIa$eUXFLBAaizuVA=ARyLr8~Uv^iY1nZF%3K zz@PtC99mJu509hs%5#=lJCHY9fwdG{4OmWB2Rg%He9?20 zz!p?~NO|wWt=Ern-u~>>S^iB4HCgG|+s(G!{Hb!0BBye-)x}$R4X!__`3a9S<0IOK zK?HRktPgb*o;DN{)Z|N4&VNgJVZ70DURqa@PGR%$Z%fHq`uPslFhn8%D`|OYG@hD@ z+(o=U+df3tiU zoEv*vICWsS^B2*#Bzo>cmEGdu<*PFy4Qf8AnMXS^yZDy%IicUfSQl9X7jX|14u}s@ zUqV=K#U|11T6fuiKCL>^jMRfL)+t}^S!g&iMz>=zGkW*`ygzHkgxNn~Uj%Y(G6>tF zs>r{V;o1cQ&4$H(z2^yL7n{qb@NHV1G?{6omVLo(iK#v1Uuj1W5fDI3@D@{>Q zc)%y-KElK|XPx||_IDGUH-bX5ZC7wR15QdUjPH@pCB=f>3E~tZTTe%Uk+QlYEr>SM zaxl(imu=DMNYOO~#znLcEqnb_Sv{SymF&?bRp4Bl(ysZ%pLe&z`GnN^Bl+EL+~bmo zg^L3dJ&q%lX5uplbj7K!(MQj6=>Wf}7V zL09=7sQ+5@j9}6cdiZJdN7uVi{txiY4s3~!hEl)Yb!6G?*GOjn4CZ@@8NXi>let*4 zyTB^`k3N;nA%5aY9YP-pm)waC{Qdxvcc8+}iPa;PMu%(UsEzv+Cj5yX<=FI;+v1Hp z|Mw~rvk9%SI4`#2gPTbLkrh;nwS!)Hb-OJAUu`!Cxst!ct>U?a$^{xAWIl z%@bq3r5e~%bJhvm(Iw5BHLw`k4zBQ(wE3Yv^0t@4X+Z~tcEtedXi6Xhj~j8Qi%ChLdRySEMiFM&Bnfq$KZ!6;4mWh0Oi!k8DmX9w(fNHK>44#U zn!yg>LJvPb>mBbu?$=U{yNwn$4#*GPf`<}M=gj?j-|Hl=DZZWY%bVC+{!Y9yY+(FVu$b@; zdC&y21LhA`pb+vk3|_ z)ZpRjAkl0v{_@x+D2hL0W#D^qyF`i2w^$|mHlxPX7fcfwR6lF%VEFloo!FFqWD#*gKO zmhUWhomVK!n;W=`*wDyUin5_-cfGU*0SpyV5S2Q`2set)BLb&YWL&6?5@#eMBE2^B zX)N2oZd&r>G@r7sob>b9;qn*@*K~1D4>p47;z6iy?$b5_dX62eJ7nD3H_$D1$~d2#{Tjz3%g@_=XT@t!Nk3< zykS~ywjC9&t68kobOh6^XiA1S@K!^cC5wEd8SHptt)hcrD{`+YX1~SRr$RK18=A&V z_yoiEUTBJ}VSf?d&@-g4h!R2C_{qeo6?1cK0Z>%X27AC_{b3q?p9haVT9fW9d zMCY{@=T3T4%)BqDH)$_Ckz-R25^RR*?v<$&a}YI~5{^$oeO_A3xKV!3DpI)|E^H1t z8}aE6XaBU~Vc&rczc3b=aPP(EEtbTNlKcceC@jupZ6ME!T6(R;y4V+ok@@J{+P3ll zUING`NilF>3zlk;s=63dig{>)+ytz`%+LDZl~zii2Q{21=>}ou%gK)U#E3@|13RwO zCq3N;9BR$Jrcjw?0C$bu`Qa8$qe6gxQ+jH;^7GCVc?_U90uEYIF?r;$mdz&4jM$ml z&%0!n6G`XRMZeKI^Jc(bu`{QSw7iEHRri-M_G4XqiXFJiK$Myw{5vQsbi>vy&90YA zx4kLAT5Q*9uho=zJPa5f^v-)MC-ih9(~4~`6|9rhcFoyQltlxM<7gGmjt6oFeOM)( zRn_CfZaZygkGlvEhYZkRm@z7EzsSeHKbzpAZ)#<0g`FdI1?Le9H++{7&L(605>*c- zOKtXkGt#I1^g4LuZEsNu+_*OKs_UC6!_{X~WffIPKXu#QDlj{lxp@ZI>s=^VYS}px zkbP5%-#-tD^f=AhJ(Um0C^B2tGW$K@RZ-Ih4U#NX_FX9Ye7@_wZ3zw{Vj4k!@x4_+ zk)O=pl+Mj8v&Jl%+*yefCnUbzdGK8@E1^78lK>AY0U6d!(+o@&`5s`2uH^zj;VXJ{ zM+3YCU*OMET)Yt7gWqHNdw~OacY-&iy_bNZ<+k0w%9L~YE4L;Nt)$Pm&IVm|n?i20 zTsX>pJHz%2`!-iZq%pxuo-Pxn)fcM!@d{t{AV53a=;>!MjsE;MY2Kjc)o}0acgF_V z#D#*6h27G%kLZ zqFRL?2Of?>L0O_>A8jEvo1dE&Nnx!Tzc-02nSA>Mb2{RN<7+q(K7>_5W4=#ei!{wc zg?;+d`C{eOGZ+q%qly}LaHH+`zUcnkT)S=nb#<(5<{>aH{D)IWoSke&W{@fgLeyz_ zYi^o$lok)X2>yBQzkuuMW04r`4j1Q{pn`af(&pV{*P zEt8cG^!{zZP4MChEfJJ<&!($ix=yK(cgEeE^GPzd&-vbsnL~>yFFv{kauW!#H9fk}CHym_dXoteQT_)l!+hE{f76`e%2D6)jd z`8c!*UrOq(y=@k6oxiM^iY@D)E1vIzN}lr$@wGP;NjA|uyOCEYS<+)4f@^}DSuo4} zB|L$e$ygglWa8M-M(IW+W>Jlh6Q>P5+q>bF*;W0b96wDpwT{V=o)Rol{X_(m-dLqB zk`svlby(kxX1}KVE&fzsQ<3))MapYZe!c?H;<2v1crLd3v(9}Xg3OWw!+X1?@<%jk z!K*wqwEO(#T?F+#9!CWf?>GhKKAbM^ueJE zJc(qN!Gf%qivPH;#ipXp9a8Md9JK~CPpfgow6T-Iw@hT1ss(xQ|N$`3phoVnCqzYREGXnhQN3$R=67lfDXyVzZ>)KcC zR03Lg&q6Db9Re9P%E@}{wxoaP)KX}OsmU@1?>Z?2eR<VRH~Q=)NmLF7FBcTaAMqtcYVb2L z>3(8-ecPE!11}hJ^S4_aTmU<5>|lrTPpPYS$R9xxp7GcuB+H3pEduDh_*>$7*iEdW z7%k44{{=S51hHL>Hq4s1aDI~k=yJQJ**u7{qn?wRJ@Jq?q~kP`@F}5)J5^6)vrvqt zSe<)-%f>2m2_o0;DR7mUTye|~Nf*DEJz@YXs~?gl(eOS)D62zi?)4mh(BIsP(q*-? z?Tz3UuEyG7!`32v2a`qCB9F}uq=It&%qnXijkWftu*LJz?)85X1K4Z#t68~5FZ==W zB#2fRT&Ea&tG5X#O{>`bCGxtj{l%zm(=$ z5<|-iD#y1Ht55=0jU7h(M)Lfj(SX+;pDo(A3f}FW3b(V6ge?86$*)cKw#V!ST5bCx<4hj3%@G}< zU7zDl?Kk5a6<#?Jm(8jQSy}S9l?&Rw+SB*dP7?hvTyHfT!iHyPebI^c0-B8OdZ-y@a;F-s-Iv?m zP~YAGMUvVea`Fs{auyUXTJ+$G>84r&i@4zuN6eB~=4vv_|9E&IjLxp}U?|8j`%W4-R%I>yFFaz>fM~ zx3y7CaNs;VFOD9ED`d$`W!1Zg|Jh7gw2y}+E1fvah?SW4W~heo`wQTXOHHAQgyK7+ zM0K~H0!nQE1V}seei)K)T8n#9jcucw8~^J3tF&%k2v*UkM-wj`vXFwAHlbvIjIoiu zPklUD1KGb2WlUx*oFeQfshM65e#@pG4jTB$&>%$dcR>e z5H>lo19O~Cg|QvN45jEf?52F@l6S#%zCockY!gwq&AJhd<^3oDniPW&XJ|6sZC)^P z)OaqxNT%mW$2C(eEe9)|0#ycw44c8n`_#_`h?zb!TQ~e(yB*8eumxCQD>I@Oue|tP z0WYYLbtNA15!tK}z!Lo#!S1G$7O`EzXN$X489S@|x)}t&Kk?MTrJmtN9qobG>9#|L zL5qPx`3lE0+a?2c99>YPBxtlu8Mt5HCQ$za8~B{ZtEQR1B)bcmE%H|7{5? z(rwhG#scOw=mMAGO;5+F*`DX#RM$=0Hd=&x>aY8tMt!#2UBwS%_f4xi#J_@kR-_>< zQtKgBP6;1dc#6<$e*>N}T-No&3MlGRzqRt2`0RbBJec>*C)(6`Jr$_J#B!5K!{$V-xk_%st%4Nc>mi`DlczqF$7bf&0@V zud;l@EN=RM9bdgW|BE2vAFRGxHmB7`59c5NOgzD6&__|s?Xolx;+r{}7vpGkRT$eF z12}h@#)EMNu(t|CB_743+#=wBiSx#Ze9JR6i*`Nfg;5UlI3Q3y&xi|k@uxd-%qC}Y zM$mxNP;v_MU&!Xyko;OU;XH(2ntZsJ+%NgNO5jHuSvp4FpZCXF5GKUF`@);^CD#Zo z0?A^IbYLqk|5sxiiYaPIbW#+8yroij`J2eJnj;D_Wv}cD$o@d4f}j7T&2fq>X!rj2 zSmFiStGg&laZzy&PXE`Y$4+aeNsmRM{D|$&T2>>@7YOdAO1FT%arCEf^>mZtAJl6I zKZ=g<_Qzyk7-ohUQ~$W$kF39`8X)o`20M8$~sZWub;EI(bnvHM^BkXMeDto zE8*zY&vSJleXe@d)((*RzsbSe7_!JTbgkglMb@i<)NA4dY#KdFJka{$%H2w6Ysdbt zc(f8V+LIJL8JuaOM;>aJHcHh~v4b(A*Ud8yx(AMy{_#pljh8nG^JJ%9m(+5YiC>06?PtOvL~IAa|SKXnfqe z6;pupJOJi0Raa3o3dqR^t6vA+24Z?6qDyML8 zEiN~A-{LXuNxtcH`eGqu(^)TOqY$1_sCc)(w2F|D+opv0ZjoWb!NCcq*;_YTrFw#T z|4s`o!s;!^Lq(fC6f46uA{ShRmP%A-Cc}q-!xaACEAo|PlMtN$I=PjJv;gXb;Y&d38x%+*N5(4_Ki$VFFE_;d(y+eHe z6eS;Hb^j&e<5S$l;0AsR{AWDd3QUJy(D*na@mt#|6#8KsmXQEZk;esx`Sz-j0iUo` z_`l_^qh9o05<rM|lIto2r=sC68Lt?Yw?gRQxRD@XlW&IiDPHPc4OnI$us z>63B}ke=NE&&ncaw9V07D&i-J6If4+ zncfo(4w*sce9x@^B$;f5l7FKcF8>UHF*S;gksyXdMK-ViAbTB&xkSJH-FF(X;b`lF{whRj0Y$sR5?FDN<(o-jO37QTwf3O{zn4~q{W zQo2zi3AqSoEW7b=MD58fhlKcEk+$QJ=cpiC^G1m^)Zoq|@0&TvpaN>TfDbJu#H%L> zSoy(VHTb(IF)thKp%9J)=K>0e#7Wyp>=8@`zF`S+x3kN$>+ zhNk25Y4+P6&8->dT$56Bj_FI!-CHs;y*2ckj`x?DSg%=MGeN~cE5>1#1yEv6%#c7) z|Hkd@t@-d;48hH-YII%kYhs|H;W&R zi}^lcHoggp(Wd~GR8}L|g29?f=uq)L3!$OjA@nVH;Li21pAl`4R*YgW%;0>2ueE*B z)jhk~O8IOM-9v{p0iAjY1X`g`7Z(QHoJs3-lZngRAjI0Ze@u^IuZ&%VhfmbU5??N9 z8WKxOT&r)c1+X)mYdq|C?fz*$GZWg2?%wIkLy=osQwrnd=|jP)%5+rF-TijGboE)~ zq)%ql=zHuE3>aPFfvROR(8^y4Z;mKaW1mGn zw|T!j_-1fB^+wseJ}TAQY#>^dQo-StNon=%aTPhx`pPi5^m~r$@LqfJ0KxI=3UPw5 zr-2g}1;5S2WYrZDYDaxv!q+Gp1eBN9Vh@hxxK;6kdOI91pKsCi%2(Ib8Foao5GX0+ zgU^~C{rUU!eFWiEs{RD+)FobNAH2n%nGVhOuDw1q#0O{$o4i!4lD7^i;vTmAD~uKn=u-@o5wXp7|jzGxd4^bZe0 z&pSpL-PH3kQNv0M8ncx3qmD^`?)5~IVqa61>LF+p%;nscus^7IUFo0R#!~Z}_gxc* zBy$B<4*qic-hM=1G26t`+c|fW8=?9>P0oq!UTd>slpKeWF{5^R@%m0vhXx`BF=kHB2qdzS5WJXR!YWNP+ zR&<`@xEJH|^Yi{UH#gRGdZfgI8t+}!6V?K_4gB#)h7!Opk?<-q>YM=)%GLb*{Qh)F zkGH@#oYoh_+eFByWXgCrBZdq;hRm|e25+!lv&7A*Y3 zgDyXmlEq@EZco?7oZ2VAay@pdV%D*}5A|K8j-!|!;w^#k_isE8-bIOVg8~w4eY#`b zym^xmtBLr*WzTdpsVo20&RYmm!vs;1RJE$xs5@f9t z)QEgGi%z@m1Ji>jq(9FQ)AtGFayGKF!|lAaOL#_nv|&tv`G)y>yN`P8K_$ikoM6;Q zzEnEgv{t{4+6(Muy@8P{ynjo!w*C;(`DZl{eHz?EA#v^H;ZJ??;aK^Q8nvp;l9R;p zP=Xam38(qz;b4*O<(8{DFcx>D(|-3Zn`?iqK_|#bcDL_*e^_3~VU};%z9%Xe1kV0y zFzt{OL=H$?D~)a(EW`^lx)~9zMAFpFnXf*Pt3%Ih@TbSzPr7;^B~PM(V8QHO6&+(S z=o@>}-DWfzUH|hqak7qJj|lk**iQU1PKEv(!U^}6t=#l!`W-FamFAE>P46a+d-h!} zN?s9+s3i|kwjA{qA#TY22j+ig_IR25wrtk9W5*jIe9sHlJvh|wI{V^DMeAa{L*rs^ zvZP~R6nv)@kE8OyEA{HOw?4#%F`OB=4sbK#sm6_Qbn;S~m67eF03xUlK-=z1Ke!PF zHNwG}$RE{NcISl_`};aANA}W&jobQRWLuBp?f<_e?N9xpy5w!Jy#Lst2+0}HWm#!2q4 z31J@XliDo#p3zFRGXB1S$ClZ?zdS9`O9A}>agBl};`zIzq?QeQC*qlmZ`!Qd7X>UA z*n!3`<02W^k0lw>Hr7^*qcZYO0o>3OckxyA@CVZOdYM`=54~aR0JZusH@V};)|P?$ zW^b~vKtt7-?#xP2Z1{eUOhJ_VFWPj9oL+f_KUGKo>Lt$~-mc#;w39kYb))84Ezi~? zBvC3=nBsXWFnv$LtjOf-_@eB$cds_ABjGu+JVwu%ab#Xfv>Nw>ExbzKTH4|uYjBlgTTXtLCP z{D#%a)Ky(wgJ)3#Af zL)t`03;%$Z?tCX8#XTtY=4|%?(?}E7U-0SBB~sm02hEc!YOzhLrXL zV##MPDD0!8JYi(OXCXfFoGo>5=aaQaY*pQu3mdE)%)hnu zK~N%Mva4(Twa6Y36f-$k>f!f_EBa3D~uTr(O z=<+2VKs--Ch$yHMo0sK;F`IIMb5yKKKRIoE5m@Wcy{5=QC-zr_b$ENqIjXz>D{L{7 zf!sVSMP6CvJCviAFX9f;8@FQ(u!xMB5rof(3fN9Zy0v|pgs(7Ia54kpRFF7g{6w;^ z;W*Co>yP+>4i?mw$arYWvf4zzx%$a*b4?$nz*9Z0L;M!?u|1>paqINr$^qWgk=9Ri z<*WQB?v#|S^7HXd=eK)sdL{Yf>TQcDYO}(=-9yPWVjYIr#^sR2_D=W}XJu5}mxiKb*8+(C}m{I1cDE*-H04h*pqfL;~9|`@gx- z@zrjgaUfDGM=t z6fu2t>*(O@zn793z1qQ>MG3{|TD_5L&S2E_(|weG{F=JmU;n&kIJ#`1C$CfGkQ~^# zdD=TA7$diuwt3wwUIi-q9Ox`2cDsj`87E7f2j0vES@3`mA?FCBdNb=nQhDoP z)DI1Pj&hICUl-gwlZXp#2K0JBE@(g+Dj7R~kO`*%?j3Ap!*%*{wUnuq)O#`CQA{pU zO*$cKwAd`S$!5q0{c|_hAF2y3LC{5d?+=A7>xVA;=E{bOCz0Ow;ZNH>?T7oOd&?Yl z%*rnrys@lavb!3-mNgs{BRq&?@v%88S~I(u8>U*kSkdbc z24smZ-`Q!cwb-Lcf6567sZgJXw*M5DbF78%&s zL+uYg7ihEGgTQ@M>a?08b508hP4bz`EtY=`kl5QNBvO%A>U){agbGs-e3{3fG2^8E zQ}*=H(ZCL;TO4-avF)6N@IM$B1gq-p5c#PA2D0A9hCF$X1EUxF`eseeDl~X02n~W_ zpFBOytrEJOY!tzO$N)kL0J&VuNdv`N)ILppl?3*7l}rN~vlpNtjD75TROe|r9;q?B zfj0!Mw`?60iL$+Wd%@YyUw+@ z?I4rfZ#8M-f%*BXpD)OO5E-l=UvZc^Dd84A^!^O2id>)-w|Yk_qEOtO>5WxKhjd6{ zBVC|Lu-gw!<$LbsAqH=^&>p;xKWzODqM6Q*Y&T^4v;⁢FCIKdFmP;yZJ^%uh4Vn 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
VbqYmZjp5EB^4zYuw*#fJzJ!i#8~$g^ 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

  • Z=@_gtErMq4hAxL8tz@UY)i*rRH1VxhvoJZICcoeN%G%uGdiqDzQ2>Fp423p zI(@B0iwBO{pW2qn8i+<`EhEwps;3`cd^z&P4AI$^+bKsTE9I#xEzHhK7Z8#pz`^&g$_=%MU zsAkvAzihB76iDJ8{k{Eb!u+JJBlR z?9z7im->HJytMdF%WoZ)p#pOl&c6Ex#;Pz}%J&635-vSzc-`dY&3Z9)Lp>%#?wRLR zWiU{&tnWUAH8u4WcTDpMFDppO^p&3dtLIvmW-uz*BLT-Pzu8+weO3ouIlhlVh zZ5>lzd{ac>%8L8J-)b;T)R}O6s4y4=`84)Z7sZBwJ+B8#b;Crxi-$>NjRA>Z=vnD) zPA~VZ{H~6kxG*oJESi}GZOXclf%g~L=Gcp>oD1wSQAQ=ENS$509!imgq6?K`>97D= z_UDyO+aW=W{G7kzXm4WC%5YTgLeC)Bb2yB$@e73`<*)xR-(AUzFJ1;Fz5moHg|3qq z;wk?Z#8C8HoaC1?e!r$d!?xt^1um=b8)@+*3^OiKJ^Q-kJXp4zrdd9=@YO{>_L5x1 zUbqB|ki#)?llynNEKGuCD8UDTNbu|Z$cx5fEZsYlzxqPbd1crPvCRxMOU=HWZ7CvF z^D_JSV3^J}BiIu2CplH(+iixgM+YFIhvd)s1Z2X{;N07aTIKu1mgG0xjUsR5WGnEJ zPTtDtk_pJ?99actA5-K=%mh=e5e2HH$~&yah(}wA8T5Ly`(2UZm1Sj)UsSYv-&Vp* zqHaX=I_3ZLbmy{CxXl*DL_Sg#J`1{vX?2YZJ4g~C(nPADOY<1D5oK6$$w)YE*8Tko zyMyir`Y=6PkCW>IzvI3LeDbLh$Wpi`(V^5j0d0UJ_|n80J}r6lsTtLV4`Gs$l8CW9 z5tM$g|3O#A+>*R;-|D(X<9{9O^I~0=h<=bjo)a=3iV_`z#rt?kT({K)yRNbs4v*)^ zIsnC06+PJ=;z>(}Tzi==*O?OXtI%Kaa^@Ck`K=Y1a--`Vlw-KHCRb!;Y&T<)B4MZV zN6*nRGueRnvcc=CdJl4Vv^{rzpQE~E`B6@1DY ziIY2wyK_q%`&PeZm&t$QLYm`2VR}wHjQPOAT6fX%qoZ9?W3t~#k#}}Z2I1Vj@dZcx z7Z{pf88Kzt3G;TNDn|Y8$t0l+6T}5eZ29@Li+4E9vDGaGDX5L#B`|USPH^PVuthrP zN(p+N{l(H|U~-Rxj8BqItutj&!P(UZnhbk1nR1=3=y%n7hD!`t^ra?+s<^z7)FPx1F@T}H;O){Y z!w~*huwkyN;F^cr9_dy>0`{x*H!`S)3o$hzeF8$DvD(|IMGphkT!H^WeQ{CxWL9=HTU}_c{&zF zchtn@E&x$alS>lNb{UuccCt$#)$W_Cg{%n!*;!grh@)v%k)j{p@%^Y^P(4WST!1SBA`B~Ds z&-=E@SN`E|#!(heRufk-3*ARnr?%^zaK;6p67%+F#zffV<)zb^&EpUI>w2P=dkSjz zI=2|A28|+jivV=0Yr49pKrlKICE1OcHW@V=D0fIS_RjC})N{sJ3;W&O3zsq+g0Ui> z%s@3!-Sc-&Ulmua(}wF_xPOdi)DW^ERKHa<=pDFxtbTp`ASbMQf>C5dn(Ug)Hx9KD zQ5TUPU!C*B{yUa=?r=l2lwE)gx_!P>#8Sl#xTvZ&N?4k6IBI!3X;JCqO-UVtooe>5 zjF5+3oL3nhXP(L#z0T{)!FtaiBZuo5H6KUPIq)<}`(d$DP-BOR>4_*dBa8J^h;L>* zOdCRBH&cddU9Qg4a``8Z5wc5melQ%f|2T^AbmtE?0;~t(&4S!MahC9ICaPL-_Qn2Bk|re!(- z(=k%^YQVYZu#2Gskw=;M%xp?2{#OzPl>TRl9eF%-wHx2bw?BEufN_0j2x=uWdNXG5 zYF%NO0k^x^FXzDI-Gk>_OeOB`h`MR7Lb!e5-h>$@Xl8bWH_mj&+74+_fQh8u#F#E8 zT=|N;BwcVTcQz1XIo=9m{m>J?5Q?HjMITu&z`@{ojn`gU8&+#+*q&$+4Zqn+;nTgW z!BaQiZ_8M@;vLBQKxrE%W@i?SY_DUu=5+n_+rutisuwa2g;SQoRBH%d0bAX$CxIy< zOVx~=TOGM=dngKhS>i;ppSUoI=0_+xKp!h;XHwl4ehrzK5K3;t>$r~K5V*@TwA|kP zF(yz;WZB6Lq>&N>n%(KARipu0Bvh7SM2IPa1UuUmQxG9`hob8#*H8SXL-6F*-iB zuV+abD@5!r-nw9N&SfKO)J)N%99yjZ`28Y$M>@R{cG;w{m!qLxqgZMCCb!)2w0+Fm zI$SH|OBRZKIeU!FQxJD4$Kp?xAnGu$ozq$wzO}fjPHH7~@^Vi=UR7J4c>~zn$tG%sG_jS)pHH`9?*- z8ZHP-s$+Ar8XblUjc_^{{f@CP+qQf8tk9;X_4bo-M<>_3Q=Rjgj(;AhWU2x}xb(|Y z`>ibZs2$x+=I4WG>aM|2gzjhFzWZv+tR}~{@u!=7*lkEt{`SDx1>L6%wH>Oh;9dNm zE%mg$=TH}m7fF8Dhj5zEqYwQb(e-@f?Ds9>(Zc;?2s?@K*yc!Sw(a~$&eP`>eqJeo zh?mU$bcr3AlEO|5W)$0M>`qX$pPpj8AqQ+$*LU!y72@6Jjf2;(C`l%fdrdhH-DVt8Ag`a4Y}_R1uGymyYq+6 zfdVM@wH%cwMpZ+b&C|M(oa1gutEG^Udh1~gmfY<(o?Bx_QhIG!RARvd419kc;4Y-% z!*%gM7@6iNhR|>=C;e&7&=O1V6%qVO*L`_=5xAxJns>#d1N&6khyFtBAWAH~i4GVh z(OCd&Pnw4I2AEtUJ4P!7cn6WJ1W*bVS(LZZkDAb-@)TQ_{JC}UzO~+$;a%4pD8O*BvTLm0UV z++*O_E#_Ct<)yBgt*#vm2vXqo=Qf4!jTY2;+L*kEkYdu_RC)16kGY41sl4BGL{&x| z^7{QXlSxYD&oAbg8(6A7$WRKF#t6H}q!d7GSQYY^yOAY6`!fO(pla7wtCgQt%lPb> zKM5^Tc_X^AFD9L)wODBGggs}hPWg>r6dOXLf-^rurHs|3dyx-Z9_rk=Oif^GZKp$M z7Ho15msVfC`@Gg~f&s@vhJ|S3hTjee)8il^WrBnn4V{PHi<~pk6qd@h>WuH{Upp)W ze~kH@0lPr%J2?6qbKhyHmr}7ITc@M z4?X18YKWG*YsO{R2tuD}k)M$krg$YI=Qzz|rL(&51DEu@yQ^3N+uQ>ds2eAxoS>W@ zWU@KyuYF>aX8|~T&;4RQZa+-w_-zb&(Kz_*iuEy__xw5VWf@h3I>~zxUxwS+vJ;QW z13he4nR&XZVvOJXbO6sCt&ooRc4D_jeqV**qWhpoWYle&=iu3Wb1A|Q z*E~unGXVsV!;++ptv24cWTgi2M^G+0+UHJXbFX!aeBMNbQ?*!`2Vb&}O^l|*r0*kc zVjC-xVf}dd65x!iOg;&~nm~uqDJ2(fM+n&k{~j>Uydp6ki@^emRXnSz#--^ZnHqdx za5oe@7xceo=#f)Gwf4b{`n;R-c)6S=-NL%&fPYZI{-KHSY%}nvBHG=;A0hA!vN_h2 zrtTcaUXWXbE#{4KJ5P=s)$-BJMOJ?f)`kwFW>yu$ywk;{oiwo5SE4YJV>qt+=gY@u z?C~?dp`gQlMFgCcxAqcEKw?pdMB*DF1Oft;{sEh`g2S>wccV`HPP^HsB8ADs%Zk2k z@H(I4OuEj?X4*jXVAUK)3(rNt#(EZSCWR(XX%w=$V)NuisAkHoWHl3WTy_c4u+#>| zV&P7dC)u6kRKvdRs}$_+!pT$$Qp*xgsi>ykOUa+fBLwoiJ_jea#Om7Vma-J*S^%7r?uU4~qeB-#Harm^z!RTzjvcL4S+ zd8EAGxzZ%q<@>ZH{?b>fS79ieGH3(taI6Cz=f-FmkC=^b>CvXnEvO-}Djjo)5h~s3 zv@+KTvYU{-h^tw^{}POOWIjg6m6P=Y(58^x9(HpHCcZ}e*>R|TBl&9y2UyT%O>fxF z$?y7l{R|6WWwS;EbH7aZkb&H+5(|*gx-WGO$uhGJW5LuwqMN22X=T;& z#&Yl!qBT4AO)J*S7hNWaWziG0+kN%;w>dmH2r{9Uo}|qqxP%P5q^jZ}lnALB3WEg; zoSs66aQ8m8PtMu;A#;+F*$r+fjqxLq6Wh_PQ(!S|L3%h9W)tq9aQ$Vd%K^uyNX4wR z=UUHW^SP%p+C1^pCXVB3TNaw(ETbDc!u>shK*Z(qWVNh5jb#Emkx!TcWnguAhfxqB zpfgtOizg4fUNj2_a02XDcU@vpRfidu-{RB5{c=sxLjughiF&;1bawm_hIJ;TQIB>l zx!th3TLOFYyG*j-+8Pbh35=_QDK8F1Ew$=>#wv>2noigF68&N)RtsA96wsk|(RT|m z$1K>U_Sy&`3_m0V%Hrh%i2EXEsb&t%R);#Bz_z6P@-8JPnJUxn;Zaq{qIf{u?T0+Y z@-b?f(&>G}u~ce+lGsihFwwsNQ%|GsQ00)R=ymBP`iZ?e<3+9twZ`$D9;Ioh6o@_}?qOWit2b0Ei25?!6hR(Cxs zf|+oBdU~3Q1+=FmKb27D4t?;gdy0o@8xA;(v}D-@4y3Y9ui;QCk)RBzhZ6w!bip2| zEN<~x%WZF6JWoeg1zQ78_zbyx*sQJ#R6UN@L{ys84_oadhXC{_jhvjY7{x~OSm5>C z-p`Z=ZnYu)(MBU$(4H_N9+0foC*Fh$%(m1kZ}E;p=lBCELRL2QX1{#!?q_)i2f{Tx z7WwFo1|W7buw>kd+bCC4a$bFzsYy2?0Z@r&URY@106HQsOn#GBGJ|rQCm4dolPBDj ze?PcUF$H_=51ASW8YKC}2x!1S$0%Rgbq8us@ej;)x++^{z2=g_0I>&z7t-W@Oz$Fy zZ!?Pa1XG?SUVFgtBc7lM!dBcv^LfO#3iBQm{MoS~SEzfmpi&V33oI6$4+0uxXN@|Z zlz8}1uEsqo2G42Ewaa2Eq2;$U^)HU#ytbKFa$u}`)Bzef)$cl=g$lfk>XiYO62Z?G zqWf=r2-LbmM&fjE@gR2oeD|2A#(dIOooK#GFygfq)?rFhyI%e&AN89NO$mRbt;GHq z1_d|A;k$?N!YJqk2WH1g3ext;W~W}U!ye_$tb{xspx<0P-An%~9DQ(B8rZfYGoCAS z9-9}b*qz`0RcHi{1E?DQlt%iLvwh!%cCtGh!k7)0zE19<$4kQx4CktFrx0q}8x7ua zBO9keC?tOwEd<07wP<#=4%zz6>Q8_`r8gpamdcM!r9LK0v zJ6yHy0NHm2+ZY)_?#W!FQ-pxIj-$|k26#ZPK`Z#{XhUAf+Ye(t?W-ny7c>$s{Ci@i z=22{0#acX7TTnYPT_?CAVuKJ`BH6fUHUf8yTbG5jn{VW3`;wm1zQGsa!tODj+Ebj5 z)u;3b1V~>#^*rW%j+k5Sk;qodMVcVTrqBBY2Gia)WYxT_jAZ2;*8Dj}@6tjN)m=PJ zdlVeO(re)8(r=E+VUq-UqwFx*UTi!#rM_P_!J193Ey-+q-^2Lj~EYq*P>AP<4 z26kP{ujBe!w(@&tj7&8dYMc-0!e;yQJ;{drP|Ax+^>T6LLto3ptuKJ-KD`wuy=mbU zth6KYjx*93mFkbHfQP;l!!|vpQ)OQ4r;g8t_rCnHT_HJsu~sjnVaPqo1AX07!w5%H zAj{Ll0PVgXoNqF!!os=bM8+yaOoWUZJw*(8=K|m^#;OqBVD((Nfbxs%Dj5VXsVjOA zf$iI^FUxE;KH-o?Z`5(x(T8QTAJ@KyZernlZ)|2BK8ZHi5wpG&19#)DjL-W6s`W|U z^WJWX3A3PxZHO<`A%X-0DscR2$(>hRN0(tKkzp-=lc#k_v7?|62N0td<3$BBrpXy3 zZHHBmZqnkR!B98QW(Ls|XXjs9hZYvhjh&F6cMjL!Y9i|wEoTyuu1HylkYT#81|u_Z z;7U?%OkAHTcEDJCbMvowEJnXL{`YC=Uc)Gvl{;54N@vLcdXUDP#a?v?RqoM0qQnf? za9*X`k>}Xs_~*WD!v$FcGr7*miFe-0F;K0+YRmCMYCtRml!&rV_`Q=6>aqFMM3#m4 zHA#mIzDAW?9mb0pAzutA;l1#kck%YlHrLj_Gm5%cSv&|Q0IEyBO)O8l+lrlP$dgiWxZhCNaOATBOqsR%Tn z+fpG#1i@(&8H}bjX#NfvF7jJl@xY?~{@9_J7oU^g&7xHamI+0sB15z)20bukjzGyr ziBFk}bXdekd8lJQpOmsgK!%*43TsoNC9JV5X1U?=Ek*%4fHgmUhxXWHRXo7-=@i9D zL}`8NK~7J~z1H6tq@-~w_NcU*>(3T5ro3~+j@Cj1@>|BQ`POsGf9-w1c7)}ej5`FbP} z6bDobypG~CWXeI-LRQa@OTx#Fjp_Q8Y#Al8sryvZfL!Ka7`|Ootpx}3d;=VA*R}W2 z*r*y$E_`cX@@`GX*K-4e9iycxY91V**e zP7{;7C%aW3+PK*i6^#eR9p=DjQB0|NQMlFnxFvq$;QRdlX+NqmM`zajXEYGK*& z_4wto!19x9ymlF%VJG9kCP>E)+?}UX5*5O&$o9%tuv*Ynw^W!L0$@aeGKb03_BP$H z?w6GTkLo9e`(bC3V0XsknoYFs2U#!#fY`OBD6;o(f3&`AjPqV;e}xz<)t^9n3+~75 zXdDe_C3Z}S)fWzzXg0#4gzt-}sRDM^B2;eEpm8y^A%Agxn%7-v&g-S0`a*j`=5Y@<@@7!^@*cj-j3RfvMzxlWa)!yU%Qnox;S zuG!_I?P}|2Y0FV2xU^~XJZwN zQhDsXWI%Yq-r^s$_{mDEy@Z)2jX5JnDzVE5DS`0`#%+!v+dCbebFQ2_gNx52!PwnC z2N2X9KY=}3S_hv65wSb2-LV~7REQXLwMJr)(mT++V|ysv8h1#&SpXS1P~9Uk9@>I>7yh-S6RgmF7|NLc6VdVj@|$<5(b0FH9*L-WiMKQk9YjNJxhNVHgeuCsqikgHe+G+DvbxjXO`5q2NiD)yR7mLYJDnH~@Pwl^ z{V(mF68qm$Ne~HN)FXelZl8*2SYsWaMy;-{u6shAoSgi;57zPi(}sGQf94X-o_~Cv zO4R%Ob)}+dtwK@R|1_+d<=^o{CD>qoQoT~R)t=8XeV3{1*D%i}fMfBW)^C*jQ>yyM z!tyfN`pQa1)xEntt;Ts1x@gi@m&(tvP&6@h>ahO{Awk~0fIuJ+2m}Iwz^V`gK;S`$ z_~)mCE$iy|ld7CQMp-Wxp7O6sKh8O%fIjogdH~$q-279IEg2AX7zhLcfj}S-cnSmo z5V#jqN!r`n`?OMUe(~-L#peF#ia7@XfGtP>o{RFnKWuqh<=-gzX&-GLTWi&~1Oe+v ziGUyh0)cL{jf2r=0)fEL&?UQB#5fjM1%dzwEDR2ARC1t*LWzMwQ%Zss1KeV0b3vDT z>T<`imVK0We=MT-SND$d_7n4tapQPz|IPGvMv6h{XWg)_ED;bSKp-$fNqE+N=*=_H zcLIUHs<5ci?Lwhs+Vmp^B@2M3xges*3W!yoE4ph>vITdi=pIxj&ikb=vuZB zUw%KdDgRdSSEavd`@gTB*}dxr9zXd;r-iaL25gvKtUR7!k$*Wuw| zZxWSR#6TPvIqC1K6Gcbm%GCR0TDX`9u7jMuU6 zg#~Cbzi*i|4^jZfmC##XpG+n-Q2>wx z00Drlk^tcauzYxR-4~%qJ|5copj~Oh)|(yIaxRqL_^ctLqwbc7F1btHZ9T$kUJuf?F2|JqyAls{4O0N6G|%-RwF zeFwo3G0^1#5|-0>Sb@!Y0O-A{jH+;^=VX5?-Jh%=#iV{bS1FlaaUYWgjyXWFUFWj@ zy$)PF&#e`}HoaWCP*Oa!4VT>gq5K2K$H%pj4}~8e0E+(6(NTRr?!mRo%gg#42mt^@ zKzIQ>F6iY^3hi)KYiNWq1tIe|@aB?yzCn0$KMT(P%;$fv;WL1>;>4KuIPkot+JL%3 z-B@{m`%y3bv8cBUf%5kfXj&p*+v|emi*o4lY$@dmvU0Gk6D{vbVSRITb@jJ=zLwi) zxQV*y2c6?JH&ZER6X5A1Bxbfr4qH0{pe^R6v_5y6yT4UVOP1+PZUlYcS^x9-Pe=kV zR$ZU7R%yo*pw%N_Q_I~WurML;zoT5M<1f6n+m;O*gO?Hl8WzA~+26>rZG)G?0$WVn zjmbk4|GnK&vg|8fzI@qG>Q(6{ru#2bFa1W?vD@|M|3Oq1lSqz{iADB1t6U*oNE?^|+Y(<@MF%JH5_v4kRi1l3La_U5I-M zc>PI9=#rs@^{M09HY+z)vF!8Ty*xFZoNMc*M7refb>*~esf$H(CJ?sVS>~m2t3=8i z9v*%=nM@kVfzd}$x7gac+m?Fi3(t6l{WdwS4am=AWoDg2Hg(=#TLPdj1E*kR(nZHn z{=+@J04o64<N%tT6~Ol<-{4r&;*kbxdbB+qdl zTMTHb$fRdN_?ojif_T|KIQ$xARw?FhV3~)~e{(xcvHpnP$A@nJi1)AFJ0URiJu-DK>*wzsORE}4aQ24JZSb0zPh=d z5in|Lw&dA1SOoguzQVJj4*_6T*El?wk#H9m7e82!0M=6$o*Tkj)Y-$(mMg`=D5|xA zX4?pWuAEeDMyb*>c{{f{4bOY`6ShBive!1uIbExbX#Nm;jldYCxtPrRXXDuZo%f~! zG8>eC?1KQ%x=;cD#~}xl;mLBGJ1`%V6o1Yk%+ZA8%mhh*AOHr6k^rBt)dQhbM%5~+ z&v?m%f&`d{=Q6!(mPI=_Jo<}OMD-okGHr=~Qb@)omc3^I%jd^R2BdRYneSpU;hK)Y z4EI)wDqPEca9o+@RtngL38srQWVv(VpweHJP1?eZpB?}p0iHj9Uc3K8;fI0`Mc?A^ z_0i7c?Pc0t{{4R&*YJEB0g&Duip#<%DgP7>Q19p;ybhAbf@7D)V{VgMUBZ9aAps7L zj=#N{Tz+Fcn>JbD?CK|)BcadxEa^f50sThDHSarR+?tcG)Ht&ZWLaCisN7|j=T&kA z$0+loqoe-^$M81dGc@3&_f+E;WikcEH5dy%oSvmIOl4p^Gr7F@vxdxUY9DzBJa1&H zi`4sh9vS5%%rxSF0H84jU_H^Z%#r|`+Ar3I0BDOD)XGoCqBL1W)LQ&YvFct}z_xZq z8%Il5T1^57P_S+js?&85tbuLv#As7Sl>mVIKek|tApmnA)9mv3`LyN0c7Ac0tk)m_ za9kn*h)uV~l;S4U>c}vbw4aFP9BnYOviDn z%vj5RB^-a1uc!MtuAwg?cLoUng7ry|0Lb6F(ZX8^eLXa6nUoYH&+Xstd#J|DKUbge z>FMb=IJRB@-1mOVI--;uv2Q==c=ufHlG@@~jcY3JVoQPyoGk6 zPzTKJpUzj42rd7>)%av*e|oYrKFO2G*^D^&vO501=NI*FQgYz>{KuWQlPmZ$r(+6i zRsH>#w?AyMK(;KDLX$WzAhbj8fARdJ@x1L%OwdSF!dgQZgm5S>nj2pyU4k>udoIVN zV@uj+LK&VJpR$ixfvr;P8^4S7#_JgO;8IKB-CA$*xs9!_Wrk(Qal;!;&y}8K|D!Pg z^#}rhbBxWgu_<*^ns4;n1K-~Wxl9B=!Ogr2nAaeeQQ0v>z(%?}mvV<$Vg*WlHI96z z_j=Fq81oCm1pzAl9KW33F-HKIsNz+elz~=o9m=1kCvO&iH~k0tOrn&$RRY z`}ec+tQR%NaJz~1ur>sMTK=t&m-fwI2<0EpwYrrI@Lbfn-{KXpRU|-3`RDQ_^tRyr zm{{x*Xn@94+b{v^Ze=|IHpv^HL;#optroUky?XV=#+gGw(S&riyxG=qj^)j341sa- z0=Vs4u`Xo{c;##rf1c0x_aXoYtN=h@Qc2G|-`g4Qy-Fki2moxMYJQ)|0QC;QBt!J=LDdAbHNM*s!1EHrOT z8GHSvk2QGeB#5(P9p(cF!4#TVFUX;REj}36)C;Hf;K<`6u3ubSC^@qg1i*d6GV;BR zHR5;8Dl{r<>Gjfgs0;LXJWg}``T2Px6s_cTj_tbEj~60ISj(|_?h|YH;CWjw=6XZ! zVt7m&V2OqzM0w%t{GvesP}bVSPyh|NBs>Bj$M%nDg}2vB^`PE@+}1gPvIhW-G)V^$ zd5zaeG;@B**M7U*vgC{&N^)~4<{xsKhHPRV^@7CB@2XmTRn_P_p|{|b34$4Oh0M9b*yjTR_~Hsv4Nbj@+K;Xr3$ zJuwtY1e8Jpyz;M~UxRumS<;jMpuojRr4piQg&u7fg7MkeSt?)K#sRzBoY%%R1V9sE zdNG3hjl4H+2V2%9L5yYWS!cwuG9w5i@tEfUK000omKmcTyvqq>)x^4t?du;CkhFoX&Maku##|`B_6E^#m0(pFMolniq zp)TQ#u|NJ|cAP^rXmM7dKrJ-e-~~`p{;kE|bDu2<+<=#*nFN56YYHyA$+-pN9LKs$ z68w_)Ye711KWcy2l=|wc_;*?CJHEqJe)N2!9pqdLl($e&_KD|C#xnr{0{e>>FKXeS z?qIpo;W`^ds%%ueNz_3h9Ku7km~LINl(ujSEq7J^>vL7dvo1DNR!P8s3}F1GXQ{T< z0qYI0Zc0v@`+tK}F$4gBc1i-kma9Eh0w8$-WKRG>lV_3rPv;A{FH}&mM)s*V*HOjv#{oIEa({$Q2wsa8ylyf&t#_bx%R0gZ$t*@(b<{N!p`%Vf~ z+MQozj2-}x5vX5iy-Eva@7fkWEZ_IG$bJ3KNtJQ>((0}@2|Yv z+sGB3x7SKcJ|+^BsWSJPL?*o>Pbjqb1FB3i^Z%d5$MyC9_x*>)eT+r>`RaP-@M^Mi zR&|HH$z>yXV<{A=4>l#7L(yk`s1(RL1Mtn^(ayo{i~9Nf=cApI-IF?8gZMJ%ZU9m9 z{a@cE4-Mk_bh>kO`=R#IfRL6w05&=ypzTv7GMK2wsISm(DgkAg|2RS1l8;zum*0X6Hl}wASd<=BKx1K>Q?@O-cbVauz0DNbx)oR8>@R(;%Lw4TLzo$96(Q?4F;dOwr;rhD?zy>0KO9KfZ1?RCUBtIP#i7X||o zmL&h>eYNZbXn$cHcnJa5sZKnU#xYw@nZO()cM{{j^*QcqKhU;+eQ>z*T)bbt_~On; z07Vny7%k0|eOV`52?*ynetC6~udj7|^nn+$(PfN;4ya>~%EiE!mGa-r{t9#-<-4;bo9d6}YMAdUD*qOq^3UXGRGcW> zGag5m`BES$(aFil*T>_N{|^HMf7j9qU|_IyV1+ze?(Ae*b`;|N?ce?_2>=k>@WDPT z1Mtp3Y$u*gZtSplRv**}lrOJt8JmTD&%KVn{oy6BT(DhZ-*Ex#oh6vcC)=tjqZr^o zv>+iJ_8I4=_n?0Gsec>142;`!-XB{_5Pu()N`@=g|M=AK%GZ`<$@RZ}hq#Zyi^vjL znv4vSIF)~Z$~*vtpM(JRkrYs&3a7>7V5and0ORkmLL^BG{vVIvaEOj)tgE5-l{R>7 ztZjY(pj7UwOROmW|M~JoQu_H(pzd%VKOWTjkn3fw%Cj##tJ$te;78bg!*QhkIO96% z2p>R|e*&(WjMx0^v(Fl#H`a=#@86vzsGV!~`Py36Rh#mUw#b!va1FAG9TQaH;U~Yh zu_gGCq1WuMN!W_+Y$b-C(}2S5=X@#;ccgg;oA_OJG^Ds*FB`JV|oD zDx212eW~&crlWPdJS12LC7W@o-mE%DU` zj$;7B14en36OuHxJ{FM=HwlG#elBEFfpN(*Kmw49)12;HD}|dCewSTsuAXD$w|aR# z2Hk(2oB*&2zfMe6Xw^dZl>g*zc6e9uR4mcKs9+MKyskGo9IOZYV6uXHCq79Ty}J4Z z%nv@;x62M~A}j%;4V{8OiTOlXW1`1oba3)zQbr-DsdWax1oYvnB-UW%Yn; zfqkO_2%y$J9_Q_#JD7q3T6R}XET#%^_I{L;mrsEN7Rrwki?d}eF&iv&{LnGbjv@S5#UCHIn_E&DK-oix zhJu5oQSr&Y!Tled?(J(*CmyL^QvUIuHB1uoFUzr-bLxJAZB>?USmyQfGAB^(^6G)! zmMUANXL7h&NkQVAq32|rU5onYLYwggsIC8#$vMZTxw$ph3$H_;zz3FpTK`eT=ntw` z9=x87WAEntDtC6?J4*oqwx4>xc@tq|y2d<@^J&?|9h3jf0ufD*(bV${**oO!-_A zK5|_t31AgR^BaGs_h`SgZ2Iy_t{=SLtG}g0T&RM;*s<5Ino5QBqEJ`L6vyX~09V)Z zL?KrI0NMxvgaCN3_0lHD+q%+nV)=-EO+U=M8gZ`bzSYM z{(aZ)?~E$UM#rUlIoLMF*fQp3lsy1=4xl%H#zkwET8+Kgq~KX7B?riEz@{JDv&EP(C@aVS=jH)s)G|WL#wS<<_+vz$A3`?x(x^bIt|;)&RzxrQdLSm-hnjax*Aw{FzMpX^Ozu{QMM6z~1=Xb1Q{+PUNgk#v_y1$He$EEo3Hc;tQ;+a6-LTDfA7~r^xHo$ov zb%_t>mvm1x$LJi6t7$DGGuaMI+mb*!?Z5HfTXu=RoGNWA^= zkAK|x```cGNC3>|Qf{T2n}!^r$*(o`Typ_zLhQL?QLYuWWZ(jkyF037DtPPsrS zCYdW+{V#X(7`8K=%lMBE!j&Lb08BKe>(46@qzUIZ=W7yd)4^R28_Zhz@45#Ok zj`CJ(brJxLi?cVuVK7zYKXo)Ly-|I*tW&yA+5jhB&&s(Qj8k{;BIWtx@7y zc4s-r$$n7IOi)Q!4**LFD1&*y_2jX%+2|yFENGqKesXscmb1|&EAN+|&usi8+)L8FdGK0Hb* zEr7(N^3QS1CeMWOuii5drc*8lsT1utDkM7AS-0&EwZ7VvfA1Jb&*2_@q0_Yl-04o0}%YIh=brl}; z8!cZZ=FSD}@B;|LQD|0mG{+4_5gH*oIj~ zRQ{Pi42nOMf4$!lnZ%c`=9doUv%5L>Rr)Qv4X?7I=hcw=$RhCMM8`l}%azaz(lYOP ztU@2rIfx!ETGr4_)T56?vIUg?)2qX|^IZfgh>09R@@MpYtCti!8U|B;k4gYoH)vL_ zy0&T|G3J=}sP$PVEvvvYxtuqsp`)oKPm`!|tJZC+@N5#uv>8{GhVq|X{~IwjySsO8 z|F-PWaR7#1c*{7|?{WkS3zk1vP%J5>%hq`qitvyX<6rsFYaGBx9O-Y?OusBwPT;h# zFj*xh7#-kP-cbIrj{(mTU|!s8W6fYmEX3bqy)4ZC8IuU$|57qwcej}wWf|xq68W3* zxo2K1EA}A(j&y@pMjJ};=2oyCqEH5ODgV|&MzCKn zX&;pS7tikmVAK^XoS(gZmBv8}C2G{w9Qf&{pVAnq-WwLMj-m~mW~En^U;W)(|9zA zw#X`j>>qv6$5?0ce4+eEz)*j%`NL}6K}gQzHF*7g=cf-hb-pXgzn)RDgsxl}>kiw$ zTL{j%His1x7|!a2Xp&3@k*sA7;|q!9|9gIsw(M*4&M3h%R6|Fimvq)wQeOuV;OVz& zuwohXF0e<$qY(f`kekbtN=1PRCzZ}xm~~vw)dGqJU={zQguZ_5CfvyHPFr0Kpl0G) zRu&-EnG{er8w%FiP#c#2Le}Pdt=@6h5~c)iuukq!c_NjB zM{}KL)r@uZJI{qY`YpRS)>d=L%-kSdR7jxppOXw=v-cvFOb0BuFF~2rWoOv_ai3<( zWC5aUke+srJ7my}%Yx3UQ zrbz}doAdyHi=GwS0FVGA0^llMm&NJL&VT>)ZOt}w!huJCh5=Y&1~G-`Cn?@DTO%w3 z%{&qMDaP@dCGv)h(tM%k>SI$THjhhM2iwG4vh42*TAY!*E-6=%3^4!x+QUMH=AlgV zec=68ov-tDoL3NO2wvfU5PM010q(J8K(C z&e?w3MKleiJ`|oskMldqpYu7#X6(awMOSZrw0^J;B~<4eE}KjuppiH^yZ_^Zx??B+ zpy91H=K$sw)K{9*@_qCG^!}%9W9ta-f2e_rp+kVyi4DE5@@t*FU&4^B2LOlw$Y*ph z_q+r6Tpjvp#xC#wP%_DHRrc!fqB1Pz6nMm7DQ3(U_(0yG z42JpT`OU09@jCJRz$caIjcFD8)ZZPQ1tfr#S-k%|ggSh*8~|c%cGo?(uBp7PlZ0k? z1TbNtv(S2nN>qgugJBXvZf296#zNDIs>&7jQ!Gx7HLp5;S`gBU|6iB*Sqo43H`c^P z%nh@h0_v&+B<2l@|BI%DC#^}Jlb-MxK=LNk1Iw8cPko$)cjjO4!Y}x{^6wbKG7ZL! ziniXn$~x&{HLZsW{zu&(^5DjaAeE;fPT1~sq5;c!eeij*lwC=@S@IO9lprgl(}P0^ z2Hul|g=!K+-7^G3Nev$Jee5Hp5E<45%H^T;Vl84EKV;HquDg72_;s>?A<E`tStDLe?AR7K|x4k2#*p_7b#aBJm&N zXEA2k_u_pvp9;YKQd`Hf)lAnr&)Y`7NzV+VP8!OH%s0smxEhl*Z;KkRP;Q!Y$Ag_) zNB~pr(j>n5x1=qI8F*$)O@1p&Y~#9m81jD39o6sqfr+klPPZYitFDW_D2-*5!FF?= zD_U+nk1`sx(8js480wK^CXTHPfy964OCUm-2TQ?~$M8P%BlSq8JZy6TczFQwyVjyE z2v0uF`;8U8tOuzo+&l+4nW1I*p2m08=S{9G0CUZ4HJ<(a^Ut${+Bp{!`wX@u;%t9q z-Qc&VtXN;qxwDWXh&l?-4^fAF6at{s`Pcz*Tw8OU7>mZzClc3LuN|M27FzKwIDzHw zX|STGTlDvJsp2R5{G^nqG%%LALb zIa$va5CC`%Wlrw`o%jJOFeK}PBnQgpQaR&ya#F(o;?@jwOBWctaxD=6oY?6u$z?uu zO!0&;JD8Uex^Ud$K#zTmKc}nsD|%Dpda`b2xd**)Qh!lphv#@7;{MgjhAliiP;Mm5P#1?OyS!Lj_Qpj50N^MF)#k_d zAL{d`S%|X)0Le0vD@T90H&uMAK@+ z|3Kkx2zAmXym9iu|JjvH+Q_o6F<8MQh2@IOd4`3577!8Nr#q=`tsCYIU|+D3i^y!r#!Y3 z|0w5lNY5FsjI^{|)n3tO^1TfLK;6vY4S?kuzj*l~DVMPFbJYfo`{y-y06A5Oq=_^m$C{pehQw&(%ZpzZJf-k&K!3 zAJ(&_gaD2B6 zFg%!3t`ad$HVExZDwI5SlJ}>C9@$O6|Nq8uOp_a2kmC8h1RFke%{;^e$ z6~eO3TF#}M7kH0)TqrR3spWFSd5io}CvQ?EYlvVyV7!I$&-SnF3;kIYe+Z^2oKX~ylJc+6`9L$q6Sarf zWVWU`$2!KKQ(ohTNxIbS-2At>PzRM0t-LaXcv(WM|BbM-I^0B(0Mc72jnOh!r0Y#Z zyYXqfH?NA6Jyh$Q0N&~WIu5c8u%EJ>)cct<7IL9857wqYy?|1E8V>+X3`k{DmkXwG z3~fD;@*n=5KF;?vJ}R5A&uKzCfCS$rBm=Z_xjo;e{Oi4yKJo@RoajMe^*w;Onh5HE z+#+E)KXCt7LK(2hO-C(x%TQ+|xUDe>zZZR7^90%PZYX2hqj>;W0WL3-FgM}q#DIxJ zE6__!W8=Liv$dvq0t~FO#;Q3uR=N*7=DHT9#S|vBjz^ zV$fr`syjNY0=!>CEAnrspGSurH3aPprzRg37)G{zCK63XlPP?zCmuX zULau8P0+3v?EOyuH?RM!+M?6t^6v=?DdRuGO(erPm)Oeht-r$(WtTZe!$F=)xHO;z zlzor`77VdLoUQg7LIp+68*ODi#5to>FFJ0qokJ0YpmcgR>ptEpE!Gl({=hoY&?dXQ z8LZ1#G7AI%whAU~O7~?2l;`tzHty#*NwDs!`)l`Fl4a^amX8NxZPu87LcK8>=S}`3 zagnX-$c`5_*>amag?d+op56lVv;j0c6XfSKyP{9UomR&$>xIF-ej{t4uexqZa+Igg z=yN!xGM6p7MRHdE<7hOW(^u6n+>FG?O8`P#UVi%AkU z61p-Ij#Vb}JTa6Ms6+CqdB?8m)A$bYltEq%dI7-j#<3Oi3ASoAwjq4L5bLBQ3-g?g zUzY64&)<1t93H-*(eT6RS!%xxf}pCWHklxeQD%N9dC~w}m7`=Nrgym+7~`Qz zZi4yR;5wdScb0{^q3FxCxljx$|A5!{Rf*Sq4HY26NmnNTY#r*iwrV^hf7O6Th<6{y4TvY+dmmsug`(`<62!jVpX0#DaDxm6bAqikzHo5OD zQJ0^q_hHp%eUt35^#(9O5SNcDHDGP7h>LLL03L3w7 z{olUJCOFOSOIt3tm7bNbCe0xOD5=9lr#hdo4QO&M5ND7l((le*B9;Ick}w8X~PC9U+;ym^6nEK{-y1HB%D;z~5uWC7b)_R~w48 z%D&?%l<+#Ub)wH`{iyQaWz4Y8=I?Ki0oI`4VVXk`ux|-)FM$~q;i^x4qwg3(`7a9U zA39faj?tytu(k35%e5^>nUVk`=1cRu_7BesQRjX1AMJCer>8Xmkl*#u&M*1=;Oc~Z zrsN&!5dd}B%b0Y0bjW*99&XrXde*5Yfc0X>GD`^5_vf)oL zV8FPbO(6hS4~&uKHOru3i?x9P6|A)5j3ki^%b6X9^}vBl@3pRk=r|gO#&}JV04kJO zRxNKE@!3PMtXWGM1_3Jn6a@0Q+I8M~0BC|U4T-S?fG*Xf9spGOdB4_GA`CJyLsxQT zw@b=DfPMgF8;qt1ZH)vq{NG9fiG0pQiaIuQU~+h%`z{``50 zL&rE?jq`u=-e*ZEPf69B864A;2w;eSP2dE;E8|S^1*B!4syT<5>>;qhQl!wtT0G|w z0IRMWowIjMqSL(ZEeZI$YTo@+#|r*m-d755YEyJPrN*wmt%QMk336VV=IrxI)RAab z<-achkpA0>#;v@4W{oM7E&sEucIx_hb?hBg>qw2p&Rok z884)P{hZ;*9EX%-$#YFHNwbDAx2@u&GS;ri$z}>E_uny<8Y5Ws16blTmRv0|Dr_jDsb#I!zMGuI znL>xBa4yROfRhRK@tu3RdW9q?w)m9mg1hCI4$?0M^ZUD0Smm&P-j*5ddxPv*Uo)6NPT8coLQr zKpWTcrklU{zO*GFZRIZ&!s$U$BKe0922diP?R`oD0G^SeZSHa2SBx1h9M|7ZMc@7o z&WGx;rUX8ef6gniBETRNl|^9X-v7V7v)7H}y0$QV!GOU8goXhF1{2W01PT-gmI8$i zqzk=)pFw^F`{p;YU%-I{_yLS71rsWe3RkM5ZoT_S) z!>;cBKA=%u)z#J2b?WErwSSJ!@n}GcR*rp)j*b1FRzyW)N@T{=c{yBSTA4o&ZDAW_ zc5RXcfA@X0%yvjz-;eGr^y@j1jsI@_M&w58`1hYTA_YuNeeM5GDa08IWZ(JE<@|81 z52pa=y^Cvl+qr+abpn8h4=mqsVyC^IuZ&-NA3S7=$;PJ0!<+fN#0U?;;hSH#{uT)U zey{K~ot!x&(*~uusf3QFZ7vfK_1 zbs7?C9$K3r-cx*RTb_`(pRtn@9}KxOmiKqcd6kW(+}3&jaz{NssO~&)f*Kyjo^`rI zyhp|Fw?vq@?mCVC91<9hTkIIvK-(`>&NWok!l;n9^Ieh5k;s*r2f+8Oi^IDqV+(8M zj@L8a_p-ojETk?BqNTje`23h_C%Pp7WN}8%4SAXu_nsfJN4X{dM4?mfYsDOWymg#o zw8qP2-Q`XZxf}^-0YUf0+If-pHw}3A>HXJi7S6$y? zdgVI)wblljuKU_ph1_m_?|zrw*Nny?VI>L%I&KyS;`(F4&V&c7x%QKQ~>`6 zx78fmB|lTtAFB0<+{cVw^zM6MsJ(7FAY{hhSz-T{`eS45l4-Sjj9wJpf45=3d?v#I zzIOqjOshiy_NtHtfSY&4t4yt7vWIBuzU8p9xP6@v76H!RzWKAi6BX)B69HNRz(Fa5 zVi7<&owGq|BSeJ*%Xy|dUKRkV9rYzKs1mAqm4=+l5gYmc&B^%B z_aHCR)YrexTN#+%h6Ml{-uCQTSs#0l_YdYuI>vp7p@B64K;DXI^tS}$Ioz*IO|-9h zm{q?=)7P(G|2dw&HDhMT5Ov2nw@G|v zCIWbQ3`J^DGf4cMDL2t*Q27B9$=g_Ta{lt>&6{tMhoIV7DEl|tn_?^P)&hXnQ%6i4 zZ|B>*ef#!KcuO`+TeL)(tmM_&F6aK1NPwmF=PUpybUUiEwN9M(J6;#@8d&OBG|~X{ z^4QD!p~gim;zhVkVv38^f9;P#|H4E5&P^)bIDIX+Q<1~}-{&#E+aA!_|4O)C*i-SeV#y~O8>uC4xiAu7P+h@JSIm;xA|{p)V0 zgHTXeWJ9raA8OsNBenk$ugUzItCF9Q(Gk~pR-Db@8S)t9=?Q zJ=f=UzpBv^U*ZT1HAk5l63~X8H@-g&-K%O$Y3EvBGxyuPPF#L`^5Sp051yT!^&&t_ z$=n$MpnSGu?2L8bqv}<@-y2n97gz8yxiHz;*mv}x)0mSM0ipn)&)5ART7{_sfR|6% z=9J@Jqmt`ay>MLM&7UiDX6zsjH~;+gojX#5WeP&F#;P)!MZEOJLH@88_pq;?-E^Y;=wC;sNreaLN; zLa6UV?#20hUvhYFPCFB^0GPgaa&q$3;#yxCg4w^h?zVCifK&LqJU;hY-+hd}N=*=$ zO6?rVePjJE^>^JC>ptF(P3!nQ<@F_6{ocGkEdzLy+N5?5t3?9jHn>jpibUlastRr` z`{bd|msW(v*!I1jC4KHs76G<41;DgA>NU?;E!4HeDh=rfgLtyU@Q>C_TZ)Z3bqaMX z-&y*8+|NzA2;;?849$CmP>WSXfLbTL^_zlG?W~eU67`fATP->$LeP>MAiDYkoL#&w1^-^Q% zy`y|KSb(lYs{JP0`cr`?h{Z^NI#hofCbYYRjzs`mqSG%5x_2RQo-} z*vWfx$blF?cgX)^i93&R zPWT?@G~gIvuIbhZ0Ak2n_YmWA;P;mDp31bZ1Rmdyp?pV$!mFW%1c0(^wijdTBCK6} z1Ka3Bz+3Ai&%x4hwnsl-%;|x&^l-9Q+S685S~G_>xUT>Z+d{^WLz9<|NyyXh)-6Vp z1b|w~hH%LEm?E0P_*?%k?teZPqKEpau8mc_BI`a!#=<(MKA`f$Z%+53R^ETh^B?QE zSnP7G5lt5l%cWfI>WnX`v?pvoeO45H=`Y+BWw4rIQhKI@2Hs)GozQ$10 zO6UDQeffXNVT@5iv4b`wBGw4^yCu)^kg?ek0OB^(9<2zaw5^TtZce?&)eO^BMf$j{ zGM!Y6uJ#;n88Qc@_}op2$jlvmr{-urM$g1`)+qqQ`IfgaGKX_(m8iKn_N(4E4~edL z404;yK}32C#+<;JF;Q(y6v^9BeS}qn)W$w7)w&t$qmA8vwGD~sv5z3OQUDNR4X}zT z)4Jj2hKUB1J815-l?TrqLpJZ18tLTZ?lbUbmuj8j=QM|bg{X5N}m_z?HUTZaRA>Mq4kJ{rg^Z;M?xiQ45=?tQF9nI-K z)*_D5dH*~b{}!fY{0Q+ zd#i@V)Y=-2eOg&4Sk?IuBh|K605B~hX(;3+tvl%eXCYw!HmtfUUgY1)A%bz;xU5#Z zVUs#_k+E=`vQ9rNhyUM@7iH>iuiA02kszbh?XC+(p)*hIWuC&A$W;WWCC{QeLaup` z^B!a8C`Lm>abT#Xg}3M5D#x-Vpe?0jOpTI>-wnU}TRa}?ZktVDTRLZBdE{mOxr=>j z1QLh$_lEyXF$ne#PUTIn8TvW=ywyRNa*T$qT^qqe->(^}X&-(G?`PL$W=H^tV;GyE zPT6A|_xyaBA`s-?m~*7erZColZ?#M7S(8!%es2-F7P+B5+onZa&YiJm4afHB$!)T2 zZSYVpyja!o(GmcL)?am>#FXby?f*t6+&bI)$pnB%>!EVrkhR*j%KYBoL783`5uVm{AYa%Un#og^FjzTjPZ z!QQijQjk%@9+vMf70YyJYz%?+wy!Hi`fPw?0jJg>bGyb4w>xD+o#*(QLmjhKZ^FCI zCJQGufiXqF^d7)cX!VoDJ#{aR9_ADmR}_ztSKa3Wp8v-(5QfrtY7AXhn`E@q+Ar2% zseR|Mqfz4XDQ^y_$uZ|?-L~6C( z$*Whpp-)v&J2zYYrK!)TY%ho?dBEfPsshL;rF5S z%7fcMp;GC>uf5{9p+EWM>cHjtK()8YRcxnJOi7js zl2D4WB03>WbXawsAJ)<=pbc$SD~IxeN;Qj7;!MjqrEb6eEsEW`zd7WE5K$$d{GXC< zgHnmYZL@o5_PZKxg>enIRx5q$Nj@0(U3$F27S35;vBXS2>gYpUV1G#J#Rp~pIkHCM zy>Ui2bWjOS2!$q|YdLTQbbSwJ#s5@$FVK19MfgkRy(O0>S=_kmUVRL1Es5cA>2=ba zTXBMWc(?1mmqN?S=e<@OLHDa{Wh&2BC6t^bG&oFSSV>&h4K4fF?=;%aAO_KR(@Zf6 zdrRl>owcS_#mN_xecNV zDGEL{ysxJY%0LcWCaEUDYoyVdCR=PY>3eR>ETz@RnfV~^9wk35A}_xqI4=dv|ZHnQ%4aXzX+1~~4gpX&^`ZJ6xbdkpB|6^VVMBmfvsU~tFA z%ho;N(H8P@wpkQs(j=Su=36nS>x$yK9&qy!0%RXBRDz*}Y^$o2^{$?d(E6I6DYr9e z(#M#TUxZGFI*y31YjQ{il7uDb*5Y_O=is9^BKy;8tfR4yu{#)Fu}{|-`Iika11EjQ zAT_Zk^s2>u?t>HpIvf2aW_mkOaQANxD)Gx za2q^h-Bc@sg9LMxd%ANRO4^TJPcF=c(|W8?y}V09@Bu4+yAXiy z%9JjPg5?RPxDW+LI)ol8u7@V4l+^}0>F52LnCGf1P7#Fam$sF zO1DXHUed3%UwK!%4HjMumxC=3k}wv?>A%)7;3EQce0(?d;W>cyiCYV0EI#H2v8?H5 z*)|sC+09k31SmiCTLjtT+F(_M#WR8#Ki$UI@irft5dtaB@9gQnd8`DHpiyybFQL!N zl$u*vae$%2mn~bGgyv@%xx~l>~U)HxarBS^zs3T-@n?{8tFM#X+K z(EA?1I%ew9TU=ZW&9FN=JIj`EsoZjsf0@E^QW8O19$tc>&B;HETTM8FSUICZaQRVZ z_Pam9)Y$dP8V!0jXg+FNy-Ul=C^}UPsx`uFONk(_mNf1U58+oi8fj9((nOoYU0YgZ zkV%C=Ck2J*VBx>jzXwsWrYmggr0Qopy8of2|44wmxRjm1W2U2-l+BTkW1bLNTv=XT zcGN5jhbU^uI}yp9#}p(vgJTpGiJTEjU2oM*MH>fj2zWBoQ;4ac3Zle&k-Ncf;E23f z!Z#-71YP{DpvQ}GT39i9`0;AQ3Go8S=w|iTqyQ@h|f=T-W=KBhK>`yxgpNK^uoKA>&s#$0ne`chS>JS>w>RmL#Hn z(CA14C|}Aq2UzS`izg`1IXv(YHPh~8IPcc=Tw>Sl9yd;4zV~8Mb8|C?JvbVzf4JeT z2%_-P&f(+p8Hz|>U66Q*?l?NN znd+^C(T;K>42D)CMdg*a-_w@-11R7!w$*nVVx9W92+joujn*@Ulz8_CDi?iDKCXUw zVtM&8?dSUUFm^{$S?{`+4=2lGPVYF`=QLxD1~V zUWi&7kHx?^U*5zfbIZXWD}Ga0Zpseu zis2$ZwW{L?!kNpS`q0;_)GKFs5Tf8lN_)O&90>)`XAwF9u{lqD0@OBM>T6(!4d$pw z!jR`u!%o0~(KuJB6|K-O=F3Z!c;>`yAeRQq@aPhk$`n%NcgXGVLmhwp+&pNqdgyW3 z=Ja!u)&KTtL0mIrzRS5Z_9rmgy>;dnoKE9vJ~Jd?YnM66=+MGXZnH!;zwz-1hdyaW zv|ZaM9!-R9*_An832^miCEagMV+dGbXwLr*8bmTZYfftNB1HK=J4+5NEe;-mZg-b^ z_iFCuzETzw)2p!KSM0X4_tmRxj9ULb_w_*-?shv}d+yveIkD_vRr&Av>U^dW>Dtm5 zqlTYGlvJb^HF_f;=-RH)5eu$2qJ;Wxu`JqhkM23w0P#a15zMaH`lL}$Ua%|2EqKnb z*#&9hm7TTDE9%5q?ttMbBxhIPC`!mpJ$X2yq?@JqcZ zMoVoPsG3}b?VSfYngEjyz2cS!*?ZIgc)|3#9$Y*%Xw_UFbfmr94&Dt($m8= zn)$ zz9yjv6fRK%>de6BA*Z&CGWt<>lbRrN?wiknXFhI!BRvMc*#})avQvOi3iP_3SC`_( zJeDPfD?8z45P$asm(cR+v<|oxi%0;a+vL!4pZa;;ytN&G&MPBF)C3P_4PGhwgc6|( z;T1$#v-YnkNfZoiw0#ZYY|yfj@d1iKt;1q^Ya7fni&pLgGw^uNn>{9atg97ao9k2K z5IoE|&u6H)S^@De9GLuyOLHsJQ<$d!o&=)Te>`27qA2ZX8$0J25qrl^7{P;xR2ivP zJzf*;!`2U?Ff=r~pav~xlJm7`+BzJHJAq;;Y0@=r@%uo z)M01)u9g*1h%P45@ApzHt?K<<@r)%J{#p&A%q}Rf=4!N|$3#-`RZ}QO1F6XOMLeDp z;`rVjPY&?9bup{u@A?kEpSZTs@1bDl_pBW__}a;a6U!Gp?hCD&Wd*29L!)k-r33lO=i!_p zr-Ue)g_~W^6~^f2GU?1Po~$6gZTN9?#b#SU>Dm}HNXkL6cYtKVBAKi>C>XXB1}no;m*moB4U8(P9xOy~S*)xH17 zY^oX1jjkz`Efrx`TJI@xXn`gJ(x^+_g!cI`86c6-^;L6rW!5ieAE%=r^e%JsjoMir z9z9N-5PfV=W0W(RoosPY+PRCWBERIQf_!v{U-pebQJneba{*7j;gnlz<_kg-Grs+T zW{T1l#M#uWq7rUk&N~^F5KuUiX8Yb;m4p%FsOoNszT|lDRWq%QI`pY}vkwaSC4grU zw~Lm_d~`V2E+T(j@$A*uabKJ1*yipFJ&>i+I?>Vez;q@InPPV^GK+}sS<7FU)=&3m z*~J|;y1PUb%(A~^gEx1(Ni+RKIIHXXUhhK@X0m#3VTUGj?bxl&t_1oXAcg8@a*v$n z{Zi_NJ)8)Z7l$+EvbwoJMR$I8{VXtRrjnneK=;OF=}^csW;HH7p3heb(%o<294!UG zNi%->0RxEo?1BdiXLjA2)jy=jgYeq-$y?rJ`nEYiO+jsbIP+=1rnj@J9)b6ZkT*-U z#ED#$8S#SRe`%I3jvBK@q^1efHAUSc3xn})dK!ikPHUCL&+$XqF1z^6q|)z>EZg%I z`04}}f$n9_EU_8-4dnati9B*_w=lbR!{8)#Fi?45?%SIkD)RYbN&F%|z=?x!o zbT`8Xs&(Df(0+IWnkB}Cd{hC!_lF1mZk)bi@TR8W*TY}>rQ#wN#DQy0ATPKiZ8%CQjc za6jk{rrZ+Sfqm^%AI*O2vggS6d1gSQg|LVJT2gkU?CK9od6F8RHzv)>nKl27H4lXj zYnqDPh6MlksE(Ym9UNqkl)#$|D%u^^iAsr@R{C zyv0O1gNl|a9TegPiE~R=W#VAq{XlOE{#x-Ly@&RZ@xtD5pM)Gxh`Od*p63#7?;&iq z1TbtJ;vzhNG!Z6od8!|W2Z|*|SB;OET3KB1y0aB+GCr9!AH9PgZ_Uf3Obpc|Ll?A# z9g&0-&a19@Z*Z*DGo%L0!vHFhQy;M zQps(|MkbTlAM6~EPUM&dbc_Gv?t|%FXCJ(X028u*Y7R@Nf?f5Ha6qPIW-B7??5RNmQopQr(tm;vWqjxpbd6Ylh4(0C83*qR> z_{BRo{Nwj^FW>tRzy9IPX)Y}0{3Gzj0Vhj#sc%0I+T7NI9Va4H~1t3w~W{gIw zoPUz8v+dAa?Tt*8=6TO+bCo7%jU8)c9MFhSTccxPhu>}v<*LRBsZdg?k z{#dBjw|!q6^CC{ZepANia3vbddD?o{CVr?&hMr@aS|4(;i9e~x4Nf@)2 zod(}G*{wQ;;tqg+NK^QDF%I;{Il43 zG*F0Gu$oAZa!*{+oY1x-l(8+;&cz=&l!_ueN1lws^8I1e67194ZW4iSHIeQ3qOZ4B zbbU~g*O{b9sZvDFwU7;R$#)+9;%eRbhuO8ks20ewo_PIB?k_ literal 0 HcmV?d00001 diff --git a/public/overlays/Expansion/blade_shield.json b/public/overlays/Expansion/blade_shield.json new file mode 100644 index 0000000..2bfaa40 --- /dev/null +++ b/public/overlays/Expansion/blade_shield.json @@ -0,0 +1,188 @@ +{ + "name": "blade_shield", + "celFile": "Expansion/blade_shield", + "width": 512, + "height": 200, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -33, + "top": -68, + "width": 64, + "height": 66 + }, + "groups": [ + [ + [ + 0, + 0, + 64, + 66, + -33, + -68 + ], + [ + 65, + 0, + 64, + 66, + -33, + -68 + ], + [ + 130, + 0, + 64, + 66, + -33, + -68 + ], + [ + 195, + 0, + 64, + 66, + -33, + -68 + ], + [ + 260, + 0, + 64, + 66, + -33, + -68 + ], + [ + 325, + 0, + 64, + 66, + -33, + -68 + ], + [ + 390, + 0, + 64, + 66, + -33, + -68 + ], + [ + 0, + 67, + 64, + 66, + -33, + -68 + ], + [ + 65, + 67, + 64, + 66, + -33, + -68 + ], + [ + 130, + 67, + 64, + 66, + -33, + -68 + ], + [ + 195, + 67, + 64, + 66, + -33, + -68 + ], + [ + 260, + 67, + 64, + 66, + -33, + -68 + ], + [ + 325, + 67, + 64, + 66, + -33, + -68 + ], + [ + 390, + 67, + 64, + 66, + -33, + -68 + ], + [ + 0, + 134, + 64, + 66, + -33, + -68 + ], + [ + 65, + 134, + 64, + 66, + -33, + -68 + ], + [ + 130, + 134, + 64, + 66, + -33, + -68 + ], + [ + 195, + 134, + 64, + 66, + -33, + -68 + ], + [ + 260, + 134, + 64, + 66, + -33, + -68 + ], + [ + 325, + 134, + 64, + 66, + -33, + -68 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/Expansion/blade_shield.png b/public/overlays/Expansion/blade_shield.png new file mode 100644 index 0000000000000000000000000000000000000000..497328cbf0ec187d20132555948a6be8c1510141 GIT binary patch literal 19045 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 literal 0 HcmV?d00001 diff --git a/public/overlays/blade_shield.json b/public/overlays/blade_shield.json new file mode 100644 index 0000000..2bfaa40 --- /dev/null +++ b/public/overlays/blade_shield.json @@ -0,0 +1,188 @@ +{ + "name": "blade_shield", + "celFile": "Expansion/blade_shield", + "width": 512, + "height": 200, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -33, + "top": -68, + "width": 64, + "height": 66 + }, + "groups": [ + [ + [ + 0, + 0, + 64, + 66, + -33, + -68 + ], + [ + 65, + 0, + 64, + 66, + -33, + -68 + ], + [ + 130, + 0, + 64, + 66, + -33, + -68 + ], + [ + 195, + 0, + 64, + 66, + -33, + -68 + ], + [ + 260, + 0, + 64, + 66, + -33, + -68 + ], + [ + 325, + 0, + 64, + 66, + -33, + -68 + ], + [ + 390, + 0, + 64, + 66, + -33, + -68 + ], + [ + 0, + 67, + 64, + 66, + -33, + -68 + ], + [ + 65, + 67, + 64, + 66, + -33, + -68 + ], + [ + 130, + 67, + 64, + 66, + -33, + -68 + ], + [ + 195, + 67, + 64, + 66, + -33, + -68 + ], + [ + 260, + 67, + 64, + 66, + -33, + -68 + ], + [ + 325, + 67, + 64, + 66, + -33, + -68 + ], + [ + 390, + 67, + 64, + 66, + -33, + -68 + ], + [ + 0, + 134, + 64, + 66, + -33, + -68 + ], + [ + 65, + 134, + 64, + 66, + -33, + -68 + ], + [ + 130, + 134, + 64, + 66, + -33, + -68 + ], + [ + 195, + 134, + 64, + 66, + -33, + -68 + ], + [ + 260, + 134, + 64, + 66, + -33, + -68 + ], + [ + 325, + 134, + 64, + 66, + -33, + -68 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/blade_shield.png b/public/overlays/blade_shield.png new file mode 100644 index 0000000000000000000000000000000000000000..497328cbf0ec187d20132555948a6be8c1510141 GIT binary patch literal 19045 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 literal 0 HcmV?d00001 diff --git a/public/overlays/bladeshield.json b/public/overlays/bladeshield.json new file mode 100644 index 0000000..2bfaa40 --- /dev/null +++ b/public/overlays/bladeshield.json @@ -0,0 +1,188 @@ +{ + "name": "blade_shield", + "celFile": "Expansion/blade_shield", + "width": 512, + "height": 200, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -33, + "top": -68, + "width": 64, + "height": 66 + }, + "groups": [ + [ + [ + 0, + 0, + 64, + 66, + -33, + -68 + ], + [ + 65, + 0, + 64, + 66, + -33, + -68 + ], + [ + 130, + 0, + 64, + 66, + -33, + -68 + ], + [ + 195, + 0, + 64, + 66, + -33, + -68 + ], + [ + 260, + 0, + 64, + 66, + -33, + -68 + ], + [ + 325, + 0, + 64, + 66, + -33, + -68 + ], + [ + 390, + 0, + 64, + 66, + -33, + -68 + ], + [ + 0, + 67, + 64, + 66, + -33, + -68 + ], + [ + 65, + 67, + 64, + 66, + -33, + -68 + ], + [ + 130, + 67, + 64, + 66, + -33, + -68 + ], + [ + 195, + 67, + 64, + 66, + -33, + -68 + ], + [ + 260, + 67, + 64, + 66, + -33, + -68 + ], + [ + 325, + 67, + 64, + 66, + -33, + -68 + ], + [ + 390, + 67, + 64, + 66, + -33, + -68 + ], + [ + 0, + 134, + 64, + 66, + -33, + -68 + ], + [ + 65, + 134, + 64, + 66, + -33, + -68 + ], + [ + 130, + 134, + 64, + 66, + -33, + -68 + ], + [ + 195, + 134, + 64, + 66, + -33, + -68 + ], + [ + 260, + 134, + 64, + 66, + -33, + -68 + ], + [ + 325, + 134, + 64, + 66, + -33, + -68 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/bladeshield.png b/public/overlays/bladeshield.png new file mode 100644 index 0000000000000000000000000000000000000000..497328cbf0ec187d20132555948a6be8c1510141 GIT binary patch literal 19045 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 literal 0 HcmV?d00001 diff --git a/public/overlays/deathsentry.json b/public/overlays/deathsentry.json new file mode 100644 index 0000000..0fb1569 --- /dev/null +++ b/public/overlays/deathsentry.json @@ -0,0 +1,124 @@ +{ + "name": "deathsentry_explode", + "celFile": "expansion/dethsentry01", + "width": 512, + "height": 547, + "directions": 1, + "frames": 12, + "framesPerDirection": 12, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -93, + "width": 130, + "height": 136 + }, + "groups": [ + [ + [ + 0, + 0, + 130, + 136, + -73, + -93 + ], + [ + 131, + 0, + 130, + 136, + -73, + -93 + ], + [ + 262, + 0, + 130, + 136, + -73, + -93 + ], + [ + 0, + 137, + 130, + 136, + -73, + -93 + ], + [ + 131, + 137, + 130, + 136, + -73, + -93 + ], + [ + 262, + 137, + 130, + 136, + -73, + -93 + ], + [ + 0, + 274, + 130, + 136, + -73, + -93 + ], + [ + 131, + 274, + 130, + 136, + -73, + -93 + ], + [ + 262, + 274, + 130, + 136, + -73, + -93 + ], + [ + 0, + 411, + 130, + 136, + -73, + -93 + ], + [ + 131, + 411, + 130, + 136, + -73, + -93 + ], + [ + 262, + 411, + 130, + 136, + -73, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/deathsentry.png b/public/overlays/deathsentry.png new file mode 100644 index 0000000000000000000000000000000000000000..808ff55aeb0d2b7116c73fdad4b6b4e57d595b4e GIT binary patch literal 11258 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 W%Mhn#z1qJvuAAL5ExUT}*?$7>DH3h~ literal 0 HcmV?d00001 diff --git a/public/overlays/dethsentry01.json b/public/overlays/dethsentry01.json new file mode 100644 index 0000000..0fb1569 --- /dev/null +++ b/public/overlays/dethsentry01.json @@ -0,0 +1,124 @@ +{ + "name": "deathsentry_explode", + "celFile": "expansion/dethsentry01", + "width": 512, + "height": 547, + "directions": 1, + "frames": 12, + "framesPerDirection": 12, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -93, + "width": 130, + "height": 136 + }, + "groups": [ + [ + [ + 0, + 0, + 130, + 136, + -73, + -93 + ], + [ + 131, + 0, + 130, + 136, + -73, + -93 + ], + [ + 262, + 0, + 130, + 136, + -73, + -93 + ], + [ + 0, + 137, + 130, + 136, + -73, + -93 + ], + [ + 131, + 137, + 130, + 136, + -73, + -93 + ], + [ + 262, + 137, + 130, + 136, + -73, + -93 + ], + [ + 0, + 274, + 130, + 136, + -73, + -93 + ], + [ + 131, + 274, + 130, + 136, + -73, + -93 + ], + [ + 262, + 274, + 130, + 136, + -73, + -93 + ], + [ + 0, + 411, + 130, + 136, + -73, + -93 + ], + [ + 131, + 411, + 130, + 136, + -73, + -93 + ], + [ + 262, + 411, + 130, + 136, + -73, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/dethsentry01.png b/public/overlays/dethsentry01.png new file mode 100644 index 0000000000000000000000000000000000000000..808ff55aeb0d2b7116c73fdad4b6b4e57d595b4e GIT binary patch literal 11258 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 W%Mhn#z1qJvuAAL5ExUT}*?$7>DH3h~ literal 0 HcmV?d00001 diff --git a/public/overlays/expansion/dethsentry01.json b/public/overlays/expansion/dethsentry01.json new file mode 100644 index 0000000..0fb1569 --- /dev/null +++ b/public/overlays/expansion/dethsentry01.json @@ -0,0 +1,124 @@ +{ + "name": "deathsentry_explode", + "celFile": "expansion/dethsentry01", + "width": 512, + "height": 547, + "directions": 1, + "frames": 12, + "framesPerDirection": 12, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -93, + "width": 130, + "height": 136 + }, + "groups": [ + [ + [ + 0, + 0, + 130, + 136, + -73, + -93 + ], + [ + 131, + 0, + 130, + 136, + -73, + -93 + ], + [ + 262, + 0, + 130, + 136, + -73, + -93 + ], + [ + 0, + 137, + 130, + 136, + -73, + -93 + ], + [ + 131, + 137, + 130, + 136, + -73, + -93 + ], + [ + 262, + 137, + 130, + 136, + -73, + -93 + ], + [ + 0, + 274, + 130, + 136, + -73, + -93 + ], + [ + 131, + 274, + 130, + 136, + -73, + -93 + ], + [ + 262, + 274, + 130, + 136, + -73, + -93 + ], + [ + 0, + 411, + 130, + 136, + -73, + -93 + ], + [ + 131, + 411, + 130, + 136, + -73, + -93 + ], + [ + 262, + 411, + 130, + 136, + -73, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/expansion/dethsentry01.png b/public/overlays/expansion/dethsentry01.png new file mode 100644 index 0000000000000000000000000000000000000000..808ff55aeb0d2b7116c73fdad4b6b4e57d595b4e GIT binary patch literal 11258 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 W%Mhn#z1qJvuAAL5ExUT}*?$7>DH3h~ literal 0 HcmV?d00001 diff --git a/scripts/pack-missiles.ts b/scripts/pack-missiles.ts index 55a3d59..7f96dc1 100644 --- a/scripts/pack-missiles.ts +++ b/scripts/pack-missiles.ts @@ -181,6 +181,18 @@ const MISSILE_TARGETS = [ { name: 'hurricaneswoosh', celFile: 'expansion/hurricane_swoosh', animSpeed: 8, trans: 1 }, { name: 'hurricanerock', celFile: 'expansion/hurricane_rocks', animSpeed: 16, trans: 0 }, { name: 'hurricanetree', celFile: 'expansion/hurricane_tree', animSpeed: 16, trans: 0 }, + + // Assassin Traps + { name: 'firetrauma', celFile: 'expansion/FireTraumaMissile', animSpeed: 16, trans: 1 }, + { name: 'firetraumaground', celFile: 'expansion/FireTraumaGround', animSpeed: 16, trans: 1 }, + { name: 'firetraumaexplode', celFile: 'expansion/FireTraumaXplosion', animSpeed: 16, trans: 1 }, + { name: 'shockfieldair', celFile: 'expansion/caltrops', animSpeed: 16, trans: 0 }, + { name: 'shockfieldground', celFile: 'Expansion/ShockField', animSpeed: 16, trans: 1 }, + { name: 'bladefury', celFile: 'Expansion/bladefury', animSpeed: 16, trans: 0 }, + { name: 'bladefuryb', celFile: 'Expansion/bladefury_B', animSpeed: 16, trans: 0 }, + { name: 'bladefuryc', celFile: 'Expansion/bladefury_C', animSpeed: 16, trans: 0 }, + { name: 'deathsentryexplode', celFile: 'Expansion/dethsentry02', animSpeed: 16, trans: 1 }, + { name: 'bladeshieldmissile', celFile: 'Expansion/blade_shield_missile', animSpeed: 16, trans: 1 }, ] as const const PAGE_SIZE = 4096 diff --git a/scripts/pack-overlays.ts b/scripts/pack-overlays.ts index dc8429c..6117777 100644 --- a/scripts/pack-overlays.ts +++ b/scripts/pack-overlays.ts @@ -1479,6 +1479,30 @@ export const OVERLAY_TARGETS: readonly OverlayTarget[] = [ lightRadius: 0, lightColor: [255, 255, 255] as const, }, + + // --------------------------------------------------------------------------- + // Authentic Diablo II v1.13c Assassin Trap Overlays + // --------------------------------------------------------------------------- + { + name: 'blade_shield', + celFile: 'Expansion/blade_shield', + aliases: ['bladeshield', 'Expansion/blade_shield'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 0, + lightColor: [255, 255, 255] as const, + }, + { + name: 'deathsentry_explode', + celFile: 'expansion/dethsentry01', + aliases: ['deathsentry', 'dethsentry01', 'expansion/dethsentry01'], + animRate: 16, + trans: 3, + preDraw: false, + lightRadius: 0, + lightColor: [255, 255, 255] as const, + }, ] as const export async function bakeOverlays( diff --git a/src/game/skills/assassin-traps.ts b/src/game/skills/assassin-traps.ts new file mode 100644 index 0000000..aa40a6a --- /dev/null +++ b/src/game/skills/assassin-traps.ts @@ -0,0 +1,951 @@ +/** + * Diablo II: Lord of Destruction v1.13c — Assassin Traps Module + * + * Dedicated pure calculations, stationary sentry limits, NextDelay tracking, + * Death Sentry dual-mode corpse explosion AI, blade skill weapon scaling (3/8, 3/4, 1/4), + * and adversarial kinematics for the 10 Assassin Trap Tree Skills: + * - Skill 251: Fire Trauma / Fire Blast (ReqLevel 1) + * - Skill 256: Shock Field / Shock Web (ReqLevel 6) + * - Skill 257: Blade Sentinel (ReqLevel 6) + * - Skill 261: Charged Bolt Sentry (ReqLevel 12) + * - Skill 262: Wake of Fire Sentry (ReqLevel 12) + * - Skill 266: Blade Fury (ReqLevel 18) + * - Skill 271: Lightning Sentry (ReqLevel 24) + * - Skill 272: Inferno Sentry / Wake of Inferno (ReqLevel 24) + * - Skill 276: Death Sentry (ReqLevel 30) + * - Skill 277: Blade Shield (ReqLevel 30) + * + * 1.13c Ground Truth: + * - Skills.txt, Missiles.txt, MonStats.txt, PetType.txt (Patch_D2.mpq). + * - Global Trap Cap: + * PetType `assassintrap` has global max = 5 across all stationary sentries + * (Charged Bolt, Wake of Fire, Lightning, Inferno, Death Sentry) and Blade Sentinel. + * Summoning a 6th trap causes strict FIFO eviction of the oldest active trap. + * - NextDelay Mechanics: + * Wake of Fire (`wake of destruction maker`): NextDelay = 4 frames (0.16s). + * Shock Web (`shock field on ground`): NextDelay = 25 frames (1.0s). + * Blade Sentinel (`blade creeper`): NextDelay = 25 frames (1.0s). + * Entities taking damage enter a temporary immunity window for missiles sharing that NextDelay. + * - Weapon Damage Scaling (`srcDam` in 128ths): + * Blade Sentinel: srcDam = 48 -> 48 / 128 = 3/8 (37.5%). + * Blade Fury: srcDam = 96 -> 96 / 128 = 3/4 (75.0%). + * Blade Shield: srcDam = 32 -> 32 / 128 = 1/4 (25.0%). + * - Death Sentry Dual-Mode AI: + * Prioritizes valid corpses within radius: 40% to 80% corpse max HP explosion (50% phys / 50% fire). + * Radius: 10 + (slvl - 1) subtiles (3.3 yards base, +0.33 yards/lvl). + * If no corpse in radius, fires piercing lightning bolt at live targets. + * Shots: 5 base + floor(Fire Blast blvl / 3). + * - Zero runtime MPQ reading. + */ + +import { compute5BandScaling } from '../engine/calc-ast.ts' + +// --- Skill IDs --- + +export const ASSASSIN_TRAP_SKILL_IDS = { + FIRE_BLAST: 251, + SHOCK_WEB: 256, + BLADE_SENTINEL: 257, + CHARGED_BOLT_SENTRY: 261, + WAKE_OF_FIRE: 262, + BLADE_FURY: 266, + LIGHTNING_SENTRY: 271, + WAKE_OF_INFERNO: 272, + DEATH_SENTRY: 276, + BLADE_SHIELD: 277, +} as const + +// Pet sub-skill IDs for sentries +export const ASSASSIN_PET_SUB_SKILL_IDS = { + WAKE_OF_DESTRUCTION_MAKER: 281, + BOLT_SENTRY: 306, + MON_INFERNO_SENTRY: 311, + MON_DEATH_SENTRY: 312, + SENTRY_LIGHTNING: 313, + DEATH_SENTRY_LTNG: 324, +} as const + +// --- Constants --- + +export const MAX_ACTIVE_TRAPS = 5 +export const TRAP_PET_TYPE = 'assassintrap' + +export const NEXT_DELAY_FRAMES = { + WAKE_OF_FIRE: 4, + SHOCK_WEB: 25, + BLADE_SENTINEL: 25, + DRAGON_FLIGHT: 4, +} as const + +export const BLADE_SRC_DAM = { + BLADE_SENTINEL: 48, // 48 / 128 = 3/8 + BLADE_FURY: 96, // 96 / 128 = 3/4 + BLADE_SHIELD: 32, // 32 / 128 = 1/4 +} as const + +// --- Interfaces --- + +export interface ActiveTrap { + readonly id: string + readonly ownerId: string | number + readonly skillId: number + readonly summonMon: string + readonly x: number + readonly y: number + readonly slvl: number + remainingShots: number + readonly createdAtFrame: number + readonly maxLifetimeFrames: number + lastAttackFrame: number +} + +export interface NextDelayRecord { + readonly entityId: string | number + readonly channelId: string | number + expiresAtFrame: number +} + +// --- NextDelay Engine --- + +export class NextDelayTracker { + private readonly records = new Map() + + private makeKey(entityId: string | number, channel: string | number): string { + return `${entityId}:${channel}` + } + + canTakeDamage(entityId: string | number, channel: string | number, currentFrame: number): boolean { + const key = this.makeKey(entityId, channel) + const expiresAt = this.records.get(key) + if (expiresAt === undefined) return true + return currentFrame >= expiresAt + } + + recordHit(entityId: string | number, channel: string | number, currentFrame: number, delayFrames: number): void { + const key = this.makeKey(entityId, channel) + this.records.set(key, currentFrame + delayFrames) + } + + cleanExpired(currentFrame: number): void { + for (const [key, expiresAt] of this.records.entries()) { + if (currentFrame >= expiresAt) { + this.records.delete(key) + } + } + } + + clear(): void { + this.records.clear() + } +} + +// --- Trap Manager Engine --- + +export class TrapManager { + private readonly traps: ActiveTrap[] = [] + private nextTrapId = 1 + + getActiveTraps(ownerId?: string | number): readonly ActiveTrap[] { + if (ownerId === undefined) return this.traps + return this.traps.filter(t => t.ownerId === ownerId) + } + + getActiveTrapCount(ownerId: string | number): number { + return this.traps.filter(t => t.ownerId === ownerId).length + } + + registerTrap(trapData: { + ownerId: string | number + skillId: number + summonMon: string + x: number + y: number + slvl: number + shots: number + currentFrame: number + lifetimeFrames?: number + }): { trap: ActiveTrap; evictedTrap?: ActiveTrap | undefined } { + let evictedTrap: ActiveTrap | undefined + + const ownerTraps = this.traps.filter(t => t.ownerId === trapData.ownerId) + if (ownerTraps.length >= MAX_ACTIVE_TRAPS) { + // FIFO: evict the oldest trap + evictedTrap = ownerTraps[0] + const idx = this.traps.indexOf(evictedTrap!) + if (idx !== -1) { + this.traps.splice(idx, 1) + } + } + + const trap: ActiveTrap = { + id: `trap_${this.nextTrapId++}`, + ownerId: trapData.ownerId, + skillId: trapData.skillId, + summonMon: trapData.summonMon, + x: trapData.x, + y: trapData.y, + slvl: trapData.slvl, + remainingShots: trapData.shots, + createdAtFrame: trapData.currentFrame, + maxLifetimeFrames: trapData.lifetimeFrames ?? 3000, + lastAttackFrame: -1000, + } + + this.traps.push(trap) + return { trap, evictedTrap } + } + + consumeShot(trapId: string): { remaining: number; destroyed: boolean } { + const idx = this.traps.findIndex(t => t.id === trapId) + if (idx === -1) return { remaining: 0, destroyed: true } + + const trap = this.traps[idx]! + trap.remainingShots -= 1 + if (trap.remainingShots <= 0) { + this.traps.splice(idx, 1) + return { remaining: 0, destroyed: true } + } + return { remaining: trap.remainingShots, destroyed: false } + } + + removeTrap(trapId: string): boolean { + const idx = this.traps.findIndex(t => t.id === trapId) + if (idx === -1) return false + this.traps.splice(idx, 1) + return true + } + + clear(ownerId?: string | number): void { + if (ownerId === undefined) { + this.traps.length = 0 + } else { + for (let i = this.traps.length - 1; i >= 0; i--) { + if (this.traps[i]!.ownerId === ownerId) { + this.traps.splice(i, 1) + } + } + } + } +} + +// --- Pure Damage & Stats Calculators --- + +/** + * 1.13c Weapon damage scaling for Assassin Blade skills. + * srcDam is in 128ths. + */ +export function computeBladeWeaponDamage(baseWeaponDamage: number, skillId: number): number { + switch (skillId) { + case ASSASSIN_TRAP_SKILL_IDS.BLADE_SENTINEL: + // 48 / 128 = 3/8 = 37.5% + return Math.floor((baseWeaponDamage * BLADE_SRC_DAM.BLADE_SENTINEL) / 128) + case ASSASSIN_TRAP_SKILL_IDS.BLADE_FURY: + // 96 / 128 = 3/4 = 75.0% + return Math.floor((baseWeaponDamage * BLADE_SRC_DAM.BLADE_FURY) / 128) + case ASSASSIN_TRAP_SKILL_IDS.BLADE_SHIELD: + // 32 / 128 = 1/4 = 25.0% + return Math.floor((baseWeaponDamage * BLADE_SRC_DAM.BLADE_SHIELD) / 128) + default: + return baseWeaponDamage + } +} + +/** + * Skill #251: Fire Blast / Fire Trauma + * 1.13c Parity: + * - 5-band Fire damage: base 3-4, +2..+7 per band (HitShift 8) + * - Synergies: +9% per hard point of CBS, WoF, LS, WoI, DS, Shock Web + * - Radius: 5 subtiles base + floor(allTrapSynergies / 3) + */ +export function evaluateFireBlastStats( + slvl: number, + hardPoints: { + shockWeb?: number + chargedBoltSentry?: number + wakeOfFire?: number + lightningSentry?: number + wakeOfInferno?: number + deathSentry?: number + } = {} +): { + minDamage: number + maxDamage: number + minDamage256: number + maxDamage256: number + radiusSubtiles: number + manaCost: number + manaCost256: number + synergyPct: number +} { + const minBase = compute5BandScaling(slvl, 3, 2, 3, 4, 6, 7) + const maxBase = compute5BandScaling(slvl, 4, 3, 4, 6, 8, 9) + + const synCount = + (hardPoints.shockWeb ?? 0) + + (hardPoints.chargedBoltSentry ?? 0) + + (hardPoints.wakeOfFire ?? 0) + + (hardPoints.lightningSentry ?? 0) + + (hardPoints.wakeOfInferno ?? 0) + + (hardPoints.deathSentry ?? 0) + + const synergyPct = synCount * 9 + const mult = 1 + synergyPct / 100 + + const minDamage = Math.floor(minBase * mult) + const maxDamage = Math.floor(maxBase * mult) + + const manaCost = Math.max(1, 3 + Math.floor((slvl - 1) / 8)) + const radiusSubtiles = 5 + Math.floor(synCount / 3) + + return { + minDamage, + maxDamage, + minDamage256: minDamage * 256, + maxDamage256: maxDamage * 256, + radiusSubtiles, + manaCost, + manaCost256: manaCost * 256, + synergyPct, + } +} + +/** + * Skill #256: Shock Web / Shock Field + * 1.13c Parity: + * - Missiles: 6 + floor(slvl / 4) + floor(fireBlastBlvl / 3) + * - 5-band Lightning damage: 2-20 base, max scales +6, +12, +20, +30, +42 (HitShift 7 -> /2) + * - Synergies: +11% per hard point of CBS, LS, DS + * - NextDelay: 25 frames + */ +export function evaluateShockWebStats( + slvl: number, + hardPoints: { + fireBlast?: number + chargedBoltSentry?: number + lightningSentry?: number + deathSentry?: number + } = {} +): { + missileCount: number + minDamage: number + maxDamage: number + minDamage256: number + maxDamage256: number + manaCost: number + synergyPct: number + nextDelayFrames: number +} { + const missileCount = 6 + Math.floor(slvl / 4) + Math.floor((hardPoints.fireBlast ?? 0) / 3) + + const minBase = 1 // 2 with hitshift 7 = 1 + const maxBase = Math.floor(compute5BandScaling(slvl, 20, 6, 12, 20, 30, 42) / 2) + + const synCount = + (hardPoints.chargedBoltSentry ?? 0) + + (hardPoints.lightningSentry ?? 0) + + (hardPoints.deathSentry ?? 0) + const synergyPct = synCount * 11 + const mult = 1 + synergyPct / 100 + + const minDamage = Math.max(1, Math.floor(minBase * mult)) + const maxDamage = Math.max(minDamage, Math.floor(maxBase * mult)) + + return { + missileCount, + minDamage, + maxDamage, + minDamage256: minDamage * 256, + maxDamage256: maxDamage * 256, + manaCost: 6, + synergyPct, + nextDelayFrames: NEXT_DELAY_FRAMES.SHOCK_WEB, + } +} + +/** + * Skill #257: Blade Sentinel + * 1.13c Parity: + * - Weapon Damage: 3/8 (srcDam = 48) + * - Flat Physical Damage: 6-10 base, +3/+4/+5 per band + * - Duration: 100 + 12 * (slvl - 1) frames (4s to 13.12s) + * - NextDelay: 25 frames + * - PetType: assassintrap (max 5) + */ +export function evaluateBladeSentinelStats( + slvl: number, + weaponDamage = 0 +): { + flatMinPhys: number + flatMaxPhys: number + scaledWeaponPhys: number + totalMinPhys: number + totalMaxPhys: number + durationFrames: number + manaCost: number + attackRatingBonusPct: number + nextDelayFrames: number + petMax: number +} { + const flatMinPhys = compute5BandScaling(slvl, 6, 3, 4, 5, 5, 5) + const flatMaxPhys = compute5BandScaling(slvl, 10, 3, 4, 5, 5, 5) + const scaledWeaponPhys = computeBladeWeaponDamage(weaponDamage, ASSASSIN_TRAP_SKILL_IDS.BLADE_SENTINEL) + + const durationFrames = 100 + 12 * (slvl - 1) + const attackRatingBonusPct = slvl * 5 + + return { + flatMinPhys, + flatMaxPhys, + scaledWeaponPhys, + totalMinPhys: flatMinPhys + scaledWeaponPhys, + totalMaxPhys: flatMaxPhys + scaledWeaponPhys, + durationFrames, + manaCost: 7, + attackRatingBonusPct, + nextDelayFrames: NEXT_DELAY_FRAMES.BLADE_SENTINEL, + petMax: MAX_ACTIVE_TRAPS, + } +} + +/** + * Skill #261: Charged Bolt Sentry + * 1.13c Parity: + * - Shots: 5 + floor(LightningSentry.blvl / 4) + * - Bolts per shot: 5 + floor(ShockWeb.blvl / 3) + * - Lightning Damage: 1 base min, max scales +1, +2, +3, +4, +5 (HitShift 8) + * - Synergies: +6% per hard point of Fire Blast, Shock Web, LS, DS + * - PetType: assassintrap (max 5) + */ +export function evaluateChargedBoltSentryStats( + slvl: number, + hardPoints: { + fireBlast?: number + shockWeb?: number + lightningSentry?: number + deathSentry?: number + } = {} +): { + shots: number + boltsPerShot: number + minDamage: number + maxDamage: number + minDamage256: number + maxDamage256: number + manaCost: number + synergyPct: number + petMax: number +} { + const shots = 5 + Math.floor((hardPoints.lightningSentry ?? 0) / 4) + const boltsPerShot = 5 + Math.floor((hardPoints.shockWeb ?? 0) / 3) + + const minBase = 1 + const maxBase = compute5BandScaling(slvl, 7, 1, 2, 3, 4, 5) + + const synCount = + (hardPoints.fireBlast ?? 0) + + (hardPoints.shockWeb ?? 0) + + (hardPoints.lightningSentry ?? 0) + + (hardPoints.deathSentry ?? 0) + const synergyPct = synCount * 6 + const mult = 1 + synergyPct / 100 + + const minDamage = minBase + const maxDamage = Math.max(minDamage, Math.floor(maxBase * mult)) + + return { + shots, + boltsPerShot, + minDamage, + maxDamage, + minDamage256: minDamage * 256, + maxDamage256: maxDamage * 256, + manaCost: 13, + synergyPct, + petMax: MAX_ACTIVE_TRAPS, + } +} + +/** + * Skill #262: Wake of Fire Sentry + * 1.13c Parity: + * - Shots: 5 waves + * - NextDelay: 4 frames + * - Fire Damage: 5-10 base, scales +2, +3, +4, +5, +6 (HitShift 8) + * - Synergies: +8% per hard point of Fire Blast, Wake of Inferno + * - PetType: assassintrap (max 5) + */ +export function evaluateWakeOfFireStats( + slvl: number, + hardPoints: { + fireBlast?: number + wakeOfInferno?: number + } = {} +): { + shots: number + minDamage: number + maxDamage: number + minDamage256: number + maxDamage256: number + manaCost: number + synergyPct: number + nextDelayFrames: number + petMax: number +} { + const minBase = compute5BandScaling(slvl, 5, 2, 3, 4, 5, 6) + const maxBase = compute5BandScaling(slvl, 10, 2, 3, 4, 5, 6) + + const synCount = (hardPoints.fireBlast ?? 0) + (hardPoints.wakeOfInferno ?? 0) + const synergyPct = synCount * 8 + const mult = 1 + synergyPct / 100 + + const minDamage = Math.floor(minBase * mult) + const maxDamage = Math.floor(maxBase * mult) + + return { + shots: 5, + minDamage, + maxDamage, + minDamage256: minDamage * 256, + maxDamage256: maxDamage * 256, + manaCost: 13, + synergyPct, + nextDelayFrames: NEXT_DELAY_FRAMES.WAKE_OF_FIRE, + petMax: MAX_ACTIVE_TRAPS, + } +} + +/** + * Skill #266: Blade Fury + * 1.13c Parity: + * - Weapon Damage: 3/4 (srcDam = 96) + * - Flat Physical Damage: 8-10 base, +3/+5/+8 + * - Channeled tick rate: fires every 6 frames (5 frame delay + 1 action) + * - Mana: 3 to start, 1 per shot + */ +export function evaluateBladeFuryStats( + slvl: number, + weaponDamage = 0 +): { + flatMinPhys: number + flatMaxPhys: number + scaledWeaponPhys: number + totalMinPhys: number + totalMaxPhys: number + startManaCost: number + perShotManaCost: number + framesPerShot: number +} { + const flatMinPhys = compute5BandScaling(slvl, 8, 3, 5, 8, 8, 8) + const flatMaxPhys = compute5BandScaling(slvl, 10, 3, 5, 8, 8, 8) + const scaledWeaponPhys = computeBladeWeaponDamage(weaponDamage, ASSASSIN_TRAP_SKILL_IDS.BLADE_FURY) + + return { + flatMinPhys, + flatMaxPhys, + scaledWeaponPhys, + totalMinPhys: flatMinPhys + scaledWeaponPhys, + totalMaxPhys: flatMaxPhys + scaledWeaponPhys, + startManaCost: 3, + perShotManaCost: 1, + framesPerShot: 6, + } +} + +/** + * Skill #271: Lightning Sentry + * 1.13c Parity: + * - Shots: 10 piercing lightning beams + * - Lightning Damage: 1 base min, max scales +7, +10, +13, +16, +19 (HitShift 8) + * - Synergies: +12% per hard point of Shock Web, CBS, DS + * - PetType: assassintrap (max 5) + */ +export function evaluateLightningSentryStats( + slvl: number, + hardPoints: { + shockWeb?: number + chargedBoltSentry?: number + deathSentry?: number + } = {} +): { + shots: number + minDamage: number + maxDamage: number + minDamage256: number + maxDamage256: number + manaCost: number + synergyPct: number + petMax: number +} { + const minBase = 1 + const maxBase = compute5BandScaling(slvl, 20, 10, 16, 24, 34, 44) + + const synCount = + (hardPoints.shockWeb ?? 0) + + (hardPoints.chargedBoltSentry ?? 0) + + (hardPoints.deathSentry ?? 0) + const synergyPct = synCount * 12 + const mult = 1 + synergyPct / 100 + + const minDamage = minBase + const maxDamage = Math.max(minDamage, Math.floor(maxBase * mult)) + + return { + shots: 10, + minDamage, + maxDamage, + minDamage256: minDamage * 256, + maxDamage256: maxDamage * 256, + manaCost: 20, + synergyPct, + petMax: MAX_ACTIVE_TRAPS, + } +} + +/** + * Skill #272: Inferno Sentry / Wake of Inferno + * 1.13c Parity: + * - Attacks: 10 flamethrower bursts + * - Fire Damage: 1.25 - 3.125 base per tick, scales with level + * - Synergies: +7% per hard point of Fire Blast, Wake of Fire, DS + * - PetType: assassintrap (max 5) + */ +export function evaluateWakeOfInfernoStats( + slvl: number, + hardPoints: { + fireBlast?: number + wakeOfFire?: number + deathSentry?: number + } = {} +): { + attacks: number + minDamage256: number + maxDamage256: number + minDamage: number + maxDamage: number + manaCost: number + synergyPct: number + petMax: number +} { + const minBase256 = compute5BandScaling(slvl, 320, 96, 128, 160, 192, 224) + const maxBase256 = compute5BandScaling(slvl, 800, 144, 192, 240, 288, 336) + + const synCount = + (hardPoints.fireBlast ?? 0) + + (hardPoints.wakeOfFire ?? 0) + + (hardPoints.deathSentry ?? 0) + const synergyPct = synCount * 7 + const mult = 1 + synergyPct / 100 + + const minDamage256 = Math.floor(minBase256 * mult) + const maxDamage256 = Math.floor(maxBase256 * mult) + + return { + attacks: 10, + minDamage256, + maxDamage256, + minDamage: Math.floor(minDamage256 / 256), + maxDamage: Math.floor(maxDamage256 / 256), + manaCost: 20, + synergyPct, + petMax: MAX_ACTIVE_TRAPS, + } +} + +/** + * Skill #276: Death Sentry + * 1.13c Parity: + * - Shots: 5 + floor(FireBlast.blvl / 3) + * - Lightning Damage: 1-50 base, max scales +11, +15, +19, +23, +27 (HitShift 8) + * - Lightning Synergy: +12% per hard point of Lightning Sentry + * - Corpse Explosion: + * 40% to 80% of corpse base HP + * 50% Physical, 50% Fire + * Radius: 10 + (slvl - 1) subtiles (3.3 yards base, +0.33 yards/lvl) + * - PetType: assassintrap (max 5) + */ +export function evaluateDeathSentryStats( + slvl: number, + hardPoints: { + fireBlast?: number + lightningSentry?: number + } = {} +): { + shots: number + minLtngDamage: number + maxLtngDamage: number + minLtngDamage256: number + maxLtngDamage256: number + corpseExplosionMinPct: number + corpseExplosionMaxPct: number + corpseExplosionFireRatio: number + corpseExplosionPhysRatio: number + corpseExplosionRadiusSubtiles: number + manaCost: number + ltngSynergyPct: number + petMax: number +} { + const shots = 5 + Math.floor((hardPoints.fireBlast ?? 0) / 3) + + const minBase = 1 + const maxBase = compute5BandScaling(slvl, 50, 11, 15, 19, 23, 27) + const ltngSynergyPct = (hardPoints.lightningSentry ?? 0) * 12 + const mult = 1 + ltngSynergyPct / 100 + + const minLtngDamage = minBase + const maxLtngDamage = Math.max(minLtngDamage, Math.floor(maxBase * mult)) + + const corpseExplosionRadiusSubtiles = 10 + (slvl - 1) + + return { + shots, + minLtngDamage, + maxLtngDamage, + minLtngDamage256: minLtngDamage * 256, + maxLtngDamage256: maxLtngDamage * 256, + corpseExplosionMinPct: 40, + corpseExplosionMaxPct: 80, + corpseExplosionFireRatio: 0.5, + corpseExplosionPhysRatio: 0.5, + corpseExplosionRadiusSubtiles, + manaCost: 20, + ltngSynergyPct, + petMax: MAX_ACTIVE_TRAPS, + } +} + +/** + * Skill #277: Blade Shield + * 1.13c Parity: + * - Weapon Damage: 1/4 (srcDam = 32) + * - Flat Physical Damage: 1-30 base, +5/+6/+7 + * - Duration: 500 + 125 * (slvl - 1) frames (20s to 115s at slvl 20) + * - Periodic Tick: every 25 frames (1.0s) + * - Radius: 6 subtiles (2.0 yards = 64 px) + * - Mana: 27 + 2 * (slvl - 1) + */ +export function evaluateBladeShieldStats( + slvl: number, + weaponDamage = 0 +): { + flatMinPhys: number + flatMaxPhys: number + scaledWeaponPhys: number + totalMinPhys: number + totalMaxPhys: number + durationFrames: number + tickRateFrames: number + radiusSubtiles: number + manaCost: number +} { + const flatMinPhys = compute5BandScaling(slvl, 1, 5, 6, 7, 7, 7) + const flatMaxPhys = compute5BandScaling(slvl, 30, 5, 6, 7, 7, 7) + const scaledWeaponPhys = computeBladeWeaponDamage(weaponDamage, ASSASSIN_TRAP_SKILL_IDS.BLADE_SHIELD) + + const durationFrames = 500 + 125 * (slvl - 1) + const manaCost = 27 + 2 * (slvl - 1) + + return { + flatMinPhys, + flatMaxPhys, + scaledWeaponPhys, + totalMinPhys: flatMinPhys + scaledWeaponPhys, + totalMaxPhys: flatMaxPhys + scaledWeaponPhys, + durationFrames, + tickRateFrames: 25, + radiusSubtiles: 6, + manaCost, + } +} + +// --- Kinematics & Simulation Helpers --- + +export interface SimulationCorpse { + readonly id: string + readonly x: number + readonly y: number + readonly baseMaxHp: number + consumed: boolean +} + +export interface SimulationEnemy { + readonly id: string + readonly x: number + readonly y: number + currentHp: number + readonly maxHp: number +} + +/** + * Simulate Death Sentry AI target selection: + * 1. If valid unconsumed corpse within explosion radius -> triggers Corpse Explosion (50% fire, 50% phys). + * 2. Else if enemy within lightning attack range (e.g. 15 yards / 480px) -> triggers Lightning Bolt. + * 3. Else -> idle. + */ +export function simulateDeathSentryAI( + trap: ActiveTrap, + corpses: SimulationCorpse[], + enemies: SimulationEnemy[], + options: { + fireBlastBlvl?: number + lightningSentryBlvl?: number + subtilePixelSize?: number + } = {} +): { + action: 'corpse_explosion' | 'lightning' | 'idle' + targetId?: string + damageDealt?: { phys: number; fire: number; ltng: number } + affectedEnemyIds?: string[] +} { + const stats = evaluateDeathSentryStats(trap.slvl, { + fireBlast: options.fireBlastBlvl ?? 0, + lightningSentry: options.lightningSentryBlvl ?? 0, + }) + + const pixelSize = options.subtilePixelSize ?? 16 + const ceRadiusPx = stats.corpseExplosionRadiusSubtiles * pixelSize + + // 1. Search for nearest corpse in CE radius + let bestCorpse: SimulationCorpse | null = null + let bestCorpseDistSq = Infinity + + for (const c of corpses) { + if (c.consumed) continue + const dx = c.x - trap.x + const dy = c.y - trap.y + const distSq = dx * dx + dy * dy + if (distSq <= ceRadiusPx * ceRadiusPx && distSq < bestCorpseDistSq) { + bestCorpseDistSq = distSq + bestCorpse = c + } + } + + if (bestCorpse) { + // Consume corpse + bestCorpse.consumed = true + // Calculate 40-80% corpse life damage (average 60%) + const pct = (stats.corpseExplosionMinPct + stats.corpseExplosionMaxPct) / 200 + const rawDamage = Math.floor(bestCorpse.baseMaxHp * pct) + const physDmg = Math.floor(rawDamage * stats.corpseExplosionPhysRatio) + const fireDmg = rawDamage - physDmg + + const affectedEnemyIds: string[] = [] + for (const e of enemies) { + const dx = e.x - bestCorpse.x + const dy = e.y - bestCorpse.y + if (dx * dx + dy * dy <= ceRadiusPx * ceRadiusPx) { + affectedEnemyIds.push(e.id) + e.currentHp = Math.max(0, e.currentHp - rawDamage) + } + } + + return { + action: 'corpse_explosion', + targetId: bestCorpse.id, + damageDealt: { phys: physDmg, fire: fireDmg, ltng: 0 }, + affectedEnemyIds, + } + } + + // 2. Search for nearest live enemy within lightning range (~480 px) + const maxLtngDistPx = 480 + let bestEnemy: SimulationEnemy | null = null + let bestEnemyDistSq = Infinity + + for (const e of enemies) { + if (e.currentHp <= 0) continue + const dx = e.x - trap.x + const dy = e.y - trap.y + const distSq = dx * dx + dy * dy + if (distSq <= maxLtngDistPx * maxLtngDistPx && distSq < bestEnemyDistSq) { + bestEnemyDistSq = distSq + bestEnemy = e + } + } + + if (bestEnemy) { + const avgLtng = Math.floor((stats.minLtngDamage + stats.maxLtngDamage) / 2) + bestEnemy.currentHp = Math.max(0, bestEnemy.currentHp - avgLtng) + return { + action: 'lightning', + targetId: bestEnemy.id, + damageDealt: { phys: 0, fire: 0, ltng: avgLtng }, + affectedEnemyIds: [bestEnemy.id], + } + } + + return { action: 'idle' } +} + +/** + * Simulate Wake of Fire wave emission with NextDelay protection: + * Each target can only be damaged once per 4 frames by Wake of Fire. + */ +export function simulateWakeOfFireWaveHit( + trap: ActiveTrap, + enemies: SimulationEnemy[], + currentFrame: number, + nextDelayTracker: NextDelayTracker, + options: { + fireBlastBlvl?: number + wakeOfInfernoBlvl?: number + waveRangePx?: number + } = {} +): { + enemiesHit: string[] + totalDamageDealt: number +} { + const stats = evaluateWakeOfFireStats(trap.slvl, { + fireBlast: options.fireBlastBlvl ?? 0, + wakeOfInferno: options.wakeOfInfernoBlvl ?? 0, + }) + + const rangePx = options.waveRangePx ?? 300 + const enemiesHit: string[] = [] + let totalDamageDealt = 0 + + const avgDamage = Math.floor((stats.minDamage + stats.maxDamage) / 2) + + for (const e of enemies) { + if (e.currentHp <= 0) continue + const dx = e.x - trap.x + const dy = e.y - trap.y + if (dx * dx + dy * dy <= rangePx * rangePx) { + // Check NextDelay + if (nextDelayTracker.canTakeDamage(e.id, 'wake_of_fire', currentFrame)) { + enemiesHit.push(e.id) + e.currentHp = Math.max(0, e.currentHp - avgDamage) + totalDamageDealt += avgDamage + nextDelayTracker.recordHit(e.id, 'wake_of_fire', currentFrame, stats.nextDelayFrames) + } + } + } + + return { enemiesHit, totalDamageDealt } +} + +/** + * Calculate Shock Web cluster points dispersed around the target impact point. + */ +export function computeShockWebClusterPoints( + targetX: number, + targetY: number, + slvl: number, + fireBlastBlvl = 0, + radiusPx = 64 +): { x: number; y: number }[] { + const stats = evaluateShockWebStats(slvl, { fireBlast: fireBlastBlvl }) + const points: { x: number; y: number }[] = [] + + // Deterministic circular / hexagonal distribution + for (let i = 0; i < stats.missileCount; i++) { + const angle = (2 * Math.PI * i) / stats.missileCount + // Varied distances for natural cluster density + const r = radiusPx * (0.3 + 0.7 * ((i % 3) / 2)) + points.push({ + x: Math.round(targetX + r * Math.cos(angle)), + y: Math.round(targetY + r * Math.sin(angle)), + }) + } + + return points +} diff --git a/src/render/missiles-meta.ts b/src/render/missiles-meta.ts index eabeb1a..1b35d0c 100644 --- a/src/render/missiles-meta.ts +++ b/src/render/missiles-meta.ts @@ -16697,6 +16697,637 @@ export const HURRICANETREE_META: MissileMeta = { ], } +export const FIRETRAUMA_META: MissileMeta = { + name: "firetrauma", + celFile: "expansion/FireTraumaMissile", + width: 512, + height: 10, + directions: 1, + framesPerDirection: 20, + animSpeed: 16, + groups: [ + [ + [0, 0, 12, 10, -6, -13], + [13, 0, 12, 10, -6, -13], + [26, 0, 12, 10, -6, -13], + [39, 0, 12, 10, -6, -13], + [52, 0, 12, 10, -6, -13], + [65, 0, 12, 10, -6, -13], + [78, 0, 12, 10, -6, -13], + [91, 0, 12, 10, -6, -13], + [104, 0, 12, 10, -6, -13], + [117, 0, 12, 10, -6, -13], + [130, 0, 12, 10, -6, -13], + [143, 0, 12, 10, -6, -13], + [156, 0, 12, 10, -6, -13], + [169, 0, 12, 10, -6, -13], + [182, 0, 12, 10, -6, -13], + [195, 0, 12, 10, -6, -13], + [208, 0, 12, 10, -6, -13], + [221, 0, 12, 10, -6, -13], + [234, 0, 12, 10, -6, -13], + [247, 0, 12, 10, -6, -13] + ] + ], +} + +export const FIRETRAUMAGROUND_META: MissileMeta = { + name: "firetraumaground", + celFile: "expansion/FireTraumaGround", + width: 512, + height: 10, + directions: 1, + framesPerDirection: 1, + animSpeed: 16, + groups: [ + [ + [0, 0, 11, 10, -5, -13] + ] + ], +} + +export const FIRETRAUMAEXPLODE_META: MissileMeta = { + name: "firetraumaexplode", + celFile: "expansion/FireTraumaXplosion", + width: 512, + height: 451, + directions: 1, + framesPerDirection: 20, + animSpeed: 16, + groups: [ + [ + [0, 0, 87, 112, -45, -111], + [88, 0, 87, 112, -45, -111], + [176, 0, 87, 112, -45, -111], + [264, 0, 87, 112, -45, -111], + [352, 0, 87, 112, -45, -111], + [0, 113, 87, 112, -45, -111], + [88, 113, 87, 112, -45, -111], + [176, 113, 87, 112, -45, -111], + [264, 113, 87, 112, -45, -111], + [352, 113, 87, 112, -45, -111], + [0, 226, 87, 112, -45, -111], + [88, 226, 87, 112, -45, -111], + [176, 226, 87, 112, -45, -111], + [264, 226, 87, 112, -45, -111], + [352, 226, 87, 112, -45, -111], + [0, 339, 87, 112, -45, -111], + [88, 339, 87, 112, -45, -111], + [176, 339, 87, 112, -45, -111], + [264, 339, 87, 112, -45, -111], + [352, 339, 87, 112, -45, -111] + ] + ], +} + +export const SHOCKFIELDAIR_META: MissileMeta = { + name: "shockfieldair", + celFile: "expansion/caltrops", + width: 512, + height: 65, + directions: 32, + framesPerDirection: 8, + animSpeed: 16, + groups: [ + [ + [0, 0, 11, 10, -5, -1], + [12, 0, 11, 10, -5, -1], + [24, 0, 11, 10, -5, -1], + [36, 0, 11, 10, -5, -1], + [48, 0, 11, 10, -5, -1], + [60, 0, 11, 10, -5, -1], + [72, 0, 11, 10, -5, -1], + [84, 0, 11, 10, -5, -1] + ], + [ + [96, 0, 10, 10, -2, 0], + [107, 0, 10, 10, -2, 0], + [118, 0, 10, 10, -2, 0], + [129, 0, 10, 10, -2, 0], + [140, 0, 10, 10, -2, 0], + [151, 0, 10, 10, -2, 0], + [162, 0, 10, 10, -2, 0], + [173, 0, 10, 10, -2, 0] + ], + [ + [184, 0, 9, 9, -5, 2], + [194, 0, 9, 9, -5, 2], + [204, 0, 9, 9, -5, 2], + [214, 0, 9, 9, -5, 2], + [224, 0, 9, 9, -5, 2], + [234, 0, 9, 9, -5, 2], + [244, 0, 9, 9, -5, 2], + [254, 0, 9, 9, -5, 2] + ], + [ + [264, 0, 11, 10, -8, 0], + [276, 0, 11, 10, -8, 0], + [288, 0, 11, 10, -8, 0], + [300, 0, 11, 10, -8, 0], + [312, 0, 11, 10, -8, 0], + [324, 0, 11, 10, -8, 0], + [336, 0, 11, 10, -8, 0], + [348, 0, 11, 10, -8, 0] + ], + [ + [360, 0, 7, 10, -5, -1], + [368, 0, 7, 10, -5, -1], + [376, 0, 7, 10, -5, -1], + [384, 0, 7, 10, -5, -1], + [392, 0, 7, 10, -5, -1], + [400, 0, 7, 10, -5, -1], + [408, 0, 7, 10, -5, -1], + [416, 0, 7, 10, -5, -1] + ], + [ + [424, 0, 10, 9, -3, 0], + [435, 0, 10, 9, -3, 0], + [446, 0, 10, 9, -3, 0], + [457, 0, 10, 9, -3, 0], + [468, 0, 10, 9, -3, 0], + [479, 0, 10, 9, -3, 0], + [490, 0, 10, 9, -3, 0], + [501, 0, 10, 9, -3, 0] + ], + [ + [0, 11, 8, 10, -2, 1], + [9, 11, 8, 10, -2, 1], + [18, 11, 8, 10, -2, 1], + [27, 11, 8, 10, -2, 1], + [36, 11, 8, 10, -2, 1], + [45, 11, 8, 10, -2, 1], + [54, 11, 8, 10, -2, 1], + [63, 11, 8, 10, -2, 1] + ], + [ + [72, 11, 10, 10, -7, 1], + [83, 11, 10, 10, -7, 1], + [94, 11, 10, 10, -7, 1], + [105, 11, 10, 10, -7, 1], + [116, 11, 10, 10, -7, 1], + [127, 11, 10, 10, -7, 1], + [138, 11, 10, 10, -7, 1], + [149, 11, 10, 10, -7, 1] + ], + [ + [160, 11, 9, 10, -5, -1], + [170, 11, 9, 10, -5, -1], + [180, 11, 9, 10, -5, -1], + [190, 11, 9, 10, -5, -1], + [200, 11, 9, 10, -5, -1], + [210, 11, 9, 10, -5, -1], + [220, 11, 9, 10, -5, -1], + [230, 11, 9, 10, -5, -1] + ], + [ + [240, 11, 10, 10, -3, -1], + [251, 11, 10, 10, -3, -1], + [262, 11, 10, 10, -3, -1], + [273, 11, 10, 10, -3, -1], + [284, 11, 10, 10, -3, -1], + [295, 11, 10, 10, -3, -1], + [306, 11, 10, 10, -3, -1], + [317, 11, 10, 10, -3, -1] + ], + [ + [328, 11, 11, 10, -3, 0], + [340, 11, 11, 10, -3, 0], + [352, 11, 11, 10, -3, 0], + [364, 11, 11, 10, -3, 0], + [376, 11, 11, 10, -3, 0], + [388, 11, 11, 10, -3, 0], + [400, 11, 11, 10, -3, 0], + [412, 11, 11, 10, -3, 0] + ], + [ + [424, 11, 10, 10, -3, 1], + [435, 11, 10, 10, -3, 1], + [446, 11, 10, 10, -3, 1], + [457, 11, 10, 10, -3, 1], + [468, 11, 10, 10, -3, 1], + [479, 11, 10, 10, -3, 1], + [490, 11, 10, 10, -3, 1], + [501, 11, 10, 10, -3, 1] + ], + [ + [0, 22, 9, 10, -3, 1], + [10, 22, 9, 10, -3, 1], + [20, 22, 9, 10, -3, 1], + [30, 22, 9, 10, -3, 1], + [40, 22, 9, 10, -3, 1], + [50, 22, 9, 10, -3, 1], + [60, 22, 9, 10, -3, 1], + [70, 22, 9, 10, -3, 1] + ], + [ + [80, 22, 10, 10, -6, 1], + [91, 22, 10, 10, -6, 1], + [102, 22, 10, 10, -6, 1], + [113, 22, 10, 10, -6, 1], + [124, 22, 10, 10, -6, 1], + [135, 22, 10, 10, -6, 1], + [146, 22, 10, 10, -6, 1], + [157, 22, 10, 10, -6, 1] + ], + [ + [168, 22, 10, 9, -8, 1], + [179, 22, 10, 9, -8, 1], + [190, 22, 10, 9, -8, 1], + [201, 22, 10, 9, -8, 1], + [212, 22, 10, 9, -8, 1], + [223, 22, 10, 9, -8, 1], + [234, 22, 10, 9, -8, 1], + [245, 22, 10, 9, -8, 1] + ], + [ + [256, 22, 9, 9, -6, 0], + [266, 22, 9, 9, -6, 0], + [276, 22, 9, 9, -6, 0], + [286, 22, 9, 9, -6, 0], + [296, 22, 9, 9, -6, 0], + [306, 22, 9, 9, -6, 0], + [316, 22, 9, 9, -6, 0], + [326, 22, 9, 9, -6, 0] + ], + [ + [336, 22, 8, 10, -5, -1], + [345, 22, 8, 10, -5, -1], + [354, 22, 8, 10, -5, -1], + [363, 22, 8, 10, -5, -1], + [372, 22, 8, 10, -5, -1], + [381, 22, 8, 10, -5, -1], + [390, 22, 8, 10, -5, -1], + [399, 22, 8, 10, -5, -1] + ], + [ + [408, 22, 9, 10, -5, -1], + [418, 22, 9, 10, -5, -1], + [428, 22, 9, 10, -5, -1], + [438, 22, 9, 10, -5, -1], + [448, 22, 9, 10, -5, -1], + [458, 22, 9, 10, -5, -1], + [468, 22, 9, 10, -5, -1], + [478, 22, 9, 10, -5, -1] + ], + [ + [488, 22, 10, 10, -4, -1], + [499, 22, 10, 10, -4, -1], + [0, 33, 10, 10, -4, -1], + [11, 33, 10, 10, -4, -1], + [22, 33, 10, 10, -4, -1], + [33, 33, 10, 10, -4, -1], + [44, 33, 10, 10, -4, -1], + [55, 33, 10, 10, -4, -1] + ], + [ + [66, 33, 10, 9, -3, 0], + [77, 33, 10, 9, -3, 0], + [88, 33, 10, 9, -3, 0], + [99, 33, 10, 9, -3, 0], + [110, 33, 10, 9, -3, 0], + [121, 33, 10, 9, -3, 0], + [132, 33, 10, 9, -3, 0], + [143, 33, 10, 9, -3, 0] + ], + [ + [154, 33, 9, 10, -2, 0], + [164, 33, 9, 10, -2, 0], + [174, 33, 9, 10, -2, 0], + [184, 33, 9, 10, -2, 0], + [194, 33, 9, 10, -2, 0], + [204, 33, 9, 10, -2, 0], + [214, 33, 9, 10, -2, 0], + [224, 33, 9, 10, -2, 0] + ], + [ + [234, 33, 9, 10, -2, 0], + [244, 33, 9, 10, -2, 0], + [254, 33, 9, 10, -2, 0], + [264, 33, 9, 10, -2, 0], + [274, 33, 9, 10, -2, 0], + [284, 33, 9, 10, -2, 0], + [294, 33, 9, 10, -2, 0], + [304, 33, 9, 10, -2, 0] + ], + [ + [314, 33, 10, 10, -3, 0], + [325, 33, 10, 10, -3, 0], + [336, 33, 10, 10, -3, 0], + [347, 33, 10, 10, -3, 0], + [358, 33, 10, 10, -3, 0], + [369, 33, 10, 10, -3, 0], + [380, 33, 10, 10, -3, 0], + [391, 33, 10, 10, -3, 0] + ], + [ + [402, 33, 9, 10, -2, 1], + [412, 33, 9, 10, -2, 1], + [422, 33, 9, 10, -2, 1], + [432, 33, 9, 10, -2, 1], + [442, 33, 9, 10, -2, 1], + [452, 33, 9, 10, -2, 1], + [462, 33, 9, 10, -2, 1], + [472, 33, 9, 10, -2, 1] + ], + [ + [482, 33, 8, 10, -3, 1], + [491, 33, 8, 10, -3, 1], + [500, 33, 8, 10, -3, 1], + [0, 44, 8, 10, -3, 1], + [9, 44, 8, 10, -3, 1], + [18, 44, 8, 10, -3, 1], + [27, 44, 8, 10, -3, 1], + [36, 44, 8, 10, -3, 1] + ], + [ + [45, 44, 10, 10, -5, 1], + [56, 44, 10, 10, -5, 1], + [67, 44, 10, 10, -5, 1], + [78, 44, 10, 10, -5, 1], + [89, 44, 10, 10, -5, 1], + [100, 44, 10, 10, -5, 1], + [111, 44, 10, 10, -5, 1], + [122, 44, 10, 10, -5, 1] + ], + [ + [133, 44, 10, 10, -6, 1], + [144, 44, 10, 10, -6, 1], + [155, 44, 10, 10, -6, 1], + [166, 44, 10, 10, -6, 1], + [177, 44, 10, 10, -6, 1], + [188, 44, 10, 10, -6, 1], + [199, 44, 10, 10, -6, 1], + [210, 44, 10, 10, -6, 1] + ], + [ + [221, 44, 10, 9, -7, 1], + [232, 44, 10, 9, -7, 1], + [243, 44, 10, 9, -7, 1], + [254, 44, 10, 9, -7, 1], + [265, 44, 10, 9, -7, 1], + [276, 44, 10, 9, -7, 1], + [287, 44, 10, 9, -7, 1], + [298, 44, 10, 9, -7, 1] + ], + [ + [309, 44, 9, 10, -7, 1], + [319, 44, 9, 10, -7, 1], + [329, 44, 9, 10, -7, 1], + [339, 44, 9, 10, -7, 1], + [349, 44, 9, 10, -7, 1], + [359, 44, 9, 10, -7, 1], + [369, 44, 9, 10, -7, 1], + [379, 44, 9, 10, -7, 1] + ], + [ + [389, 44, 10, 10, -8, 0], + [400, 44, 10, 10, -8, 0], + [411, 44, 10, 10, -8, 0], + [422, 44, 10, 10, -8, 0], + [433, 44, 10, 10, -8, 0], + [444, 44, 10, 10, -8, 0], + [455, 44, 10, 10, -8, 0], + [466, 44, 10, 10, -8, 0] + ], + [ + [477, 44, 9, 10, -7, -1], + [487, 44, 9, 10, -7, -1], + [497, 44, 9, 10, -7, -1], + [0, 55, 9, 10, -7, -1], + [10, 55, 9, 10, -7, -1], + [20, 55, 9, 10, -7, -1], + [30, 55, 9, 10, -7, -1], + [40, 55, 9, 10, -7, -1] + ], + [ + [50, 55, 9, 10, -6, -1], + [60, 55, 9, 10, -6, -1], + [70, 55, 9, 10, -6, -1], + [80, 55, 9, 10, -6, -1], + [90, 55, 9, 10, -6, -1], + [100, 55, 9, 10, -6, -1], + [110, 55, 9, 10, -6, -1], + [120, 55, 9, 10, -6, -1] + ] + ], +} + +export const SHOCKFIELDGROUND_META: MissileMeta = { + name: "shockfieldground", + celFile: "Expansion/ShockField", + width: 1024, + height: 647, + directions: 8, + framesPerDirection: 10, + animSpeed: 16, + groups: [ + [ + [0, 0, 102, 60, -56, -32], + [103, 0, 102, 60, -56, -32], + [206, 0, 102, 60, -56, -32], + [309, 0, 102, 60, -56, -32], + [412, 0, 102, 60, -56, -32], + [515, 0, 102, 60, -56, -32], + [618, 0, 102, 60, -56, -32], + [721, 0, 102, 60, -56, -32], + [824, 0, 102, 60, -56, -32], + [0, 61, 102, 60, -56, -32] + ], + [ + [103, 61, 95, 60, -40, -31], + [199, 61, 95, 60, -40, -31], + [295, 61, 95, 60, -40, -31], + [391, 61, 95, 60, -40, -31], + [487, 61, 95, 60, -40, -31], + [583, 61, 95, 60, -40, -31], + [679, 61, 95, 60, -40, -31], + [775, 61, 95, 60, -40, -31], + [871, 61, 95, 60, -40, -31], + [0, 122, 95, 60, -40, -31] + ], + [ + [96, 122, 100, 77, -43, -31], + [197, 122, 100, 77, -43, -31], + [298, 122, 100, 77, -43, -31], + [399, 122, 100, 77, -43, -31], + [500, 122, 100, 77, -43, -31], + [601, 122, 100, 77, -43, -31], + [702, 122, 100, 77, -43, -31], + [803, 122, 100, 77, -43, -31], + [904, 122, 100, 77, -43, -31], + [0, 200, 100, 77, -43, -31] + ], + [ + [101, 200, 96, 78, -49, -33], + [198, 200, 96, 78, -49, -33], + [295, 200, 96, 78, -49, -33], + [392, 200, 96, 78, -49, -33], + [489, 200, 96, 78, -49, -33], + [586, 200, 96, 78, -49, -33], + [683, 200, 96, 78, -49, -33], + [780, 200, 96, 78, -49, -33], + [877, 200, 96, 78, -49, -33], + [0, 279, 96, 78, -49, -33] + ], + [ + [97, 279, 95, 77, -41, -34], + [193, 279, 95, 77, -41, -34], + [289, 279, 95, 77, -41, -34], + [385, 279, 95, 77, -41, -34], + [481, 279, 95, 77, -41, -34], + [577, 279, 95, 77, -41, -34], + [673, 279, 95, 77, -41, -34], + [769, 279, 95, 77, -41, -34], + [865, 279, 95, 77, -41, -34], + [0, 358, 95, 77, -41, -34] + ], + [ + [96, 358, 105, 56, -50, -27], + [202, 358, 105, 56, -50, -27], + [308, 358, 105, 56, -50, -27], + [414, 358, 105, 56, -50, -27], + [520, 358, 105, 56, -50, -27], + [626, 358, 105, 56, -50, -27], + [732, 358, 105, 56, -50, -27], + [838, 358, 105, 56, -50, -27], + [0, 436, 105, 56, -50, -27], + [106, 436, 105, 56, -50, -27] + ], + [ + [212, 436, 93, 70, -53, -33], + [306, 436, 93, 70, -53, -33], + [400, 436, 93, 70, -53, -33], + [494, 436, 93, 70, -53, -33], + [588, 436, 93, 70, -53, -33], + [682, 436, 93, 70, -53, -33], + [776, 436, 93, 70, -53, -33], + [870, 436, 93, 70, -53, -33], + [0, 507, 93, 70, -53, -33], + [94, 507, 93, 70, -53, -33] + ], + [ + [188, 507, 101, 69, -55, -32], + [290, 507, 101, 69, -55, -32], + [392, 507, 101, 69, -55, -32], + [494, 507, 101, 69, -55, -32], + [596, 507, 101, 69, -55, -32], + [698, 507, 101, 69, -55, -32], + [800, 507, 101, 69, -55, -32], + [902, 507, 101, 69, -55, -32], + [0, 578, 101, 69, -55, -32], + [102, 578, 101, 69, -55, -32] + ] + ], +} + +export const BLADEFURY_META: MissileMeta = { + name: "bladefury", + celFile: "Expansion/bladefury", + width: 512, + height: 6, + directions: 1, + framesPerDirection: 7, + animSpeed: 16, + groups: [ + [ + [0, 0, 13, 6, -6, -34], + [14, 0, 13, 6, -6, -34], + [28, 0, 13, 6, -6, -34], + [42, 0, 13, 6, -6, -34], + [56, 0, 13, 6, -6, -34], + [70, 0, 13, 6, -6, -34], + [84, 0, 13, 6, -6, -34] + ] + ], +} + +export const BLADEFURYB_META: MissileMeta = { + name: "bladefuryb", + celFile: "Expansion/bladefury_B", + width: 512, + height: 9, + directions: 1, + framesPerDirection: 7, + animSpeed: 16, + groups: [ + [ + [0, 0, 20, 9, -10, -35], + [21, 0, 20, 9, -10, -35], + [42, 0, 20, 9, -10, -35], + [63, 0, 20, 9, -10, -35], + [84, 0, 20, 9, -10, -35], + [105, 0, 20, 9, -10, -35], + [126, 0, 20, 9, -10, -35] + ] + ], +} + +export const BLADEFURYC_META: MissileMeta = { + name: "bladefuryc", + celFile: "Expansion/bladefury_C", + width: 512, + height: 11, + directions: 1, + framesPerDirection: 7, + animSpeed: 16, + groups: [ + [ + [0, 0, 24, 11, -12, -36], + [25, 0, 24, 11, -12, -36], + [50, 0, 24, 11, -12, -36], + [75, 0, 24, 11, -12, -36], + [100, 0, 24, 11, -12, -36], + [125, 0, 24, 11, -12, -36], + [150, 0, 24, 11, -12, -36] + ] + ], +} + +export const DEATHSENTRYEXPLODE_META: MissileMeta = { + name: "deathsentryexplode", + celFile: "Expansion/dethsentry02", + width: 512, + height: 275, + directions: 1, + framesPerDirection: 12, + animSpeed: 16, + groups: [ + [ + [0, 0, 115, 91, -66, -66], + [116, 0, 115, 91, -66, -66], + [232, 0, 115, 91, -66, -66], + [348, 0, 115, 91, -66, -66], + [0, 92, 115, 91, -66, -66], + [116, 92, 115, 91, -66, -66], + [232, 92, 115, 91, -66, -66], + [348, 92, 115, 91, -66, -66], + [0, 184, 115, 91, -66, -66], + [116, 184, 115, 91, -66, -66], + [232, 184, 115, 91, -66, -66], + [348, 184, 115, 91, -66, -66] + ] + ], +} + +export const BLADESHIELDMISSILE_META: MissileMeta = { + name: "bladeshieldmissile", + celFile: "Expansion/blade_shield_missile", + width: 512, + height: 11, + directions: 1, + framesPerDirection: 5, + animSpeed: 16, + groups: [ + [ + [0, 0, 20, 11, -10, -7], + [21, 0, 20, 11, -10, -7], + [42, 0, 20, 11, -10, -7], + [63, 0, 20, 11, -10, -7], + [84, 0, 20, 11, -10, -7] + ] + ], +} + export const BLIZZARD4_META: MissileMeta = { ...BLIZZARD3_META, name: 'blizzard4', @@ -16939,6 +17570,16 @@ export const MISSILE_METAS: Readonly> = Object.freez 'hurricaneswoosh': HURRICANESWOOSH_META, 'hurricanerock': HURRICANEROCK_META, 'hurricanetree': HURRICANETREE_META, + 'firetrauma': FIRETRAUMA_META, + 'firetraumaground': FIRETRAUMAGROUND_META, + 'firetraumaexplode': FIRETRAUMAEXPLODE_META, + 'shockfieldair': SHOCKFIELDAIR_META, + 'shockfieldground': SHOCKFIELDGROUND_META, + 'bladefury': BLADEFURY_META, + 'bladefuryb': BLADEFURYB_META, + 'bladefuryc': BLADEFURYC_META, + 'deathsentryexplode': DEATHSENTRYEXPLODE_META, + 'bladeshieldmissile': BLADESHIELDMISSILE_META, 'revivesmall': REVIVESMALL_META, 'revivemedium': REVIVEMEDIUM_META, 'revivelarge': REVIVELARGE_META, diff --git a/src/render/overlays-meta.ts b/src/render/overlays-meta.ts index a2d3d1c..122b343 100644 --- a/src/render/overlays-meta.ts +++ b/src/render/overlays-meta.ts @@ -22058,6 +22058,320 @@ export const DIREWOLFCHARGED_OVERLAY_META: OverlayMeta = { ] } +export const BLADE_SHIELD_META: OverlayMeta = { + "name": "blade_shield", + "celFile": "Expansion/blade_shield", + "width": 512, + "height": 200, + "directions": 1, + "frames": 20, + "framesPerDirection": 20, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -33, + "top": -68, + "width": 64, + "height": 66 + }, + "groups": [ + [ + [ + 0, + 0, + 64, + 66, + -33, + -68 + ], + [ + 65, + 0, + 64, + 66, + -33, + -68 + ], + [ + 130, + 0, + 64, + 66, + -33, + -68 + ], + [ + 195, + 0, + 64, + 66, + -33, + -68 + ], + [ + 260, + 0, + 64, + 66, + -33, + -68 + ], + [ + 325, + 0, + 64, + 66, + -33, + -68 + ], + [ + 390, + 0, + 64, + 66, + -33, + -68 + ], + [ + 0, + 67, + 64, + 66, + -33, + -68 + ], + [ + 65, + 67, + 64, + 66, + -33, + -68 + ], + [ + 130, + 67, + 64, + 66, + -33, + -68 + ], + [ + 195, + 67, + 64, + 66, + -33, + -68 + ], + [ + 260, + 67, + 64, + 66, + -33, + -68 + ], + [ + 325, + 67, + 64, + 66, + -33, + -68 + ], + [ + 390, + 67, + 64, + 66, + -33, + -68 + ], + [ + 0, + 134, + 64, + 66, + -33, + -68 + ], + [ + 65, + 134, + 64, + 66, + -33, + -68 + ], + [ + 130, + 134, + 64, + 66, + -33, + -68 + ], + [ + 195, + 134, + 64, + 66, + -33, + -68 + ], + [ + 260, + 134, + 64, + 66, + -33, + -68 + ], + [ + 325, + 134, + 64, + 66, + -33, + -68 + ] + ] + ] +} + +export const DEATHSENTRY_EXPLODE_META: OverlayMeta = { + "name": "deathsentry_explode", + "celFile": "expansion/dethsentry01", + "width": 512, + "height": 547, + "directions": 1, + "frames": 12, + "framesPerDirection": 12, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -93, + "width": 130, + "height": 136 + }, + "groups": [ + [ + [ + 0, + 0, + 130, + 136, + -73, + -93 + ], + [ + 131, + 0, + 130, + 136, + -73, + -93 + ], + [ + 262, + 0, + 130, + 136, + -73, + -93 + ], + [ + 0, + 137, + 130, + 136, + -73, + -93 + ], + [ + 131, + 137, + 130, + 136, + -73, + -93 + ], + [ + 262, + 137, + 130, + 136, + -73, + -93 + ], + [ + 0, + 274, + 130, + 136, + -73, + -93 + ], + [ + 131, + 274, + 130, + 136, + -73, + -93 + ], + [ + 262, + 274, + 130, + 136, + -73, + -93 + ], + [ + 0, + 411, + 130, + 136, + -73, + -93 + ], + [ + 131, + 411, + 130, + 136, + -73, + -93 + ], + [ + 262, + 411, + 130, + 136, + -73, + -93 + ] + ] + ] +} + // Backward compatibility aliases for primary aura constants export const MIGHT_AURA_META: OverlayMeta = MIGHT_FRONT_AURA_META @@ -22297,6 +22611,8 @@ export const ALL_OVERLAY_NAMES: readonly string[] = [ "feralrage4back", "feralrage5back", "direwolfcharged", + "blade_shield", + "deathsentry_explode", ] export const OVERLAY_METAS: Readonly> = { @@ -22899,4 +23215,12 @@ export const OVERLAY_METAS: Readonly> = { "expansion/direwolfcharged": DIREWOLFCHARGED_OVERLAY_META, "dire_wolf_charged": DIREWOLFCHARGED_OVERLAY_META, "direwolf_charged": DIREWOLFCHARGED_OVERLAY_META, + "blade_shield": BLADE_SHIELD_META, + "Expansion/blade_shield": BLADE_SHIELD_META, + "expansion/blade_shield": BLADE_SHIELD_META, + "bladeshield": BLADE_SHIELD_META, + "deathsentry_explode": DEATHSENTRY_EXPLODE_META, + "expansion/dethsentry01": DEATHSENTRY_EXPLODE_META, + "deathsentry": DEATHSENTRY_EXPLODE_META, + "dethsentry01": DEATHSENTRY_EXPLODE_META, } diff --git a/tests/skills/ass/adv-ass-traps-stress.test.ts b/tests/skills/ass/adv-ass-traps-stress.test.ts new file mode 100644 index 0000000..5d3a6ad --- /dev/null +++ b/tests/skills/ass/adv-ass-traps-stress.test.ts @@ -0,0 +1,560 @@ +/** + * Adversarial Stress & Ground Truth Parity Test Suite — Assassin Traps (10 skills) + * + * Validates 1.13c Diablo II mechanics: + * 1. Global 5-trap cap on PetType `assassintrap` with strict FIFO eviction. + * 2. NextDelay mechanics (Wake of Fire 4-frame immunity, Shock Web 25-frame immunity). + * 3. Death Sentry dual-mode AI (corpse prioritization, 50/50 phys/fire split, radius progression, shot scaling). + * 4. Blade skills weapon damage scaling (3/8 for Sentinel, 3/4 for Fury, 1/4 for Shield). + * 5. Shock Web missile cluster dispersion and synergy scaling. + * 6. Sentry shot depletion and life cycles. + * + * Gitea Milestone: M26 (Issue #473) + */ + +import { describe, expect, it } from 'vitest' +import { + ASSASSIN_TRAP_SKILL_IDS, + MAX_ACTIVE_TRAPS, + BLADE_SRC_DAM, + NEXT_DELAY_FRAMES, + TrapManager, + NextDelayTracker, + computeBladeWeaponDamage, + evaluateFireBlastStats, + evaluateShockWebStats, + evaluateBladeSentinelStats, + evaluateChargedBoltSentryStats, + evaluateWakeOfFireStats, + evaluateBladeFuryStats, + evaluateLightningSentryStats, + evaluateWakeOfInfernoStats, + evaluateDeathSentryStats, + evaluateBladeShieldStats, + simulateDeathSentryAI, + simulateWakeOfFireWaveHit, + computeShockWebClusterPoints, + type SimulationCorpse, + type SimulationEnemy, +} from '../../../src/game/skills/assassin-traps.ts' + +describe('Assassin Traps Ground Truth & Adversarial Suite (Milestone M26)', () => { + describe('1. Global Trap Cap & FIFO Eviction (PetType: assassintrap, Limit: 5)', () => { + it('allows up to 5 traps without eviction', () => { + const manager = new TrapManager() + const ownerId = 'assassin_1' + + // Summon 5 different traps + const trap1 = manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.CHARGED_BOLT_SENTRY, + summonMon: 'chargeboltsentry', + x: 100, + y: 100, + slvl: 20, + shots: 5, + currentFrame: 10, + }) + expect(trap1.evictedTrap).toBeUndefined() + expect(manager.getActiveTrapCount(ownerId)).toBe(1) + + manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.WAKE_OF_FIRE, + summonMon: 'wakeofdestruction', + x: 120, + y: 100, + slvl: 20, + shots: 5, + currentFrame: 20, + }) + manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.LIGHTNING_SENTRY, + summonMon: 'lightningsentry', + x: 140, + y: 100, + slvl: 20, + shots: 10, + currentFrame: 30, + }) + manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.WAKE_OF_INFERNO, + summonMon: 'infernosentry', + x: 160, + y: 100, + slvl: 20, + shots: 10, + currentFrame: 40, + }) + const trap5 = manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.DEATH_SENTRY, + summonMon: 'deathsentry', + x: 180, + y: 100, + slvl: 20, + shots: 5, + currentFrame: 50, + }) + + expect(trap5.evictedTrap).toBeUndefined() + expect(manager.getActiveTrapCount(ownerId)).toBe(5) + }) + + it('strictly evicts the oldest trap (FIFO) when a 6th trap is summoned', () => { + const manager = new TrapManager() + const ownerId = 'assassin_1' + + // Register 5 traps + const t1 = manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.LIGHTNING_SENTRY, + summonMon: 'lightningsentry', + x: 10, + y: 10, + slvl: 20, + shots: 10, + currentFrame: 10, + }).trap + + const t2 = manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.LIGHTNING_SENTRY, + summonMon: 'lightningsentry', + x: 20, + y: 10, + slvl: 20, + shots: 10, + currentFrame: 20, + }).trap + + manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.LIGHTNING_SENTRY, + summonMon: 'lightningsentry', + x: 30, + y: 10, + slvl: 20, + shots: 10, + currentFrame: 30, + }) + + manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.DEATH_SENTRY, + summonMon: 'deathsentry', + x: 40, + y: 10, + slvl: 20, + shots: 5, + currentFrame: 40, + }) + + manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.DEATH_SENTRY, + summonMon: 'deathsentry', + x: 50, + y: 10, + slvl: 20, + shots: 5, + currentFrame: 50, + }) + + expect(manager.getActiveTrapCount(ownerId)).toBe(5) + + // Summon 6th trap -> t1 (the oldest) MUST be evicted! + const res6 = manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.WAKE_OF_FIRE, + summonMon: 'wakeofdestruction', + x: 60, + y: 10, + slvl: 20, + shots: 5, + currentFrame: 60, + }) + + expect(res6.evictedTrap).toBeDefined() + expect(res6.evictedTrap?.id).toBe(t1.id) + expect(manager.getActiveTrapCount(ownerId)).toBe(5) + + // Active traps should NOT contain t1 + const activeIds = manager.getActiveTraps(ownerId).map(t => t.id) + expect(activeIds).not.toContain(t1.id) + expect(activeIds).toContain(res6.trap.id) + + // Summon 7th trap -> t2 MUST be evicted! + const res7 = manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.CHARGED_BOLT_SENTRY, + summonMon: 'chargeboltsentry', + x: 70, + y: 10, + slvl: 20, + shots: 5, + currentFrame: 70, + }) + expect(res7.evictedTrap?.id).toBe(t2.id) + expect(manager.getActiveTrapCount(ownerId)).toBe(5) + }) + + it('isolates trap quotas per player/owner in multiplayer arena', () => { + const manager = new TrapManager() + const p1 = 'assassin_alice' + const p2 = 'assassin_bob' + + for (let i = 0; i < 5; i++) { + manager.registerTrap({ + ownerId: p1, + skillId: ASSASSIN_TRAP_SKILL_IDS.LIGHTNING_SENTRY, + summonMon: 'lightningsentry', + x: i * 10, + y: 0, + slvl: 20, + shots: 10, + currentFrame: 0, + }) + manager.registerTrap({ + ownerId: p2, + skillId: ASSASSIN_TRAP_SKILL_IDS.DEATH_SENTRY, + summonMon: 'deathsentry', + x: i * 10, + y: 50, + slvl: 20, + shots: 5, + currentFrame: 0, + }) + } + + expect(manager.getActiveTrapCount(p1)).toBe(5) + expect(manager.getActiveTrapCount(p2)).toBe(5) + + // Summon 6th trap for p1; only p1's trap is evicted, p2's remain intact + const res = manager.registerTrap({ + ownerId: p1, + skillId: ASSASSIN_TRAP_SKILL_IDS.WAKE_OF_FIRE, + summonMon: 'wakeofdestruction', + x: 999, + y: 0, + slvl: 20, + shots: 5, + currentFrame: 100, + }) + + expect(res.evictedTrap?.ownerId).toBe(p1) + expect(manager.getActiveTrapCount(p1)).toBe(5) + expect(manager.getActiveTrapCount(p2)).toBe(5) + }) + + it('automatically destroys trap when shot count reaches zero', () => { + const manager = new TrapManager() + const ownerId = 'assassin_1' + + const { trap } = manager.registerTrap({ + ownerId, + skillId: ASSASSIN_TRAP_SKILL_IDS.DEATH_SENTRY, + summonMon: 'deathsentry', + x: 0, + y: 0, + slvl: 1, + shots: 3, + currentFrame: 0, + }) + + expect(manager.getActiveTrapCount(ownerId)).toBe(1) + + const s1 = manager.consumeShot(trap.id) + expect(s1.remaining).toBe(2) + expect(s1.destroyed).toBe(false) + expect(manager.getActiveTrapCount(ownerId)).toBe(1) + + const s2 = manager.consumeShot(trap.id) + expect(s2.remaining).toBe(1) + expect(s2.destroyed).toBe(false) + + const s3 = manager.consumeShot(trap.id) + expect(s3.remaining).toBe(0) + expect(s3.destroyed).toBe(true) + expect(manager.getActiveTrapCount(ownerId)).toBe(0) + }) + }) + + describe('2. NextDelay Mechanics (Wake of Fire & Shock Web)', () => { + it('enforces 4-frame damage immunity for Wake of Fire', () => { + const tracker = new NextDelayTracker() + const enemyId = 'monster_1' + + // At frame 100, monster is eligible + expect(tracker.canTakeDamage(enemyId, 'wake_of_fire', 100)).toBe(true) + + // Hit monster at frame 100 with NextDelay 4 + tracker.recordHit(enemyId, 'wake_of_fire', 100, NEXT_DELAY_FRAMES.WAKE_OF_FIRE) + + // Monster must be immune at frame 100, 101, 102, 103 + expect(tracker.canTakeDamage(enemyId, 'wake_of_fire', 100)).toBe(false) + expect(tracker.canTakeDamage(enemyId, 'wake_of_fire', 101)).toBe(false) + expect(tracker.canTakeDamage(enemyId, 'wake_of_fire', 102)).toBe(false) + expect(tracker.canTakeDamage(enemyId, 'wake_of_fire', 103)).toBe(false) + + // At frame 104, NextDelay window has expired (100 + 4 = 104) + expect(tracker.canTakeDamage(enemyId, 'wake_of_fire', 104)).toBe(true) + }) + + it('enforces 25-frame damage immunity for Shock Web', () => { + const tracker = new NextDelayTracker() + const enemyId = 'monster_boss' + + expect(tracker.canTakeDamage(enemyId, 'shock_web', 500)).toBe(true) + tracker.recordHit(enemyId, 'shock_web', 500, NEXT_DELAY_FRAMES.SHOCK_WEB) + + // Immune throughout frames 500..524 + expect(tracker.canTakeDamage(enemyId, 'shock_web', 510)).toBe(false) + expect(tracker.canTakeDamage(enemyId, 'shock_web', 524)).toBe(false) + + // Vulnerable again at frame 525 (500 + 25 = 525) + expect(tracker.canTakeDamage(enemyId, 'shock_web', 525)).toBe(true) + }) + + it('simulates Wake of Fire wave hit against grouped enemies with NextDelay', () => { + const tracker = new NextDelayTracker() + const enemies: SimulationEnemy[] = [ + { id: 'm1', x: 100, y: 100, currentHp: 500, maxHp: 500 }, + { id: 'm2', x: 150, y: 100, currentHp: 500, maxHp: 500 }, + ] + + const trap: any = { + id: 'wof_1', + x: 0, + y: 100, + slvl: 20, + } + + // First wave at frame 0 + const hit0 = simulateWakeOfFireWaveHit(trap, enemies, 0, tracker) + expect(hit0.enemiesHit).toContain('m1') + expect(hit0.enemiesHit).toContain('m2') + expect(enemies[0]!.currentHp).toBeLessThan(500) + + // Rapid overlap wave at frame 2 (within 4-frame NextDelay window) -> deals 0 damage! + const hpBefore = enemies[0]!.currentHp + const hit2 = simulateWakeOfFireWaveHit(trap, enemies, 2, tracker) + expect(hit2.enemiesHit).toHaveLength(0) + expect(hit2.totalDamageDealt).toBe(0) + expect(enemies[0]!.currentHp).toBe(hpBefore) + + // Next wave at frame 5 (> 4 frames) -> hits again! + const hit5 = simulateWakeOfFireWaveHit(trap, enemies, 5, tracker) + expect(hit5.enemiesHit).toContain('m1') + expect(enemies[0]!.currentHp).toBeLessThan(hpBefore) + }) + }) + + describe('3. Death Sentry Dual-Mode Corpse Explosion AI', () => { + it('prioritizes Corpse Explosion over Lightning when a corpse is in radius', () => { + const trap: any = { id: 'ds_1', x: 100, y: 100, slvl: 20 } + const corpses: SimulationCorpse[] = [ + { id: 'corpse_1', x: 120, y: 100, baseMaxHp: 1000, consumed: false }, + ] + const enemies: SimulationEnemy[] = [ + { id: 'live_mon', x: 130, y: 100, currentHp: 800, maxHp: 800 }, + ] + + const decision = simulateDeathSentryAI(trap, corpses, enemies) + expect(decision.action).toBe('corpse_explosion') + expect(decision.targetId).toBe('corpse_1') + expect(corpses[0]!.consumed).toBe(true) + // 40-80% of 1000 HP -> 600 damage avg (300 phys, 300 fire) + expect(decision.damageDealt?.phys).toBe(300) + expect(decision.damageDealt?.fire).toBe(300) + expect(decision.damageDealt?.ltng).toBe(0) + expect(enemies[0]!.currentHp).toBe(200) + }) + + it('falls back to piercing lightning bolt when no valid corpse exists in radius', () => { + const trap: any = { id: 'ds_1', x: 0, y: 0, slvl: 20 } + const corpses: SimulationCorpse[] = [ + // Corpse is far away outside radius (> 29 subtiles * 16px = 464px) + { id: 'corpse_far', x: 900, y: 900, baseMaxHp: 1000, consumed: false }, + ] + const enemies: SimulationEnemy[] = [ + { id: 'near_mon', x: 100, y: 0, currentHp: 500, maxHp: 500 }, + ] + + const decision = simulateDeathSentryAI(trap, corpses, enemies) + expect(decision.action).toBe('lightning') + expect(decision.targetId).toBe('near_mon') + expect(decision.damageDealt?.ltng).toBeGreaterThan(0) + expect(decision.damageDealt?.phys).toBe(0) + expect(decision.damageDealt?.fire).toBe(0) + expect(corpses[0]!.consumed).toBe(false) + }) + + it('evaluates Death Sentry shot count scaling with Fire Blast synergy', () => { + // Base shots: 5. +1 shot per 3 hard points of Fire Blast + const s0 = evaluateDeathSentryStats(20, { fireBlast: 0 }) + expect(s0.shots).toBe(5) + + const s2 = evaluateDeathSentryStats(20, { fireBlast: 2 }) + expect(s2.shots).toBe(5) + + const s3 = evaluateDeathSentryStats(20, { fireBlast: 3 }) + expect(s3.shots).toBe(6) + + const s9 = evaluateDeathSentryStats(20, { fireBlast: 9 }) + expect(s9.shots).toBe(8) + + const s20 = evaluateDeathSentryStats(20, { fireBlast: 20 }) + expect(s20.shots).toBe(11) // 5 + floor(20 / 3) = 5 + 6 = 11 shots + }) + + it('verifies Corpse Explosion radius progression: 10 + (slvl - 1) subtiles', () => { + const s1 = evaluateDeathSentryStats(1) + expect(s1.corpseExplosionRadiusSubtiles).toBe(10) // 10 subtiles = 3.3 yards + + const s10 = evaluateDeathSentryStats(10) + expect(s10.corpseExplosionRadiusSubtiles).toBe(19) // 19 subtiles = 6.3 yards + + const s20 = evaluateDeathSentryStats(20) + expect(s20.corpseExplosionRadiusSubtiles).toBe(29) // 29 subtiles = 9.6 yards + }) + }) + + describe('4. Blade Skills Weapon Damage Scaling (srcDam 128ths)', () => { + it('scales Blade Sentinel weapon damage to exact 3/8 (37.5%)', () => { + expect(BLADE_SRC_DAM.BLADE_SENTINEL).toBe(48) + // 48 / 128 = 3/8 + + // Weapon damage 80 -> 80 * 3/8 = 30 + expect(computeBladeWeaponDamage(80, ASSASSIN_TRAP_SKILL_IDS.BLADE_SENTINEL)).toBe(30) + // Weapon damage 240 -> 240 * 3/8 = 90 + expect(computeBladeWeaponDamage(240, ASSASSIN_TRAP_SKILL_IDS.BLADE_SENTINEL)).toBe(90) + // Weapon damage 100 -> floor(100 * 48 / 128) = floor(37.5) = 37 + expect(computeBladeWeaponDamage(100, ASSASSIN_TRAP_SKILL_IDS.BLADE_SENTINEL)).toBe(37) + }) + + it('scales Blade Fury weapon damage to exact 3/4 (75.0%)', () => { + expect(BLADE_SRC_DAM.BLADE_FURY).toBe(96) + // 96 / 128 = 3/4 + + // Weapon damage 80 -> 80 * 3/4 = 60 + expect(computeBladeWeaponDamage(80, ASSASSIN_TRAP_SKILL_IDS.BLADE_FURY)).toBe(60) + // Weapon damage 240 -> 240 * 3/4 = 180 + expect(computeBladeWeaponDamage(240, ASSASSIN_TRAP_SKILL_IDS.BLADE_FURY)).toBe(180) + // Weapon damage 100 -> floor(100 * 96 / 128) = 75 + expect(computeBladeWeaponDamage(100, ASSASSIN_TRAP_SKILL_IDS.BLADE_FURY)).toBe(75) + }) + + it('scales Blade Shield weapon damage to exact 1/4 (25.0%)', () => { + expect(BLADE_SRC_DAM.BLADE_SHIELD).toBe(32) + // 32 / 128 = 1/4 + + // Weapon damage 80 -> 80 * 1/4 = 20 + expect(computeBladeWeaponDamage(80, ASSASSIN_TRAP_SKILL_IDS.BLADE_SHIELD)).toBe(20) + // Weapon damage 240 -> 240 * 1/4 = 60 + expect(computeBladeWeaponDamage(240, ASSASSIN_TRAP_SKILL_IDS.BLADE_SHIELD)).toBe(60) + // Weapon damage 100 -> floor(100 * 32 / 128) = 25 + expect(computeBladeWeaponDamage(100, ASSASSIN_TRAP_SKILL_IDS.BLADE_SHIELD)).toBe(25) + }) + + it('combines flat physical damage with scaled weapon damage on Blade skills', () => { + const sentStats = evaluateBladeSentinelStats(20, 200) + // flat min = 79, max = 83. scaled weapon (200 * 3/8) = 75 + expect(sentStats.scaledWeaponPhys).toBe(75) + expect(sentStats.totalMinPhys).toBe(79 + 75) + expect(sentStats.totalMaxPhys).toBe(83 + 75) + + const furyStats = evaluateBladeFuryStats(20, 200) + // flat min = 101, max = 103. scaled weapon (200 * 3/4) = 150 + expect(furyStats.scaledWeaponPhys).toBe(150) + expect(furyStats.totalMinPhys).toBe(101 + 150) + expect(furyStats.totalMaxPhys).toBe(103 + 150) + + const shieldStats = evaluateBladeShieldStats(20, 200) + // flat min = 112, max = 141. scaled weapon (200 * 1/4) = 50 + expect(shieldStats.scaledWeaponPhys).toBe(50) + expect(shieldStats.totalMinPhys).toBe(112 + 50) + expect(shieldStats.totalMaxPhys).toBe(141 + 50) + }) + }) + + describe('5. Shock Web Cluster & Synergy Mechanics', () => { + it('calculates exact missile count: 6 + floor(slvl / 4) + floor(FireBlast.blvl / 3)', () => { + const sw1 = evaluateShockWebStats(1, { fireBlast: 0 }) + expect(sw1.missileCount).toBe(6) + + const sw4 = evaluateShockWebStats(4, { fireBlast: 0 }) + expect(sw4.missileCount).toBe(7) + + const sw20 = evaluateShockWebStats(20, { fireBlast: 0 }) + expect(sw20.missileCount).toBe(11) // 6 + 5 = 11 + + const sw20_syn = evaluateShockWebStats(20, { fireBlast: 20 }) + expect(sw20_syn.missileCount).toBe(17) // 6 + 5 + 6 = 17 + }) + + it('generates distributed cluster points around impact origin', () => { + const points = computeShockWebClusterPoints(200, 200, 20, 20, 64) + expect(points).toHaveLength(17) + // Ensure all points lie within max cluster radius (64 + epsilon) + for (const pt of points) { + const dist = Math.hypot(pt.x - 200, pt.y - 200) + expect(dist).toBeLessThanOrEqual(65) + } + }) + + it('applies +11% synergy per hard point of CBS, LS, DS', () => { + const base = evaluateShockWebStats(20, { chargedBoltSentry: 0, lightningSentry: 0, deathSentry: 0 }) + const syn = evaluateShockWebStats(20, { chargedBoltSentry: 20, lightningSentry: 20, deathSentry: 20 }) + // 60 hard points * 11% = 660% bonus damage + expect(syn.synergyPct).toBe(660) + expect(syn.maxDamage).toBe(Math.floor(base.maxDamage * (1 + 6.6))) + }) + }) + + describe('6. Sentry Lifecycles & Synergies', () => { + it('evaluates Charged Bolt Sentry shots and bolt count scaling', () => { + const cbs = evaluateChargedBoltSentryStats(20, { + lightningSentry: 20, // +5 shots + shockWeb: 20, // +6 bolts + }) + // Base shots: 5 + floor(20/4) = 10 shots + expect(cbs.shots).toBe(10) + // Base bolts: 5 + floor(20/3) = 11 bolts per shot + expect(cbs.boltsPerShot).toBe(11) + }) + + it('evaluates Lightning Sentry piercing damage and 12% synergy scaling', () => { + const lsBase = evaluateLightningSentryStats(20, { shockWeb: 0, chargedBoltSentry: 0, deathSentry: 0 }) + expect(lsBase.shots).toBe(10) + expect(lsBase.minDamage).toBe(1) + expect(lsBase.maxDamage).toBe(314) // 5-band level 20 max + + const lsMaxSyn = evaluateLightningSentryStats(20, { shockWeb: 20, chargedBoltSentry: 20, deathSentry: 20 }) + // 60 * 12% = 720% bonus + expect(lsMaxSyn.synergyPct).toBe(720) + expect(lsMaxSyn.maxDamage).toBe(Math.floor(314 * (1 + 7.2))) + }) + + it('evaluates Wake of Inferno 10 attacks and 7% synergies', () => { + const woi = evaluateWakeOfInfernoStats(20, { fireBlast: 20, wakeOfFire: 20, deathSentry: 20 }) + expect(woi.attacks).toBe(10) + // 60 * 7% = 420% synergy + expect(woi.synergyPct).toBe(420) + }) + + it('evaluates Blade Shield 20s-115s duration and 25-frame tick rate', () => { + const bs1 = evaluateBladeShieldStats(1) + expect(bs1.durationFrames).toBe(500) // 20s + expect(bs1.tickRateFrames).toBe(25) // 1.0s + expect(bs1.radiusSubtiles).toBe(6) + + const bs20 = evaluateBladeShieldStats(20) + expect(bs20.durationFrames).toBe(2875) // 500 + 125 * 19 = 2875 frames = 115s + expect(bs20.tickRateFrames).toBe(25) + expect(bs20.manaCost).toBe(65) // 27 + 2 * 19 = 65 + }) + }) +})

    3Cl5B#kI?Fuw3!8SHRs+sJu^(s@;tGqj;9T1{vWVW#v1x8D z6rlX+8y;`0s6f{NX(6|;qM?IEw!W(b+}6g5zpdO|FjMAG%U#^x z-`BP}IC?%DqjqQ{Rr9B`ZSnn8H+dN_ItYc=)?iVDlRH}-_cYe!`QvN+tr)cW71iMz z#nIwNf94$H`r|Oo&Algx(i9{*z%#P7HJDz@QsqwBjqb^%u3f+Tu8&2c>>?rd@dMuc z$wS5zS_QK!6~xP`XWE#AB}Z{c`vXJ0dUddd#k!q9FK$SH1X617G_ra{JtlTupwa2J{w=|QHb-gA~UgR%g z@>cHnw6(Z>RT9T)C_G()xoWRfI-Tz9%y@Fp^{LX<+FNWREh;Unek56BWs9%n-8;VZrPJnok7QFwgGI z7q~&j48pM8Mlk_CRdgaO$kdnlYU8x~9(nFMS zt~^^Glxb)(EJ!+D+=Evs2M$wf86#N_8B> z!h>1K#rEfiTk$(sGv=~qd+ zH8LqPOKkjU{D4U@+*OgUkdBwn>Y?lBw>0=qOiU;&FMp~oN`uE(52~AHDFAn+`)09< zKP-;(x$Qk8jQ0JsS}E}?kyO^4QfA#|oC05y zWLS-cSXntNTc~<|y8VFG1vXGNjHWKodNvn=tGkvz&17WWbx~&4W7JnQI)t^3NZAz+ z^Mrf>0^>fn7CV^R&hU8=#0c7QJ!7d^=kr`8;6;7zVURXyuyw^|0I8>%%A&6?H4#!j zeQFNyI*E_T-v2=%J_!n&n|S#P*!9`bJa(aqnaCw^8rB~DIWseAX07fw3g+LO&3Y#+ zHa+DE#(aE-s*$&LPjwyCGIg`~HZ}bqNWQcOGLn_%d_ffnh{NR3{rNsBip*Li&K^-m^PAQVmaG3Q%lEn)#d3)9nW z^JpbMYh5RJrKo29^b!lbK=D1!sA1t37#KcQRA>uk?U`rN8y1O?=CpGqtEZAhWcE8) z$lo4HO8SZopK+F&RixF25oUh>yjrTBzwYdj5+7_`vyx!pI=xBk1xs6% zU8^wd{f%W_$jwbrJ1FJ%EHs)~cPaJS#%^^aSub5SG-Sf(wRgg^x=llb{wdz(Rk3Xl zk9Bt!K^y3uGH9-?4bS&#WDoSQ@2BtT?U3K&=ANN@B+7*0%`%jjn{*I!In}XWbE5!F zq+ZX>yjt&8|7b6!UH*B`gJT$swd2?r3dEdG^ebx~yCRquo*iD|Ri?%u&(G(UVisnXTc4nu*f!<4QirmxnT6=_kL|w>*b7!wL-9#K6EvqY&>U!c(>UUBJO6QvW zDp2d9S5iGvnSO42Z#y-&k;mz=RxLC&S-LIBZJFg;b!cVECG3Zvyc9KU*eLJiw;j~U zSf8|4Z_v{PQc`XYAO3RmZ8Lc0erh${+np2fPoN~+E!B1hCKl+%6l_!M?}HHm)8t71 zpym>Z>}LGwnUBNw_UNBXI^O2DeAnM9U|fb1rpc~%bX;Q^B$aiPPI-3BW#ns+KL!(C zt@!%fr(Sx-DFuRGtgb;NX$PcVpUv6vwxRD)-77iUH>Q%~Wx!+`i$og}T873758t(V zSNE9kMs&O%FQ3WQQq}kRz78bk?{uv$&1&c0&3G4OAv=aXG=Z&7Jls+Nd&6cQHr`s% zZbpvAAe2iFl`k89-W|`dPYDPq+s$cKKly+;^gDRg1~cG!rD*32?8+>4gHoiVAUenMCe~|`w@@8Ff3}q}7|9xKN_OBU5n25KRNUewJ&hQd7PLBD zVsCGBL&|KZ~({q7nvQmo5~>RS``*n@d z=(&$Vp;%35G^_j;+S+a=`NR*Ppcm|aaPf9A7M7SngdvfPQ++%07jrFM#DZSJ>DEkx zm4NSy8@hSV?&l?)I4@3E!D%l!vpN{_a~R0$wl>$G7xOOM$CAlj7a`l8|CaZeWR!619&8yZsucMgm>I*_I7kTazC1F=sSbPCd z5^-@H^q7(fWC<?P7W9O_ z`IMOCCG^Jga>Ko_e3zK?2~hf^Nn^HThT`ZLA^OKJYyD1GPs8?n*wEHfzxn&R8jD?I zu-Mb5px5GxlDjQKQQ)n&7l$9_b@<##+&)C+^1q?X4{WKk!XJHn6{?Q&D~@&}CroWG zBfXg`W=Kpl3<-yRMK}EU-k2t}xt$pW0&%zZ8P-GHo0&hxXXq76q>7`)XE%&2Eqk+0 z04~_U%#GG#Yjbm$F!(hHV|O=cw~77C!OZD-j12X_BLk__&U{d4>7r6uNc$$I18{OYMFEl$(D1(B?#GkK{bg?S) zpLZ?4P#Ym#I{drop~cPEMu=7uKI&1{E7U*{tvqJN_XsD$PLR_|hU@JcZ7Kz6*yM0& z8ggl$N#A&&TZiYWR>ODcD*=Biki8-CglrKAE@zdmi>J6u0Oa!om{l5$B+v zLozC%<4Y3$S~)6a`{+q##Um^wT-7lzKbold4@-rgUmgc^Nx-}5xff=;7J|jnSg@`X zei>NLf^Rys-yjDs_(!1iW48k{TtPAHI<}-)7EDYrNh@i&(w&- z?9MlO`1o^ubMM@(EiFsTsfk^VzUPwn$_o%WXy3<)Bz>>g-mV>#Uz6KpH$gO2*K4(4 z^0G~*+0b=WtQ8cChPb(vD99oGW;U9V{L`CO|MAV7Yzah;Rv;UW{u;tjC9x1@dX z%cC-OwJCsf0 z{Ld7B5m7BlPYZsU^|qL9I6N>vIUrxfYU~6pzchB75|1r=_hfBe@wLLn=g$tjdou%gpK5Sge(b!Y2+!b_YNC#@Q*)@HBW_lQIS=CXSV#OI@J03-f~>Y`_yk%l&f1` zNBBi20z7HGoUcOA_*bwk+D`PIob9kmPhUg@j&VoXQKK&Y8OcAA)`5krzSGVB?4{ zS)m)3?ZFM(OrpRQ?6#*63v)lO@2YVge&nhMek!_#=+;d)Y0!DGT#};>r{7BtGwOmwB0;VN{vK){#Oud049Y)j03%w}L zl*gA3?kuCb3;HEVA}i(4c%+@!GG7R67g^Bt&M91fSumcJfr ztggR?Z!yh_@m-N@4aC4$3}B2Bmr=$({K>tn1sW0onyzaWP|nECW|EmqCfc7$7&a({ zhSd0RV+FLdWrDR^+V&a{e=uO^ri>JZ>C=Ch5?+ zvh~fUP}ZL43dlUx-j!>YW@_(V)EY6iw(l!?;FM*4KxL_~X4=Z%y~+=bZlvdjGwHBk z!Ze2eHfZHxWvL6Foe2IvC$qP5)?smQEKIQMU-)c7-lQ?R%uw8LBUuTFx!PBnU9@s3 z8zsukZhEkf5dqiTtD5uQ4U$L zu8&La={l?gyg92K6npe!8vM<1$5Y%n{ckvHpSy$DVOe|0Je6x33II_u;h0MJ%YXZ_8~75FmAO$YS-ttr;{)RbO*Bzc>a zw4xpI1{k!$vsGZ8|5|@@jh0uZ?d-fjga2l714uASz9}`E3owyZCpX?xHDnxEiWx_R z+9YuRw`B``(ItCQ-gHEE6R3s+dq8IkRbrtMY%!Et9wXI~b0dw$E~$0<|HH08{VSSt zhlq4ZCQpWl0RY!#qja-<55f{0z(kN`d~RMS+TgR{Mb*GFK z+j-h`P^nF&q-_7#p<(}ai$)OpHuWdU!0*4xhros&L9djb*BUvaDCfQ6-qKQE0WzT6pNbfYe&-@0nH;YyVH91}aNjB8KsFctz1m%$>05uW)Dg22;rXyQ zjiSfW%&I zWAvM6q8;>IY8yiK_3XUsqYV*OqBW;@yVg9WLfWtQzM}ylbDet*4KA}JQVKR7m9#{J zWE)(R%H1&9LNklvB6qITN9^wl-AX?&X(aC~OqJRLi2`7k7hi!tOMei%k;4F#HPUC% z2~-{vd)%B)&K*VO`NuBPrtoIQ(%BotQ+LHWeC)l0A9;}oHAVQy{Y@NnhMMxUP3keF za&DM2M15BoC`|}iBH+@U75t*@Jj1MGj=y-;xQtYnIKm}ZK=kj2;bVTiOz89;;tU=< z_~Gmxb9Wlj?AjQ!Q+=>7fbSugZ{Y>umHCwyPCmaf%y~Q0Yq!p4zYlUvPGpM7?7aTS zsQy5yRV$L7vEvhuqQHu?dsc_*4C+F?{1bIn zhWJGWWY5rdBXYx4iFKbd85IIR$u?phGjZZe2rr!70o`Q5f3k95yJ z^|a&KNp-Uh8>dU`l*(&YgOT!vF|bWD$~AF4q&$4HWDn$M;jY65khgq&2<|Ff2)-7$v@ z*p8->*5H`1&d$yP4ADHd0y&e!t|G`GkuhcF;{mV@>(^Aom=xHb9vIR8c3^U|`(>J5 zk~}(+7D{Qz&(~hEV&NJfJ>=oR!N72x7&?9ouZ4%`t7`@ZI-m~TRt~N=(Y3LhCXy1v z+qB!fvOy_DJk+IfVi5B_6#6x4dTL79%WL^{6S~@ZpXke4_)Q!@;y)gW`*43TjWvOu zxdhZ23;bgr*^@x+>o1RqVo_f%6F&;?90cyH?Eb*v@Q5P_a*uD$%8GW6Ci}&}e0uI> zEG;Pf2Co1JG()xBN9J>-2cd}p_1>oW=gxW_`&KD6b~!|giHtaN;Xr>7gk6+b z5FW^GQuy@gQ}@dI9aJw^ojE=ao8Bbg@$|vzfGTNK*8Qd5{V#*t?!9Yds;IN{1x=Tw zBv{MK%P+;O#ggpB*?#RI^PH%NNxG&&e%9Y(5eo}H)LH2kxbPi)bw+SNBDn}>3X@~) zqSib-7Y5X~^7vm|Y%R?F0s`)yPk`s2yNA8nf?FDp$0zy6jz8InSVHB?h;q8TQc2it zpuXU}FwD{|bPo<0<;_i&OCz4y6u!F{GC^X|2;j&0r{I?kogtWUNQ)inI$-|% ziR@r2J{qmh`op3ZJ*k+;HEL5BVd#3&EVUewgdl`vdP4&qxB$Dy7(XYIuphk<-Qa0J+C0y|Ltw&N~w2?_V8tMj}#^++}5uzKiK&;QC{Bb|=;<(eEiMyQ>6t=u44=cmK&n ze8*N+Ko7^u_Tk>SJeya8GAmyAh`vr|Wu>jje2ROkTo24N>h=xf8j1Lx3*pj_sJ>%Z zaMdWp#g~Vj1c+9##E!?(KNbDb^~1H0-}?wd}cd(b9 zn>+5lb$NwbLFN}LJd%#VJTWygWuU&zIiD$mwFNYb#hLBY*Ut*XpYxwAyf8c3(5FsB z5YOVS>IKB$(la7$==6dKJZl~6QTMTr3E6)=m4bY|%&jVw6yIq~Y51)6U03g}i~aiS zM&(d{G%oKdZIe-w|%e8RAuA z3UwospoZHZ&0DJJT@K6Kk@|EfPJz39q}(Q#7UEq>XT+~9u`%Drt@Br+^~X1pRrp0) z*8}&CYLiE%S@Rw3WE+u0=|Mhv5?ST|#1CkMp}Ol>xmx$4B1-7Y_(<#5_?gG2#h8*y z8|!ZZOC3Mwxfhw}%A+K`4O!u;qq|{+BD0Nlyj5GAiIcAB7(L{3S;+VWR?O31P8+%n zbhKr@Tu&aK>_S%SO zu82NiMHGt$Lt2&3LK+W(M|?EjdbFm}iFCDUXTw??)C0>1qv5ZIwF?@8QEESBvsNn2 zTwasjp~Wx;*Nj$|ms6kIM1u|RN?yQePKs_{Jnc$dSur}!*pYTJ_I&BKwl2(hbL-Jb z_K`z!Q7M2Wba{Rl8OW&D>N|Yas&gmf^GVGDPAl{l6aC!XPe|B}suxgZki}gPL?U&> z=%$(^HnX0Pt_^KoPQ2RE*@;Rymu;OrjTM>Lt$yocWEv ze(py-c*?&&h!iHR{g)?w8; zC}e|9kD5SaEFU14%_A#f47fjMuB|MvU>&h!@NCn}`-8AZF0Orq=&RA5E{+^cj-)(oXEZ)HM W%Mhn#z1qJvuAAL5ExUT}*?$7>DH3h~ literal 0 HcmV?d00001 diff --git a/public/overlays/deathsentry_explode.json b/public/overlays/deathsentry_explode.json new file mode 100644 index 0000000..0fb1569 --- /dev/null +++ b/public/overlays/deathsentry_explode.json @@ -0,0 +1,124 @@ +{ + "name": "deathsentry_explode", + "celFile": "expansion/dethsentry01", + "width": 512, + "height": 547, + "directions": 1, + "frames": 12, + "framesPerDirection": 12, + "animRate": 16, + "trans": 3, + "preDraw": false, + "lightRadius": 0, + "lightColor": [ + 255, + 255, + 255 + ], + "box": { + "left": -73, + "top": -93, + "width": 130, + "height": 136 + }, + "groups": [ + [ + [ + 0, + 0, + 130, + 136, + -73, + -93 + ], + [ + 131, + 0, + 130, + 136, + -73, + -93 + ], + [ + 262, + 0, + 130, + 136, + -73, + -93 + ], + [ + 0, + 137, + 130, + 136, + -73, + -93 + ], + [ + 131, + 137, + 130, + 136, + -73, + -93 + ], + [ + 262, + 137, + 130, + 136, + -73, + -93 + ], + [ + 0, + 274, + 130, + 136, + -73, + -93 + ], + [ + 131, + 274, + 130, + 136, + -73, + -93 + ], + [ + 262, + 274, + 130, + 136, + -73, + -93 + ], + [ + 0, + 411, + 130, + 136, + -73, + -93 + ], + [ + 131, + 411, + 130, + 136, + -73, + -93 + ], + [ + 262, + 411, + 130, + 136, + -73, + -93 + ] + ] + ] +} \ No newline at end of file diff --git a/public/overlays/deathsentry_explode.png b/public/overlays/deathsentry_explode.png new file mode 100644 index 0000000000000000000000000000000000000000..808ff55aeb0d2b7116c73fdad4b6b4e57d595b4e GIT binary patch literal 11258 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