From ebda6cd5f068fe1458f266ec578ab81bfe95736e Mon Sep 17 00:00:00 2001 From: a327ex Date: Sat, 17 Apr 2021 00:30:34 -0300 Subject: [PATCH] Day 58-59 --- arena.lua | 89 +++++--- assets/images/amplify.png | Bin 0 -> 400 bytes assets/images/amplify_x.png | Bin 0 -> 405 bytes assets/images/assassination.png | Bin 0 -> 278 bytes assets/images/awakening.png | Bin 0 -> 355 bytes assets/images/ballista.png | Bin 0 -> 440 bytes assets/images/ballista_x.png | Bin 0 -> 463 bytes assets/images/berserking.png | Bin 0 -> 451 bytes assets/images/blessing.png | Bin 0 -> 245 bytes assets/images/blunt_arrow.png | Bin 0 -> 230 bytes assets/images/call_of_the_void.png | Bin 0 -> 324 bytes assets/images/centipede.png | Bin 0 -> 298 bytes assets/images/chronomancy.png | Bin 0 -> 362 bytes assets/images/concentrated_fire.png | Bin 0 -> 369 bytes assets/images/crucio.png | Bin 0 -> 417 bytes assets/images/divine_machine_arrow.png | Bin 0 -> 448 bytes assets/images/divine_punishment.png | Bin 0 -> 356 bytes assets/images/explosive_arrow.png | Bin 0 -> 326 bytes assets/images/flying_daggers.png | Bin 0 -> 335 bytes assets/images/force_push.png | Bin 0 -> 351 bytes assets/images/heavy_impact.png | Bin 0 -> 241 bytes assets/images/hex_master.png | Bin 0 -> 361 bytes assets/images/hive.png | Bin 0 -> 436 bytes assets/images/immolation.png | Bin 0 -> 322 bytes assets/images/intimidation.png | Bin 0 -> 369 bytes assets/images/longshot.png | Bin 0 -> 276 bytes assets/images/magnify.png | Bin 0 -> 338 bytes assets/images/ouroboros_technique_l.png | Bin 0 -> 391 bytes assets/images/ouroboros_technique_r.png | Bin 0 -> 388 bytes assets/images/payback.png | Bin 0 -> 401 bytes assets/images/point_blank.png | Bin 0 -> 279 bytes assets/images/reinforce.png | Bin 0 -> 379 bytes assets/images/resonance.png | Bin 0 -> 414 bytes assets/images/spawning_pool.png | Bin 0 -> 335 bytes assets/images/temporal_chains.png | Bin 0 -> 343 bytes assets/images/ultimatum.png | Bin 0 -> 325 bytes assets/images/unleash.png | Bin 0 -> 372 bytes assets/images/unwavering_stance.png | Bin 0 -> 356 bytes assets/images/void_rift.png | Bin 0 -> 431 bytes assets/images/vulnerability.png | Bin 0 -> 427 bytes assets/images/wall_echo.png | Bin 0 -> 337 bytes assets/images/wall_rider.png | Bin 0 -> 425 bytes assets/images/whispers_of_doom.png | Bin 0 -> 345 bytes buy_screen.lua | 45 ++++ devlog.md | 5 + engine/game/group.lua | 8 +- main.lua | 267 ++++++++++++++++++++++-- player.lua | 2 +- todo | 28 +-- 49 files changed, 387 insertions(+), 57 deletions(-) create mode 100644 assets/images/amplify.png create mode 100644 assets/images/amplify_x.png create mode 100644 assets/images/assassination.png create mode 100644 assets/images/awakening.png create mode 100644 assets/images/ballista.png create mode 100644 assets/images/ballista_x.png create mode 100644 assets/images/berserking.png create mode 100644 assets/images/blessing.png create mode 100644 assets/images/blunt_arrow.png create mode 100644 assets/images/call_of_the_void.png create mode 100644 assets/images/centipede.png create mode 100644 assets/images/chronomancy.png create mode 100644 assets/images/concentrated_fire.png create mode 100644 assets/images/crucio.png create mode 100644 assets/images/divine_machine_arrow.png create mode 100644 assets/images/divine_punishment.png create mode 100644 assets/images/explosive_arrow.png create mode 100644 assets/images/flying_daggers.png create mode 100644 assets/images/force_push.png create mode 100644 assets/images/heavy_impact.png create mode 100644 assets/images/hex_master.png create mode 100644 assets/images/hive.png create mode 100644 assets/images/immolation.png create mode 100644 assets/images/intimidation.png create mode 100644 assets/images/longshot.png create mode 100644 assets/images/magnify.png create mode 100644 assets/images/ouroboros_technique_l.png create mode 100644 assets/images/ouroboros_technique_r.png create mode 100644 assets/images/payback.png create mode 100644 assets/images/point_blank.png create mode 100644 assets/images/reinforce.png create mode 100644 assets/images/resonance.png create mode 100644 assets/images/spawning_pool.png create mode 100644 assets/images/temporal_chains.png create mode 100644 assets/images/ultimatum.png create mode 100644 assets/images/unleash.png create mode 100644 assets/images/unwavering_stance.png create mode 100644 assets/images/void_rift.png create mode 100644 assets/images/vulnerability.png create mode 100644 assets/images/wall_echo.png create mode 100644 assets/images/wall_rider.png create mode 100644 assets/images/whispers_of_doom.png diff --git a/arena.lua b/arena.lua index 42ca561..ea35e0e 100644 --- a/arena.lua +++ b/arena.lua @@ -249,6 +249,8 @@ function Arena:on_enter(from, level, units) self.healer_level = class_levels.healer self.psyker_level = class_levels.psyker self.conjurer_level = class_levels.conjurer + + self.can_quit = true end @@ -326,9 +328,6 @@ function Arena:update(dt) self:update_game_object(dt*slow_amount) -- cascade_instance.pitch = math.clamp(slow_amount*self.main_slow_amount, 0.05, 1) - if self.enchanter_level == 1 then self.enchanter_dmg_m = 1.25 - else self.enchanter_dmg_m = 1 end - self.floor:update(dt*slow_amount) self.main:update(dt*slow_amount*self.main_slow_amount) self.post_main:update(dt*slow_amount) @@ -360,39 +359,56 @@ function Arena:update(dt) else if not self.arena_clear_text then self.arena_clear_text = Text2{group = self.ui, x = gw/2, y = gh/2 - 48, lines = {{text = '[wavy_mid, cbyc]arena clear!', font = fat_font, alignment = 'center'}}} end self.t:after(3, function() - ui_transition2:play{pitch = random:float(0.95, 1.05), volume = 0.5} - TransitionEffect{group = main.transitions, x = self.player.x, y = self.player.y, color = self.color, transition_action = function(t) - main:add(BuyScreen'buy_screen') - main:go_to('buy_screen', self.level, self.units) - t.t:after(0.1, function() - t.text:set_text({ - {text = '[nudge_down, bg]gold gained: ' .. tostring(gold_gained), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, - {text = '[wavy_lower, bg]damage taken: 0', font = pixul_font, alignment = 'center', height_multiplier = 1.5}, - {text = '[wavy_lower, bg]damage dealt: 0', font = pixul_font, alignment = 'center'} - }) - _G[random:table{'coins1', 'coins2', 'coins3'}]:play{pitch = random:float(0.95, 1.05), volume = 0.5} - t.t:after(0.2, function() + if self.level % 3 == 0 then + self.arena_clear_text.dead = true + trigger:tween(1, _G, {slow_amount = 0}, math.linear, function() slow_amount = 0 end) + trigger:tween(4, camera, {x = gw/2, y = gh/2, r = 0}, math.linear, function() camera.x, camera.y, camera.r = gw/2, gh/2, 0 end) + local card_w, card_h = 100, 100 + local w = 3*card_w + 2*20 + self.choosing_passives = true + self.cards = {} + local passive_1 = random:table(tier_to_passives[random:weighted_pick(unpack(level_to_passive_tier_weights[level or self.level]))]) + local passive_2 = random:table(tier_to_passives[random:weighted_pick(unpack(level_to_passive_tier_weights[level or self.level]))]) + local passive_3 = random:table(tier_to_passives[random:weighted_pick(unpack(level_to_passive_tier_weights[level or self.level]))]) + table.insert(self.cards, PassiveCard{group = main.current.ui, x = gw/2 - w/2 + 0*(card_w + 20) + card_w/2, y = gh/2, w = card_w, h = card_h, arena = self, passive = passive_1, force_update = true}) + table.insert(self.cards, PassiveCard{group = main.current.ui, x = gw/2 - w/2 + 1*(card_w + 20) + card_w/2, y = gh/2, w = card_w, h = card_h, arena = self, passive = passive_2, force_update = true}) + table.insert(self.cards, PassiveCard{group = main.current.ui, x = gw/2 - w/2 + 2*(card_w + 20) + card_w/2, y = gh/2, w = card_w, h = card_h, arena = self, passive = passive_3, force_update = true}) + self.passive_text = Text2{group = self.ui, x = gw/2, y = gh/2 - 65, lines = {{text = '[fg, wavy]choose one', font = fat_font, alignment = 'center'}}} + else + ui_transition2:play{pitch = random:float(0.95, 1.05), volume = 0.5} + TransitionEffect{group = main.transitions, x = self.player.x, y = self.player.y, color = self.color, transition_action = function(t) + main:add(BuyScreen'buy_screen') + main:go_to('buy_screen', self.level, self.units) + t.t:after(0.1, function() t.text:set_text({ - {text = '[wavy_lower, bg]gold gained: ' .. tostring(gold_gained), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, - {text = '[nudge_down, bg]damage taken: ' .. tostring(math.round(self.damage_taken, 0)), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, + {text = '[nudge_down, bg]gold gained: ' .. tostring(gold_gained), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, + {text = '[wavy_lower, bg]damage taken: 0', font = pixul_font, alignment = 'center', height_multiplier = 1.5}, {text = '[wavy_lower, bg]damage dealt: 0', font = pixul_font, alignment = 'center'} }) _G[random:table{'coins1', 'coins2', 'coins3'}]:play{pitch = random:float(0.95, 1.05), volume = 0.5} t.t:after(0.2, function() t.text:set_text({ {text = '[wavy_lower, bg]gold gained: ' .. tostring(gold_gained), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, - {text = '[wavy_lower, bg]damage taken: ' .. tostring(math.round(self.damage_taken, 0)), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, - {text = '[nudge_down, bg]damage dealt: ' .. tostring(math.round(self.damage_dealt, 0)), font = pixul_font, alignment = 'center'} + {text = '[nudge_down, bg]damage taken: ' .. tostring(math.round(self.damage_taken, 0)), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, + {text = '[wavy_lower, bg]damage dealt: 0', font = pixul_font, alignment = 'center'} }) _G[random:table{'coins1', 'coins2', 'coins3'}]:play{pitch = random:float(0.95, 1.05), volume = 0.5} + t.t:after(0.2, function() + t.text:set_text({ + {text = '[wavy_lower, bg]gold gained: ' .. tostring(gold_gained), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, + {text = '[wavy_lower, bg]damage taken: ' .. tostring(math.round(self.damage_taken, 0)), font = pixul_font, alignment = 'center', height_multiplier = 1.5}, + {text = '[nudge_down, bg]damage dealt: ' .. tostring(math.round(self.damage_dealt, 0)), font = pixul_font, alignment = 'center'} + }) + _G[random:table{'coins1', 'coins2', 'coins3'}]:play{pitch = random:float(0.95, 1.05), volume = 0.5} + end) end) end) - end) - end, text = Text({ - {text = '[wavy_lower, bg]gold gained: 0', font = pixul_font, alignment = 'center', height_multiplier = 1.5}, - {text = '[wavy_lower, bg]damage taken: 0', font = pixul_font, alignment = 'center', height_multiplier = 1.5}, - {text = '[wavy_lower, bg]damage dealt: 0', font = pixul_font, alignment = 'center'} - }, global_text_tags)} + end, text = Text({ + {text = '[wavy_lower, bg]gold gained: 0', font = pixul_font, alignment = 'center', height_multiplier = 1.5}, + {text = '[wavy_lower, bg]damage taken: 0', font = pixul_font, alignment = 'center', height_multiplier = 1.5}, + {text = '[wavy_lower, bg]damage dealt: 0', font = pixul_font, alignment = 'center'} + }, global_text_tags)} + end end, 'transition') end end @@ -405,10 +421,11 @@ function Arena:draw() self.post_main:draw() self.effects:draw() if self.level == 18 and self.trailer then graphics.rectangle(gw/2, gh/2, 2*gw, 2*gh, nil, nil, modal_transparent) end + if self.choosing_passives then graphics.rectangle(gw/2, gh/2, 2*gw, 2*gh, nil, nil, modal_transparent) end self.ui:draw() camera:attach() - if self.start_time and self.start_time > 0 then + if self.start_time and self.start_time > 0 and not self.choosing_passives then graphics.push(gw/2, gh/2 - 48, 0, self.hfx.condition1.x, self.hfx.condition1.x) graphics.print_centered(tostring(self.start_time), fat_font, gw/2, gh/2 - 48, 0, 1, 1, nil, nil, self.hfx.condition1.f and fg[0] or red[0]) graphics.pop() @@ -568,3 +585,23 @@ function Arena:spawn_n_enemies(p, j, n) end} end, n, nil, 'spawn_enemies_' .. j) end + + + + +Passives = Object:extend() +Passives:implement(GameObject) +function Passives:init(args) + self:init_game_object(args) + +end + + +function Passives:update(dt) + self:update_game_object(dt) +end + + +function Passives:draw() + +end diff --git a/assets/images/amplify.png b/assets/images/amplify.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b589a999d254dd86963ba307b86fc3a33db2e2 GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*I7QeJU0;VP*duC1In8Ytz*gwx<5)^T>Re&;35bYKc(V!bLd~k`m-zUDN(j z+{43HId7pp(`}QbYRzA7s2p$M@lN`iTOs+xqV2EzyTfuHG?M=vzW+<1*yM-bwJ*9A z(~LCcXf8dlcgdnR8%}MovDwS;%79higT_p5IhDnSWK%x?rBlyyObv2TGTAK5QC?ypUXO@geCwqy`IAW literal 0 HcmV?d00001 diff --git a/assets/images/amplify_x.png b/assets/images/amplify_x.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1aad6839e72c2d57f91424d8323c80555f5a84 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*pN#y`X4{& zI=Nwo+RqOvH(~^9Jd|>FA5>s|v)Os7w!}KY)?Kge8aeMZPpFyVGvRmpgthm#Z|E%& zYEAxj;rbn?SJN0KFL~2x;Gs2Xfk)TG_4{VU9twCoLANzf;jlu)X)_Ffn+#`njxgN@xNACXl9m literal 0 HcmV?d00001 diff --git a/assets/images/assassination.png b/assets/images/assassination.png new file mode 100644 index 0000000000000000000000000000000000000000..1be7b3f599336b8499f8422cbbb77ca6132e349d GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*&WHwYgl%Kb-$S^U;2fq&b1u2mRp#Pb3MG&w0X`h@hJbIRHvDi zSH7$}ynK4+;WG_Zn?Els(i7Rvo0?tt;L#)T)MbC#yg{a?316#X*8eMbzt$_V4d^5W MPgg&ebxsLQ07?{Jg8%>k literal 0 HcmV?d00001 diff --git a/assets/images/awakening.png b/assets/images/awakening.png new file mode 100644 index 0000000000000000000000000000000000000000..da412bd6c4a534e9083303b75c0a7e26de0fb09b GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%D1gc(IO zyc&RlS3F%DLp;3So^=#!G2mdnaPhZ%m4 z6`2Xf-V%Lc!si=GZl)ag;?X&c>FQfmuXgF3rx>C;y&g_=VSJIjY)9YjL%l~ll}@*O zdCSE&X`^n0>a|jX8QePG7CNsp_{Ge4OsLtqDK0v|gF~$AwMUam;jEJe9x@Y{e3N2V r3J7&CZEQ~B$V{9r9`{Vq=Da?$puns9PiO1``j5fW)z4*}Q$iB}J-~#C literal 0 HcmV?d00001 diff --git a/assets/images/ballista.png b/assets/images/ballista.png new file mode 100644 index 0000000000000000000000000000000000000000..edf253d28c3e582ececa9850ce399dc5e59237ea GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*>{;lPieqz54j{`UlrZ;9oe5YcNj{V zzWnw<>fYoGO;=vG^E0pcUzQep{{6>wE#|hCH%aY^igjXpH=NgZ`KaHuUzxACqvEiQ zt4=!`pP>4JCcQ-rOEZ+5oMb~L?mX~7Wa7qyDLE58Q<8L)nBSb4qx7{ZG`GcN*WYDP zZHg0@?KyEf&#dr%-Pe1rNwvOn-n;b2u6gz^)Bf6Cr%LyZX^$VSVKnm6dBUX4YdF1G d)2`^gef(AaskVHaY`~CY@O1TaS?83{1OP;Ft_1)9 literal 0 HcmV?d00001 diff --git a/assets/images/ballista_x.png b/assets/images/ballista_x.png new file mode 100644 index 0000000000000000000000000000000000000000..f4561ccab765c1acccc3a420ddd423fea1960294 GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*fq_(7~Z|-H+o`!1~O23=pRw`w;x@sszH+x1XUA|aVicA!V6HLCexx%5zoARR&8DM`g^NA)~w(7+3(7Yqgm_x zUkjGEeBu*Uz3tq|XtXQh1gjFS;q+e3xT1OSt<3!Ds_uCLzyN0OboFyt=akR{04Jcf Ar2qf` literal 0 HcmV?d00001 diff --git a/assets/images/berserking.png b/assets/images/berserking.png new file mode 100644 index 0000000000000000000000000000000000000000..3f1fbd7f58605ee5c37cd35ed9fad9af670a6952 GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*Q~+^IlAe|>fZ@gA_{ZjzEA(fxkt}uT2pwW z%GE>uA{+Roxg4?Ge{E8>Fsm;+=dw$0qO1E|XL>JSITOZwT#oD90Y5pe16FgS*^A#F z&0tup-oGsV;^NL_4Ix^m)wm|AF`v}a4RM+5!s_YWw)K+3pKF|F=5J-V-SV^|_V?|@ z#TGdwjIUnZi-|DidKPM{x8}Xg)^Ptzu?N>Z?qt7^fAy=e#R<-NJMBB{8n)K4-A>pz zS4;nIe@WAkPr(LPx2)fsr>n)Sc#P%OjM{sDRtEaKDiio!6&sj^^*gWsOdZ6UF qkbS}g69?suk-{|>ra!3N&&bZjFFHNGeFiX489ZJ6T-G@yGywq2gRz|e literal 0 HcmV?d00001 diff --git a/assets/images/blessing.png b/assets/images/blessing.png new file mode 100644 index 0000000000000000000000000000000000000000..8001e5cf453c1f993a9a2296d49d3cea04ec411f GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc* g`~@6sbNOfHx48*?UDO=19cUwir>mdKI;Vst07DN^7ytkO literal 0 HcmV?d00001 diff --git a/assets/images/blunt_arrow.png b/assets/images/blunt_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..c81e582f90c194540c7feb5f79af2e9aae1c30f6 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*cU(CCi Q1GIv{)78&qol`;+0CZ|gGynhq literal 0 HcmV?d00001 diff --git a/assets/images/call_of_the_void.png b/assets/images/call_of_the_void.png new file mode 100644 index 0000000000000000000000000000000000000000..71c33875e269e8fd9d1d90bbf72bf45e0439c3d7 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*S=4| zhTT(n3U<^=ENy?ZXiw`RjZ0@@oD5}Ns+1RW{p^f%sL2rcwC2JIj=#Z76Wm)gL~osq zvweO+|DRpkKK`?sC2u?43TZ5r;n`VqZkwdZ*M^9M4gQLJEDuW>T@_;$Z7yD0C}+5< zR*_%P=G)dY>GN_Uq9+~?uH!S`ul%>>-{F^E1)8EO6KB=8tgU6p@fAq-OtCu;^ZX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*grlxc z(LeMekE6{gN5;SZuv460UuI)_$O6Tdo|az;#cib$zm6Z`ZROZlXk*LAU1@2#j8!hE zu}#28=vDJs$!m!((<<9TiHrN6bFBk j^M%t*7II5}`^VJ&p8xuehiiTSoyp+o>gTe~DWM4fSCwe7 literal 0 HcmV?d00001 diff --git a/assets/images/chronomancy.png b/assets/images/chronomancy.png new file mode 100644 index 0000000000000000000000000000000000000000..e9417d09f098abfae2234ac6df095e4e8704b555 GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*=fg BlokL0 literal 0 HcmV?d00001 diff --git a/assets/images/concentrated_fire.png b/assets/images/concentrated_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..3645f6b67df0e72c1a28f483e09e19cd1ce75148 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*;L|{>o*)!3%$H@mYVOY-41W2m$dKw#$S0vwO%t% z+U?Au?!|3^-isDZXA3uB7QD!NOV&ZK_o6QkpNz#({eoW5Hz|BU&wT+V12Xn-BYo4qP^yTeSI$IXk zDXxD^b3%e{)QsB#vn8vQp7I8sm3rf{2gnJ znZwaJP33-F47H6FACd(Z8h0*wG)Lx$v0UNF?MG|tnFV_V)ZCaarvZJ-;OXk;vd$@? F2>@|xhRXl| literal 0 HcmV?d00001 diff --git a/assets/images/crucio.png b/assets/images/crucio.png new file mode 100644 index 0000000000000000000000000000000000000000..175f98f403f515599e9436533fba62533d854cad GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*XXhVdnO)DuZmQyO!H?52e20ei zlWPyvQck2EDs8RU`GIGLdq?Q`%koX^a*JAGZtd=B<8bu#v(s3mn$jJ9`psg6V$Qc> z(a|NbiPjpSQ|?8g_%w52V%j72zh@?#Zh6i1@z7l@fuz&s8Eqm?k<51z*0d|;3X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*CRs73_z(|KF)UV}J1Vrb>A^ z(KxBw*N*ruILkhBdyDnS(+%3GZ$D^6E(){I;@6(mu=>d=N5=@h-Jy>P=2$HAzL7Ua zWrydt{3lBemVWPL-ldX~DXFchpq=t=0$Zd(po{&&`^?80C%l%-3Qf58++oIPt0#sD z+jx)t$gSXf5^!2(QI0@x<)5M}Um^>bP0l+XkKe!8>^ literal 0 HcmV?d00001 diff --git a/assets/images/divine_punishment.png b/assets/images/divine_punishment.png new file mode 100644 index 0000000000000000000000000000000000000000..06cc9fd1e6b89eb5392077be42ab1c271e46da8b GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*K#j>k4P_sr!yhhi)~URH z+r8ql`JyAK9YNxXt9GyiUS;htx~_OCwt2-fnMJ#dJGj<4g%q(aS`^%IO3yJYyM4pK s(i7J{`5S*{$(y9PX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*<+ziL9Q zj?vnltcO(!`FJ)jpD NJYD@<);T3K0RWsiawz}+ literal 0 HcmV?d00001 diff --git a/assets/images/flying_daggers.png b/assets/images/flying_daggers.png new file mode 100644 index 0000000000000000000000000000000000000000..3644a9c3cc0909479a8b2b6ef5c21d95508a41c5 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*>U#EEb5NCu&8yjewRBpYbJ~|4 zx7>2@AzzSU-gKrw+q^W%B%OB}jz@Z;wH>Z0iY;c1To&2&}o5`LU&H3v^!CPoA@`r&^@uPv}UEV*|x_& zgq}@YxpYG3%wqq0Cn~2bXH8wmYBAYMCKPm*-6c^hUfd_ul-_a YyD#u&@%gDX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*&m=qN5?^l-Aa=?S1hR7wX&nAtE=Pr1dE?6%uBmXq^^lxSu0x^x`%s(?~z-+ zA&j*mvpdxmh!XE9HyK#a?&LVi62~zd%j#NKsc&j?F~uu=Lr|Iwj6 ox=QTjE~XPZW?DQ=f3#12yA%Jhw^6re0sY3{>FVdQ&MBb@0IyDmmH+?% literal 0 HcmV?d00001 diff --git a/assets/images/heavy_impact.png b/assets/images/heavy_impact.png new file mode 100644 index 0000000000000000000000000000000000000000..f173c9e04296743c7e036f2336fbd157547184b8 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*#2TK%Sxw}PA~H-_;Pmn zdtBOByT|z-`?u|PF6;}uC0q1IL{WcbYY(^P!rH}|mdKI;Vst04L;AoB#j- literal 0 HcmV?d00001 diff --git a/assets/images/hex_master.png b/assets/images/hex_master.png new file mode 100644 index 0000000000000000000000000000000000000000..4b9369c0bf3328d8c79fd419b7da4352af674f62 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*>`~Uxo!(}F0w0N$)7W=m(NnWw=Hs3Sbr0iam$d29H z4d#n=|Kv@|@hp*A)Z>tPAyUv)lr>&0N_7Q~mF_n!4Ouolw@EL4Y8q}+vEmJMTVV8J zO~<0HCh^W=3s&1*=5JPXo9x=(J+WTstoAdNpri;T&nJ2hH@Lg@S>ADZ5^(6I>$UD1 zb}rLwmmak2wh;{TOqsgp&a4wjpZ2_;;ZoqmBk<{uha~_2 literal 0 HcmV?d00001 diff --git a/assets/images/hive.png b/assets/images/hive.png new file mode 100644 index 0000000000000000000000000000000000000000..e03a2acef94702a6edfb934b6f961d443b626786 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*_`T>nqY5`pwjAFEE(cV2h(@Oxyc z&>dTHc7b1*;OT@JC4%Y+&00!65eqx+uo^EpVVTI@8N)l(;(*$;M};bbO9;>z1xxPP27=4BIwNFqm4t@mTc6XBu7hLfL^XA?1rIL#?`&YSsErnd$rT zN4i{hpj`LNvW+vj<}Hg*>pEl|_+(c{ccfeAarM*RrYEg=;_2rqqy5rB^!}&Yk6wS} Y)U@UAa-4bq7+?$xp00i_>zopr0P)DJ>;M1& literal 0 HcmV?d00001 diff --git a/assets/images/immolation.png b/assets/images/immolation.png new file mode 100644 index 0000000000000000000000000000000000000000..7461f199830282f6050a2d805414cd2ff66f1d01 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*4Ds-OdoG&qkO7ZN;HAI%v&{C@srrR-PGBgllR7WMDR=wmoew7anWMA+ zM!PKM`<|?tYn5Q1^)k3&>X)PSyP6U^3MO6Q6Q2|m)wp!YB4)8kPSUNDpKQ7PV8;{f zLpqhy4f^)nQGH>2|ACQ-Lq@gHnMr;{Oe;??G%vZ(b3t``T9ejJ9qkhjcP@P5zhHvM zG+Vxz$2M3knSc17W5rMVs84x6wKOJee=b_#5vM4s^Eq!vu79bUz@D%62ep9CXYh3O Kb6Mw<&;$U?#CkUX literal 0 HcmV?d00001 diff --git a/assets/images/intimidation.png b/assets/images/intimidation.png new file mode 100644 index 0000000000000000000000000000000000000000..ad4f0216df503b5b2d741d089e8239fb61e93c65 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*p%b9ubVNmIm-oAud-@yxjT17tt|h~?&*IzZrrL+ z@>-G6{7)<}I885k_M)XMr`5!sNj1&z$r3*AbLwVS#O#nuieYN3y z=ui80dtI>$oQ^IL7x?#_c$N6lVxsP$XRgy^uc=;o?exOKPidv|!l_*gS*$b{dju@u zS+rhe9p9om^RCu=Pf3)Cn^Npt?Q(kgii*?md!8(;kjc-TDsVT*P4Oqtw+x=HelF{r G5}E)XUygGC literal 0 HcmV?d00001 diff --git a/assets/images/longshot.png b/assets/images/longshot.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0e4a91c46eff86574dcf55ba8b2a8b170967a6 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*a<0wM+y%$3R6TSv zieM5yxpTRJN8ghLljpd}UE8*5+6Au_s#}DzIM>cs$bTzicG6qxDdW+f0teKK1-}9v O#Ng@b=d#Wzp$Py&(`C;9 literal 0 HcmV?d00001 diff --git a/assets/images/magnify.png b/assets/images/magnify.png new file mode 100644 index 0000000000000000000000000000000000000000..3e6b696c44f55a195adb64c3d93d1b523a617e4d GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%D1gc(IO zyc&RlKRjI=Lp;3SUN|V!?7+bs@b$m_E^g0;(8#xI+n;R`xOZb_-tp6a9vYo5xc|4Z zY4_1K)sj@n&rCv*$F4aErM%%)Nm#RTg6J}yRZQNmm75kFDteIdak8ocf4W4-1l{U$ z9p+7Mt`s>2FmCF)|L|DF(+RFStSud93%;vhnid+^eBF;z*5%4e(~e5c;{p>LI)e^N z^@Y8kc2#C;#rFoA^hIA28P{IVPUaWASI@95==nST{ujS&b5dm3W9p3ZIP+8I@qF7P zqqWE58t3Af8rstuB2N`U7HI4 literal 0 HcmV?d00001 diff --git a/assets/images/ouroboros_technique_r.png b/assets/images/ouroboros_technique_r.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d6691feb02125f92001643d8f4d0ffbd6d8b78 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%D1gc(IO zyc&RlUp-wMLp;3SUi9ueY{0{O!RotxiSEQ-HzxL!TzB2E(brBy^33z98RBxx7Hx9N zHDrWpzX`7JYg%=V$-ku8wm1JvMt%38U+$096m{%OVpaLdXRecKels!Vh1KOc<@b8O z?c4aPnKmVDxwX_utmm81zKba*f~8pAH~iaT+~l^ZVXF7tmL2jBb!4kJA8a&ooMU_B ztYSI;t%nz^V~e-ME{ypabEvj4b;p0koTX=f+6N!Ic0W1Zqsu8 ZE31=&0H0~WRZti+c)I$ztaD0e0swlxmJI*^ literal 0 HcmV?d00001 diff --git a/assets/images/payback.png b/assets/images/payback.png new file mode 100644 index 0000000000000000000000000000000000000000..3d2bda31b1b4a08a7f156d23f5a7211168ee2e01 GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*4 z`AmN0W}d)f5w~{twR0RkJEN!|Ci+C!`crcjCvI*jT)kFz-?H?HP6RmnWh{YKe2vGteU}HGCi@}b#pyea!82#j7OS2`iXC3 zE%%t-@%}1kR~xjoE&Jvh{lm#OWBIop(Rp~`>CI=WMbCM+uWorhX}00v;FCuu7U+L$ pZ1e7FmXkVu>c%1UIFWnb+1q#UZx;6W<^l{N22WQ%mvv4FO#o!nql*9l literal 0 HcmV?d00001 diff --git a/assets/images/point_blank.png b/assets/images/point_blank.png new file mode 100644 index 0000000000000000000000000000000000000000..fc434b9245d245f9de837314a6d025eb05f06c3c GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*@CXpuoc#`0!u5m~*pdN9eS}dV8DxY!8jsY@MFjc((PEDo=`& z=0d%NQv#+3{E{fU`q;!sz)8l_`9M#xzhjzcbBU9i@a2nKe`l+eO#W@xUK922zxAB% z-*%13lX{mIFX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*$SG-Oj# zabBINVd9{>^{C7W=a8VJMH%jf9Zi$OCJR40bMp3-1`DrKTq_0CeeZ^H9bw$qd{=wU zUPo<)jqeoaGkw{|*RXF*^K`bqvljH0A9fUImd~AZ+eYohUf%Tz{-5#^Ug*By&T0C` zo-ifz^0bGaQsYt=f3@1O>b8j3O`SclO_A$1>j=JD>L(J%vMg9q!%5`V#!jvS!kh*V z!xok8n5d!rMuW?*W$L39CnqpX5lwBJ5Mg7_8k+R2hAA?M>t(|1-46?G82@zhH_VY) Rn+xX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*!l}Dwp}YoU8ON^ zRt1Y|h(C`_ht8{aNk)@1iaT=F9Vy|BcrrCVRqUsoK(TBdFn-t+Q#Z7E-Czr@XACczualLa7T;LRpW>oH!P&3%wQN_s8p)q|%qLP;GX~h+b zl(<&EQvGru$v)D@SzNQqYvFSBB$m{vD!V!orR6)yY6WI@uW0rC*L_S){-4qDN9Ofh z^TSRaNz!xjS4ox+JhrHs?g8&C`E~5TC5JYpQHQ1 zqkpvKJe+9Zw(oFq;D?o2p*&sN#MSwZzOG_En8o*Zf-FZZFuWK%UHx3vIVCg!0Br}B A2mk;8 literal 0 HcmV?d00001 diff --git a/assets/images/spawning_pool.png b/assets/images/spawning_pool.png new file mode 100644 index 0000000000000000000000000000000000000000..40d2dd14cfb52a49f027d575443c9355b446eb23 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*pxS?V$u$${%b#e z&|%(#i-&RoU$_@5u^zj)tUPC9%8dRqio#EpTzJY;`q@@t@BXGz5x&g3p_U4u-9TD+fB9U`n;R&SnU7HHZ$B$L7j7XfBut%uJW8s4~?Ytisp$I XZ4s3EFqdmK&@T+0u6{1-oD!MX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*?}Miq`Nw+b!0|A}(`k6e5F=OkUdn~x^#7qRb4 zd+gcrOvAoo5{I_v9v+4;E})rg!N|j)L2{a+be^Dnk3K znEDb9*=EhIuw*ChuWw^Z4BlAu zalLlvl9e|#Z?-A%9WXX|m8|w4q`)>xY(w@3xvhK`c#pJtGp@2yj9YcdrOW=tBcSUl dHRnASuWlE3_;|vpUZ9^CJYD@<);T3K0RZgqdwu`_ literal 0 HcmV?d00001 diff --git a/assets/images/ultimatum.png b/assets/images/ultimatum.png new file mode 100644 index 0000000000000000000000000000000000000000..7374a04f6f75f23b6fa7ccd5ac3d03b670e46cd0 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*6q%*OymkZ%w?zeqXP zvgTC4yUG(5-XQZXZ~z55uI_&(<6SU)j??R3Z1#@?9{R{MZwC5+!PC{xWt~$(69APa BeA)m2 literal 0 HcmV?d00001 diff --git a/assets/images/unleash.png b/assets/images/unleash.png new file mode 100644 index 0000000000000000000000000000000000000000..f51790205eec3e8dffbafdcad4bca184a1df23d0 GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*lily~0VR#>@8 zBQAZPcGzcqsr^dFe#Q7SyXi+&7_3>^{mHM;FLu(7BO6T*9?7{D9bh=~smPOS|0iY? z?`u(BA+f52W7Uiuw^VOw&oDTW+UA}x|523E8oxKb+Z4*wx*r_Px+KqHID3ni$YRfQ zm5Z}Y3jSrTI@m4m%o*o0BS6|OrOZIXJB7zUHpKA0!BLZ?74a$@mh~}nyt~Se7`{CA za*x{=16iGohLR%cVv}!uNHWq?>^QhY$|W#EcVS0*jL7%DoOR9oZ#1_$3IILK;OXk; Jvd$@?2>`*wjoknM literal 0 HcmV?d00001 diff --git a/assets/images/unwavering_stance.png b/assets/images/unwavering_stance.png new file mode 100644 index 0000000000000000000000000000000000000000..6688c8726bf63894abad3d7de9ea2d17e65b055b GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*-98t zF4q2Or}K{gr09ZH+ewOQPSJ}dY;NmzRoE_*$F;NP;Vs3#GVd5Om7_u!mTaD;UOJB} zb5EA@I_;F{?|)pGwn^(tp>D3wi_1GoUT)A;&5S%)C9!?mKBi=q!&1MGKAdb}qx`hp z{@nBjoS7#QC);hF63EZ0c5``1_zkVskFK6$dZRmWQIoR9N`(iCPqhkkcdG7~6r;nX t?iD?0A?xI+sZG-&Bf|=2`X8>{&%C3AU$Rd!?E=t)44$rjF6*2UngEd0huQ!D literal 0 HcmV?d00001 diff --git a/assets/images/void_rift.png b/assets/images/void_rift.png new file mode 100644 index 0000000000000000000000000000000000000000..241d47677a051108ba50a88a3a196b943971e590 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*38)nGBi9>qmOyUO^fAT@i6&>QvLVYzf>z?t8AO5 zd%fe^^*&|JI<`aY8aI@R44S)}B174O3bcjd*U$4)%$|3!aZWb#ajmt|Ht!xd`1$p6 zBuw0)p1E4%0F%cIAI@zm3)wfE5dLw`eAWi`j<7A742u@$&$4E}Xt2yFdu!tfV{;y! zRdYkQ8()e2RGHl*DfKjL0e^SW9~Pe7g3szVh^H~mKPj=Fq1tGB{{i+*Vr=0;wN2JS zYp?R99o3L3VOY&8;`yYKRoqhGf!I;62aPHpWBnvwX(#BMScST;*P#54|lQCD5F~@iAuKt=oQfS{AYwPaoL)?lX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*|E6iyBCM-n6U3;`1yh!Re{8(SwcVMy$ns5WD{kf=~K?% z&ZU0xPS66cZS%M`r)-o_V7}>;mGZx{l;=242frq&;e@{erTyk@V{ z{tIalOQ+~FhAvZ=H1L*_p0VV=@5urW?$xdd6MMv3m1cT0dKy(|@p$(7Tu{~B^xNgu ziD%}Qg1C;vI!E;#+8f-lyUoP6O?`XAlvzJlS6=7%qq1I;i+^X!``^sk3Igf{(!J5Z Pz+>=q^>bP0l+XkKM2Vy| literal 0 HcmV?d00001 diff --git a/assets/images/wall_echo.png b/assets/images/wall_echo.png new file mode 100644 index 0000000000000000000000000000000000000000..98c1910bd71f2b5d20f4ef32b88b10552aa06384 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*MFSV8@Z+0_xKM^rGoXX#1 aDgWhX2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*4c=<}Q7v>a63}e#=Ez;tT;5OY#QIDyoK*pSMr_H(|vn9;F#q>t-~3e1{b#e zxH~Da>Scu%tJ}%u5Q!y+e)4HQy>U=y=T-wxKii&3r`gy}?Q0F*^zX0Rl-9%Z<(oei zWGT8lyynRA@P@+yj_cM-%nvq)thi?6_D*!wmNSvxxvoZDdsOb-v`Q!O^F^VBQrPQaw$#zqxa((^TH=gYb>zh1p9*TaXZ+~dU@`siC7|YxRMBaCDDg%R#!PC{xWt~$( F69CjDtN#E1 literal 0 HcmV?d00001 diff --git a/assets/images/whispers_of_doom.png b/assets/images/whispers_of_doom.png new file mode 100644 index 0000000000000000000000000000000000000000..3fabd2a62c3bc98dd5422b26d05b01ef4838e7b9 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3-po(>X2yDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|u0Z<#|NlU;_*ioxkYX+g@(TtETtCGNRLj6w;1OBOz`%DHgc*VCPG9kt>5KbW&PDZtkEYdfKGqNoym6lA z+cec9GKLl&J(BHehKkH0oeR@j<~}-@<9zR0Kwscf{Vk?bW*M|e2fWfd