From 876efa29326a7d64699ceafc2222faafa12c2805 Mon Sep 17 00:00:00 2001 From: Ilyas Hirsi Date: Sun, 6 Oct 2024 01:49:27 -0400 Subject: [PATCH 1/3] edited anim --- Player.py | 87 ++++++++++++++---- Tile.py | 3 +- __pycache__/Player.cpython-311.pyc | Bin 18050 -> 22195 bytes __pycache__/Tile.cpython-311.pyc | Bin 4360 -> 4404 bytes __pycache__/levels.cpython-311.pyc | Bin 5999 -> 6018 bytes __pycache__/settings.cpython-311.pyc | Bin 4303 -> 5935 bytes levels.py | 2 +- monkey-jump/__MACOSX/._monkey-jump-1.png | Bin 0 -> 329 bytes monkey-jump/__MACOSX/._monkey-jump-2.png | Bin 0 -> 329 bytes monkey-jump/__MACOSX/._monkey-jump-3.png | Bin 0 -> 329 bytes monkey-jump/__MACOSX/._monkey-jump-4.png | Bin 0 -> 329 bytes monkey-jump/__MACOSX/._monkey-jump-5.png | Bin 0 -> 329 bytes monkey-jump/__MACOSX/._monkey-jump-6.png | Bin 0 -> 329 bytes monkey-jump/__MACOSX/._monkey-jump-7.png | Bin 0 -> 329 bytes monkey-jump/monkey-jump-1.png | Bin 0 -> 2113 bytes monkey-jump/monkey-jump-2.png | Bin 0 -> 2053 bytes monkey-jump/monkey-jump-3.png | Bin 0 -> 2056 bytes monkey-jump/monkey-jump-4.png | Bin 0 -> 2026 bytes monkey-jump/monkey-jump-5.png | Bin 0 -> 2145 bytes monkey-jump/monkey-jump-6.png | Bin 0 -> 2134 bytes monkey-jump/monkey-jump-7.png | Bin 0 -> 2095 bytes .../Summon-10.png | Bin .../Summon-2.png | Bin .../Summon-3.png | Bin .../Summon-4.png | Bin .../Summon-5.png | Bin .../Summon-6.png | Bin .../Summon-7.png | Bin .../Summon-8.png | Bin .../Summon-9.png | Bin .../__MACOSX/._Summon-10.png | Bin .../__MACOSX/._Summon-2.png | Bin .../__MACOSX/._Summon-3.png | Bin .../__MACOSX/._Summon-4.png | Bin .../__MACOSX/._Summon-5.png | Bin .../__MACOSX/._Summon-6.png | Bin .../__MACOSX/._Summon-7.png | Bin .../__MACOSX/._Summon-8.png | Bin .../__MACOSX/._Summon-9.png | Bin settings.py | 20 ++-- 40 files changed, 80 insertions(+), 32 deletions(-) create mode 100644 monkey-jump/__MACOSX/._monkey-jump-1.png create mode 100644 monkey-jump/__MACOSX/._monkey-jump-2.png create mode 100644 monkey-jump/__MACOSX/._monkey-jump-3.png create mode 100644 monkey-jump/__MACOSX/._monkey-jump-4.png create mode 100644 monkey-jump/__MACOSX/._monkey-jump-5.png create mode 100644 monkey-jump/__MACOSX/._monkey-jump-6.png create mode 100644 monkey-jump/__MACOSX/._monkey-jump-7.png create mode 100644 monkey-jump/monkey-jump-1.png create mode 100644 monkey-jump/monkey-jump-2.png create mode 100644 monkey-jump/monkey-jump-3.png create mode 100644 monkey-jump/monkey-jump-4.png create mode 100644 monkey-jump/monkey-jump-5.png create mode 100644 monkey-jump/monkey-jump-6.png create mode 100644 monkey-jump/monkey-jump-7.png rename {monkey summoning => monkey-summoning}/Summon-10.png (100%) rename {monkey summoning => monkey-summoning}/Summon-2.png (100%) rename {monkey summoning => monkey-summoning}/Summon-3.png (100%) rename {monkey summoning => monkey-summoning}/Summon-4.png (100%) rename {monkey summoning => monkey-summoning}/Summon-5.png (100%) rename {monkey summoning => monkey-summoning}/Summon-6.png (100%) rename {monkey summoning => monkey-summoning}/Summon-7.png (100%) rename {monkey summoning => monkey-summoning}/Summon-8.png (100%) rename {monkey summoning => monkey-summoning}/Summon-9.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-10.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-2.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-3.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-4.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-5.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-6.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-7.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-8.png (100%) rename {monkey summoning => monkey-summoning}/__MACOSX/._Summon-9.png (100%) diff --git a/Player.py b/Player.py index cab5f0d..ce020ba 100644 --- a/Player.py +++ b/Player.py @@ -6,8 +6,8 @@ class Player(Tile): def __init__(self, display, grid_pos, color, images=None): super().__init__(display, grid_pos, color, collidable=True, images=None) - self.gravity = 3 - self.speed = 10 + self.gravity = 2.8 + self.speed = 8 self.vel = pygame.math.Vector2(0, 0) self.grounded = True self.controlling_player = True @@ -16,27 +16,65 @@ def __init__(self, display, grid_pos, color, images=None): self.creature = None self.can_jump = True self.offset = pygame.math.Vector2(0, 600) - self.images = idle_anim_R + self.images = idle_anim[0] + self.summoning = False def draw(self, offset): + if self.current_frame >=31: self.current_frame = 0 if self.images is not None: - print("-------------------") if self.direction == 1: - self.images = idle_anim_R - image(self.display, self.images[self.frame], (round(self.rect.x - offset.x), round(self.rect.y - offset.y))) - else: - self.images = idle_anim_L - image(self.display, self.images[self.frame], (round(self.rect.x - offset.x), round(self.rect.y - offset.y))) - self.frame=(self.frame + 1) % len(self.images) + if self.summoning: + self.images = summon_anim[0] + if self.anim_frame>=len(self.images): + self.anim_frame = 0 + self.summoning = False + image(self.display, self.images[self.anim_frame], + (round(self.rect.x - self.offset.x), + round(self.rect.y - self.offset.y))) + if self.current_frame %4 == 0: self.anim_frame+=1 + elif self.vel.x == 0 and self.grounded : + self.images = idle_anim[0] + if self.anim_frame >= len(self.images): self.anim_frame = 0 + image(self.display, self.images[self.anim_frame], (round(self.rect.x - offset.x), round(self.rect.y - offset.y))) + if self.current_frame %4 == 0: self.anim_frame+=1 + else: + self.images = walk_anim[0] + if self.anim_frame >= len(self.images): self.anim_frame = 0 + image(self.display, self.images[self.anim_frame], (round(self.rect.x - offset.x), round(self.rect.y - offset.y))) + if self.current_frame %4 == 0:self.anim_frame+=1 + else: + if self.summoning: + self.images = summon_anim[1] + if self.anim_frame>=len(self.images): + self.anim_frame = 0 + self.summoning = False + image(self.display, self.images[self.anim_frame], + (round(self.rect.x - self.offset.x), + round(self.rect.y - self.offset.y))) + if self.current_frame %4 == 0: self.anim_frame+=1 + + if self.vel.x == 0 and self.grounded: + self.images = idle_anim[1] + if self.anim_frame >= len(self.images): self.anim_frame = 0 + image(self.display, self.images[self.anim_frame], (round(self.rect.x - offset.x), round(self.rect.y - offset.y))) + if self.current_frame %4 == 0:self.anim_frame+=1 + + else: + self.images = walk_anim[1] + if self.anim_frame >= len(self.images): self.anim_frame = 0 + image(self.display, self.images[self.anim_frame], (round(self.rect.x - offset.x), round(self.rect.y - offset.y))) + if self.current_frame %4 == 0:self.anim_frame+=1 else: print("Bbbbbbbbbbbbbbbbbbbbbbbbbb") pygame.draw.rect(self.display, self.color, (round(self.rect.x - offset.x), round(self.rect.y - offset.y), SCALE, SCALE)) if self.creature: pygame.draw.rect(self.display, self.creature.color, - (round(self.creature.rect.x - offset.x), round(self.creature.rect.y - offset.y), - self.creature.rect.width, self.creature.rect.height)) + (round(self.creature.rect.x - offset.x), round(self.creature.rect.y - offset.y), + self.creature.rect.width, self.creature.rect.height)) + self.current_frame+=1 + def update(self, keys, tiles, time_passed=0): self.update_pos(keys, tiles) @@ -68,18 +106,19 @@ def update_pos(self, keys, tiles): def controls(self, moving_person, keys): if keys[pygame.K_w] and moving_person.grounded and moving_person.can_jump: - moving_person.vel.y = -26 + moving_person.vel.y = -22 moving_person.grounded = False if keys[pygame.K_a]: + moving_person.set_dir(-moving_person.speed, moving_person.vel.y) moving_person.direction = -1 + elif keys[pygame.K_d]: moving_person.set_dir(moving_person.speed, moving_person.vel.y) moving_person.direction = 1 else: moving_person.set_dir(0, moving_person.vel.y) - def set_dir(self, dir_x, dir_y): self.vel.update(dir_x, dir_y) @@ -202,7 +241,7 @@ def __init__(self, display, grid_pos, color): def check_pickup(self, tile): return tile.movable and self.grab_box.colliderect(tile.rect) and not tile.drop - def pickup(self, tiles, movable_tiles, level): + def pickup(self, tiles, movable_tiles, level, player): movable = self.convert_to_dict(movable_tiles) self.grab_box = pygame.Rect(self.rect.x + (SCALE if self.direction == 1 else -SCALE / 2), @@ -218,12 +257,20 @@ def pickup(self, tiles, movable_tiles, level): i += 1 loc = round(self.stack[-1].rect.y / SCALE), round(self.stack[-1].rect.x / SCALE) - if not(level[loc[0]-1][loc[1]] in [0, 2] and level[loc[0]-2][loc[1]] in [0, 2]): + if not (level[loc[0] - 1][loc[1]] in [0, 2] and level[loc[0] - 2][loc[1]] in [0, 2]): + self.stack = [] + + fakerect = pygame.Rect(player.rect.x, player.rect.y + 4, player.rect.width, player.rect.height) + print(fakerect) + print(level[round(player.rect.y / SCALE)-2][round(player.rect.x / SCALE)]) + if fakerect.colliderect(self.stack[-1].rect) and ( + level[round(player.rect.y / SCALE)-2][round(player.rect.x / SCALE)] in [0, 2]): + player.rect.y -= SCALE * 2 + elif not (level[round(player.rect.y / SCALE) - 2][round(player.rect.x / SCALE)] in [0, 2]): self.stack = [] - print(loc) - # if not level[location[1] - i - 1][location[0]] in [0, 2]: - # self.stack = [] - # break + # if not level[location[1] - i - 1][location[0]] in [0, 2]: + # self.stack = [] + # break print(self.stack) for i, box in enumerate(self.stack): diff --git a/Tile.py b/Tile.py index 6a98131..20d1283 100644 --- a/Tile.py +++ b/Tile.py @@ -15,7 +15,8 @@ def __init__(self, display, grid_pos, color, collidable=False, movable=False, im self.goal = -1 self.id = 0 self.images = images - self.frame = 0 + self.anim_frame = 0 + self.current_frame = 1 # function for drawing tiles def draw(self, offset): diff --git a/__pycache__/Player.cpython-311.pyc b/__pycache__/Player.cpython-311.pyc index 305f774b2137acdb38900e5de71cdcf3a9daae72..0289563f9fce32370d55fd42100ae07a3946b951 100644 GIT binary patch delta 7325 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 T+zJuh5>l_NH2JB${qTPQe7l^= delta 4030 zcmb_f3v83u75=Z^j$e7(c|V)QJQ6}e8WNHaFaeS@lq66F1>?jfI59Na?gL zl~NSAR4Wr|GpS;9eSutUOrH&xwsF;jaXQV)zEqvk7eL1_4j*<_on^bK z5`^yvL7@+pi?&H}rdU)mTUGXYV51?txfRDaO#`AP#uH$oGu{!wBo@)9GGCFA&14yw zFE4@ZG}z32Xe)0)(x+!mQxC#m8k4p27Q4qpj;zRr|hM&u<~)Fvx^ z9zR7t$tpK>ouGMqZs*pfwrv#R1J*p@b&E%3%~6lH_o!$eQ_vh>(=31h=0koyEkH&Y zz^LJA$UzS+!==)2#6t*~=Y(m4Wuh)(D7~v?XQY^i_NJAr$o{`AGQR(1lxc(cF#GsTI4D;{rA8+Z$TDfe=($lu=O9@lE zFPh&jy5fH8SY%bLw5m2@tsQqvw2Zg>MI)G!*)8kfSQoi#OrB`{%$R-0nEguErDv~H zy;U!*Zn&FU1p9nSDz27_Ypz${sEHJBjpRC{T*uEmw;i86CAA%r+75?%yi(7xNZYYU zvrlUFP3IO~>X&lYNx9Y6RX0phO^Z~sdsazuJIS00L5}8 zYkLNKKCjzjS4N|w1_y2g2w<$|$6}Sr-Wt)LBYFP-#n7P|nSwWjh ztFN7Arwhu-G<&Du$EF4tX;(zGY+_ z1j4u}3sd)oB6g>`o??aKe&ZgrCr~RgHX)QE#1E5}W0!kSOg|E9 ztoQhb`#sbpdhEKWVb9XaVz#9ObLf@{>v7ynUNwE!$N~HE9+G_JuNb668+J5OoUNe&_@N@gFamcK&ZWl@P5=bpDiAhDFN+amBD~9XHtr`Q z>|93%`=GIc_(NYbo>Vj*Mmaw%GmUN$8N3$YT}9gw7NeVoF%NN`bvAZ+O945>&ef;n z^6e+b>~D(i|3g?Ia0ecU8SK?geJE>d1z8gfdszz+%>()jYS|T6^(0U+Kh?35jt%5v z_Ku^5-ET}&)Tr6L^*QHrESgg)5kiX*M;>e6_MTpG(0WQ86sGj}FiKM|e@0Cb`Y$n! z?JBdfw&p6fzs$%cnpbVq^x{*@0P1*iD^F>I8n-ed#t@)Kmh`lvkVr=qK^6O=x%COv z&eviA6g0+Z~w+G%q%g&F{1+g2-K+ zhjF&hg1Y7YfM;b68*52t-tCDBF^`ikwprEMQ~Dr0n_JV_`)x%;&zhQ3+5I-_YE4kT z_&*}3g9+&7H z@KY~#mC%)ya195rSh5Z6cI_{K2<%cYPrENS2a0 zA)U>&|GmSS{YvLl(xtsqO&9lF7@G=Qsd)XkWG%Z|61LXB_xhfjl{bfORo^c7sOEs3A!i9v%1lG5EsJ$Gt&Z25s2=>6uwNeG( zo|ypo%4NWh5`>>Hd&lO|94w3f3AifihiY*x8Iu+6j>YQ0^F4EUzHf==`#pi3>8z?+ z$;cHe)LAqQ;ZFja>D)%ng3|5mcvqhR71K!st`Yug&UabU?jz$I0=k2qM>xSg?X=bX z8A%qGybKf^B2~h#tb@0O==Jvos0Ig&AfP|EX8JNay(g1gWEb~TRQ4*!`dMLR9PgUr ik_SuWU268_o>i;X5b)_&VNy4T+y{%ILu~in?tcS;f5O%P diff --git a/__pycache__/Tile.cpython-311.pyc b/__pycache__/Tile.cpython-311.pyc index d7b8e262a24292152aeb5857460af0c82630988b..a1b9385c632edb84b6e688ecf19ae87478df48b0 100644 GIT binary patch delta 366 zcmeBB+M>j}oR^o20SL}2Go`Cd4{5NFfI#{l7NL>J<%_1zBjGEFw z!*8+Wr==CAmJ~AqISL9zvOuax5lB>VhGgcX>ZKGVmWxeZ##+HBzgeEmj*U$jq(EhI zGLJE%^yKM09*nY+AMhA4N^chC-OI!%KlviRzPKFBkRlTxYb8UGJV-!xvbcbf2rsMr z2L@C^VY07)x*1pvD^Q`ICetkrpp!~6^U{lpKq5sJAOd0tkoAkhCO1E&G$+-r$ZGN` Y0eO2@Mnffk8$SYS@1)p!ow>5fdQ3}n_MZN4%E6(Kw8Qiq!OYW n$oj=$lbfGXnv-f*WI6eofV{m6Bcsv>2JGZVu=p1ovS332QiD#O diff --git a/__pycache__/levels.cpython-311.pyc b/__pycache__/levels.cpython-311.pyc index 5864e573531773bd50fda9e97ce618e9de21f379..872f7eaf6ff626cf20779a1ffbf30d1e6c51ccc0 100644 GIT binary patch delta 189 zcmaE_*QC$8oR^o20SJPWnbMm!@>&ZpmQD5)@L?9LWtki$AT@cDfHvdn$@c{M`Fm^F zQrNPYK#GghN;oG!5R{!fQ;=6Bg+me~1_o<5m$5J~tOjBTsAbMe1Zv}&yic%}ojZjk zg=G!TWGA6i!8a2adxUEkYnW=7)0l%9GsKBL=Y cCXr2io+lEI_*{?-yeJuXMKW;nK9P+~096t*P5=M^ delta 176 zcmZqDf3L^8oR^o20SK18W=wC~$ZIXYm^Il`z=xT;mSu93fYjto0@{pEC*Kq3=WnlJ zOJU1q0x2$1DB+y^Pe69^OhI0WH5|)W7#LOqF$B~y=OqG_a!x)aSj*0p!ji(WhI_J~ zP^#dw35-3wHH%_laC1bP8Jgm_V;GMNAX diff --git a/__pycache__/settings.cpython-311.pyc b/__pycache__/settings.cpython-311.pyc index 4e4af88fdd428e9995aaee10ceeadef9dc677923..9aaeebbf5233c6fe770f22abe475f3ab21bd285e 100644 GIT binary patch delta 2366 zcmb_c%}*Og6yI4JufKL}zKo6eOsf<^Ax)dM5^SzkRYPtH}l?`ee?XA z-@KV;?LYQ(e8;kG3fj-F(#Z|5{vb}NRawUKZ|FxIy%+f^u}Z4?6lO(-spn|k!7~!I z=qxRH>cYrX*C9D1W}eO3BYD2QQ8tDbUr#eJcT_leD- zdjs))u|@QPu7;qRa!@Tv)X9q6CJlcH-E4fF=-Z(9deIMKK&;-NXi91jYw#1);udQw zT`o!UL9x!7sy8D7l`e@0i4E3N(2NLGx+J1eY_z7rW<*n^dkG@KB8pO-tp^0+NGE*| z1bt8k1K1HzGNE0r!uu$KXk1T!g%GyeUPBJTEWT;Gi5UE)?OpuL7DhGrFI&{z01IlN z=kMVG``b)Xb@yoQo}Ep53|-eUzO(*bCO&SOLg0F zF0b1&IZ?{n!Eb{m2k@JY2PlYta{P%x_`?hGE?s-E;sXWO+@PRsXN7AW$VJ??hz9A38#Cy>5S7EqM zDQw)5vFO9361Y}uFW%aI1q@U6B10-StZ~ETKp76hMjhA<>;sU*!rn@-uUBFhZJRbI zHRxso^lfmgcA4y0_K@KY3|sVgzf2OzAHYxv+yH9~?~^a@z(5e^EJ@sZ0dWXW1LWO| z%EdG;R*scVrurD%7pVrYw!>g1mtB%R>0V2umo8V>-A6k(4gGBZ{=CGupsH9+2-QMqZ2o3;Yk?EgUc;%a8OL^!cuf^eh2qGX!}cMMo_#v_Xly?*b1i+1iz zMLR{(m5WwB3yGw<AL$8iYd|Y z$4r+Jj1;dFN4MVs!<4=2!>WHo^N(0zzJy7k>m215BS4SPo`tzVvczN#tWG4mOcf%k zN%n%$?Wt@-s-QcPa!M4|EWIF;rT8~)2sPl>eZ3#KQes*X64_KncabY>nWUgh(_=Dg zI9q1Hn6IWY0#E&FTDl>xKuS_Rd78%G`Ytm2)j@^w@8ezHFY8)*en3_>QW(9RBu1&?E5>#J8 V^CeCK5-uYlNqhjrLw-il{0pSxOxOSb delta 1087 zcmZuvO-xfk5Z-;S|NlTse?Xv`6e>xBKg0wZ5HzR>snBAAFFu126)f3_lbFFf09aK4 zR&!u0A{JuZ6yRu3RiqkXTS1bO*ulDpV+9FFt|e70iyJJGn^Yg&sFyqh$57B!H+=&kt$}`t%$fPb6jPX6rf+_OLg)RqSI|^}k!{I6_;{ zQF)rkv|yN!GjS>>GX;HSW_D5@&(IURP$Ro#=!e7?h6mWU8!#>ixPfh$&*Mh+&78rW z-H7EhhLSfNUP~Afo}dXdk4C(#zpBAW@bUJq39CL z9$g1>lzfSB$z0}N+QD$viNhHi{6Fn|t74D%^Y%yuT4El=)Cd*8l`hN6+MIQ)-`R(~ z?3uIUqB%t-<#=K`H5HE*js$(%sFbd@(-5ATA#;;*Cyhfb-iCBDW&u|Ke`hh*`z!Vs yhJJl?!MOX$^VtJ|VvFW&(Pi^jmH5y|4(4cF85+wEjR8f)mdM)@%Vs`GC;bEIq6`86 diff --git a/levels.py b/levels.py index 531dedf..41f9e12 100644 --- a/levels.py +++ b/levels.py @@ -62,7 +62,7 @@ def load_level(level): if tile_type == 1: tile = Tile(screen, (x, y), (100, 100, 100), collidable=True) elif tile_type == 2: - player = Player(screen, (x, y), (0, 255, 0), images=idle_anim_R) + player = Player(screen, (x, y), (0, 255, 0), images=idle_anim[0]) elif tile_type == 3: tiles.append(Tile(screen, (x, y), (255, 255, 255))) tile = Tile(screen, (x, y), (0, 0, 255), collidable=True, movable=True) diff --git a/monkey-jump/__MACOSX/._monkey-jump-1.png b/monkey-jump/__MACOSX/._monkey-jump-1.png new file mode 100644 index 0000000000000000000000000000000000000000..467985e75ab7f3731406c3f9767bc9513d76f384 GIT binary patch literal 329 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 Vl|$YU+p2j}iJtx*=iMUG{{z&4aMb_+ literal 0 HcmV?d00001 diff --git a/monkey-jump/monkey-jump-2.png b/monkey-jump/monkey-jump-2.png new file mode 100644 index 0000000000000000000000000000000000000000..38e664a073c30581db7c2347c9b26ab8da6b2ce9 GIT binary patch literal 2053 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 F`46Ipdwc)@ literal 0 HcmV?d00001 diff --git a/monkey-jump/monkey-jump-6.png b/monkey-jump/monkey-jump-6.png new file mode 100644 index 0000000000000000000000000000000000000000..eb66b190b8c4f4ed974a89fc1231e5a6cc4aa56f GIT binary patch literal 2134 zcmZ8ic{tQ-8~%;Gv5QIBrm-|BW~fh$Wh^5z7)^5+6FG)4vdp5H!QetFO3YZ2Er&s! zjuw?ss3aVu4wZx~IfwQv*-w1wo1x?T`rhk$e)sd<*Zthj^S-}7-gJVOn=*JC7ytle z92P?qqm?8SHp@EvbzK0`^B&+3VVnH z0GfD7fbt&k5n{LIaBnh~jQ2!QSq$@_5LPhFoX3cgQ~`E8lsIM3xIs`JgU;ljc=oV0 z1xlPtXao$pCgDcf!^n67)P=>SL9NV@=17H+^ER4&ILLm^b zv9ac{d(2tvBM1u{8yf`D5@Bg+CRUhn;+WhZo*9#4xNh=~4~E8}vcsde;VdRp;u{pq zisstGV3I}~YkkfT>PDZaXf}PVO9&M~qth5PCYOV-Ft_eWNum-MHHOOA!22QiP>!+2&Pw9uevIv3`^U@;?Uab^+Gj3_(Ay6{JXb@oSJ zJH-Ewu&(-_L$BZHnxpti9l&;ojo;${o*m|h06_LK4&&qrA!{UIdMe=SpL*E0iJ?jFN^JJTrsw8`L7zER zq+q1ew-zFmd-u`1=`Z-nYf|il>n7*Pm5t` zqKf3DR?;tu2c=Ym)`>S)`LH}C_>`s$3G&b^^OGx7WMbA<4drc@vSixpa5kGA!GBfVyOM^4KU!S2H>$%q{QTkZZB(>>D zMrEqUmdoshWM{(1BHJ3#MAA9GGyMv(a%x|zTSC%;p(REAQ@2|Y?YiiA-9wbzd`)g) z7z{0JCn?Hqzi)2QE9$vpfc)*swD4Ut=mukYc)CcnK4WkY+2wv^y5WUsrSNXWam$2q zg%36QMS{-lyYw?a5fSVj3q3|a;^K+^XW=Bui|z^c;^)YYXZ&L+%BPOHb^LC+OJ(wJ zCnpDgAfI!+ZsyMFb)^$tYU%#|qjA|*3xB93Yeflp7n_FILxyhpO83Cf zUGTWw?VGKQT5nOD(#Dgzm0flhbf=gR0(H7EHA@7?A~ z$3)iLKTWF?^aBE>fH@J?W=2;JbiscU2e^bj-GCp{VQ`idHeI~hR3B}ttOu`irzNJ0 zQt3A2ECyS9v78E|_Y`A$uT>tum$R@+tRaW? z4j*lA@eD0^J;&p`HC(35o7}?1GmW%wCfoT;*~{FvFj{IW^aqj0q4 z>Y+~U=wq#3y@8PUJQ?jBX=4eIbA4lxQlwyy<$wu0bhTY>+ko*GFmm7aY2=++?T;Dp z!SGkFVR5DHU4b{}6Zk8UIj2z6sno4%lZNPPX9<{suDjX!xA$%#^qmE3m^WoN?N6-C zs&Z|BA?Y$v8jl8_H!LhXPlm+&`m?q+iE+eBC-0{%HJMuk1(!bF?Qxz zO)n^JH7fr5tTaN&$V#)qpbT*jv#K0>bs!k^x~ipGN~q-C`LLhraCKh2n_beRVQV~e z>&ydgy9~5%>XvfuX2j^ ur5sn3A>YMZIRZ*zmP-?G?t4F@dmo^Qhl$Fx#gG=sLyL3u!c;p`j{gTM^kd)v literal 0 HcmV?d00001 diff --git a/monkey-jump/monkey-jump-7.png b/monkey-jump/monkey-jump-7.png new file mode 100644 index 0000000000000000000000000000000000000000..731ac56bae13e7dd6e1792defcc1a0fab75c49d7 GIT binary patch literal 2095 zcmZ8ic|04~7EZ)gs5NG!D%4WT zvy@V`M$IU-)LwhhYAw|nZ>Uy{N$B%l=l*`@p6{IBcfND(y?@+foVA&lh^zgN2;r4wgXi3Lyqli9vx-o-W=q zD3q!Phw~a8t;0FJy^i_>hlY?2x_Emb2_yoU5J;sU)evgPBXMpm#@h=`B~nR*gQ<_i z4#qbmQNPUc_`LokBJWse5}N z#UTGV!XfMb4t;o|2a4P))fd4akDf+?DoCWrYu*9 zhxc5Dy2mgCHf5gt10dF9YVL0azD!;kt{>ZF`1&+hHUDc`%*L9%)ZMn(KiTBh^e{8H zj3YSFwv_r~MsFlH3d=IKy?+i@6QiVFXsb2kZbMtMnt1BFv6Ad&IiQi6_E59n%$cW- z#*e05D!j#?fZGOBAXr8^RY-^QPy#z#LYdC+4Y9!Kk+$Rs23XAE4gCa}h zr|?9f@K!!0*5jP{O}3K8S_0?CSXb?HlT)*oBKAFoi!Iz`gwD&#xX$g(H9jga-kM4h z-<42qh#QKXu`jawNfx(^=hXUm59GGE&M>+!4u#JnVBpq5$4Wv**PRJ|cH}7L^keq3 zd=*cOlI1;U-*R4L4RTwoF*V-etJSdK>X>F$&q(`TMWRGky{)JSx|Rd*x^tZg7vJua zTk{zP{bq9`-{6<>7X&vIUFE-~PWISqhh6N@H5DO8$LIYNoijgoLZ-U%YELO)$A|O+_^fgMxhnxEB$$$&zSVI*x|30BFVSmD*w?6H z!KnQHRxa1dQqNZ(2ds3`ppO+0}KkyRV#|UJ?9YCS2Wg{I+WGShQ|smvT6i|LZ3!XViS@S69|E8|ofD94SqF?|D0-XfWxTa2kXSz$zVI)QEwJ z#>KW=UCGj&krfnpQ^`g}DP^rd5S1K@ieo~v9w}uCFzgv-tes*$CC8%(#agOMl8(&a zzYAZ0m~>>9%5C8^R98^mQI6Ym-0&R#O(ABOs_PpId&cgsKXg!;H*kJyyKDzoEi*py zeb0g`!l6X8P8jqxpRJD(%x*m~aNM9K*-q+s9#ew@)kZd3)%m7Y+f>ClnTc4RZ!0d! zH`8z7BxOpcre-9wSYdy3#kHRojrN-7kMM~InxZL}~cxlNt;L>AcIa}V`LeX|u@?=g)QyH)?-l4W;s zz4ztXdDCkl?Wgw?%ZW&HT}_ChA;O*JnEH{m=ti(v__e@xc586Hfw2<5JX&VGOI&l1 z(jDrw>OGbIUg~1m`llQ3R5qRs?!+dXQVVliZ)NRBVt$U*z%f?%KsYnURRIf#8&2`* zYpe(UW(fQ2B;!@wc>e3bM57^mM=cfMxwbf3%W1h_E~C7qP0_nwTHHD$=rA}I@!(bq z>fL#2&R~H1{%C1iTjjU8jFg&HLuI}7%79i~_qte@yI^SkNP=GH*eduh7gU1Qs3k+i xg_RXHVk2HY_dqyu>!aMJ{ Date: Sun, 6 Oct 2024 02:45:21 -0400 Subject: [PATCH 2/3] summoning animation fixed --- Player.py | 35 ++++++++++++++++------------- __pycache__/Player.cpython-311.pyc | Bin 22195 -> 22328 bytes main.py | 11 +++++---- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/Player.py b/Player.py index ce020ba..96cb22e 100644 --- a/Player.py +++ b/Player.py @@ -24,10 +24,12 @@ def draw(self, offset): if self.images is not None: if self.direction == 1: if self.summoning: + self.images = summon_anim[0] if self.anim_frame>=len(self.images): self.anim_frame = 0 self.summoning = False + self.controlling_player = not self.controlling_player image(self.display, self.images[self.anim_frame], (round(self.rect.x - self.offset.x), round(self.rect.y - self.offset.y))) @@ -44,17 +46,19 @@ def draw(self, offset): if self.current_frame %4 == 0:self.anim_frame+=1 else: - if self.summoning: + if self.summoning: + self.images = summon_anim[1] if self.anim_frame>=len(self.images): self.anim_frame = 0 self.summoning = False + self.controlling_player = not self.controlling_player image(self.display, self.images[self.anim_frame], (round(self.rect.x - self.offset.x), round(self.rect.y - self.offset.y))) if self.current_frame %4 == 0: self.anim_frame+=1 - if self.vel.x == 0 and self.grounded: + elif self.vel.x == 0 and self.grounded: self.images = idle_anim[1] if self.anim_frame >= len(self.images): self.anim_frame = 0 image(self.display, self.images[self.anim_frame], (round(self.rect.x - offset.x), round(self.rect.y - offset.y))) @@ -105,19 +109,20 @@ def update_pos(self, keys, tiles): self.creature.collide(tiles) def controls(self, moving_person, keys): - if keys[pygame.K_w] and moving_person.grounded and moving_person.can_jump: - moving_person.vel.y = -22 - moving_person.grounded = False - if keys[pygame.K_a]: - - moving_person.set_dir(-moving_person.speed, moving_person.vel.y) - moving_person.direction = -1 - - elif keys[pygame.K_d]: - moving_person.set_dir(moving_person.speed, moving_person.vel.y) - moving_person.direction = 1 - else: - moving_person.set_dir(0, moving_person.vel.y) + if not self.summoning: + if keys[pygame.K_w] and moving_person.grounded and moving_person.can_jump: + moving_person.vel.y = -22 + moving_person.grounded = False + if keys[pygame.K_a] : + + moving_person.set_dir(-moving_person.speed, moving_person.vel.y) + moving_person.direction = -1 + + elif keys[pygame.K_d] : + moving_person.set_dir(moving_person.speed, moving_person.vel.y) + moving_person.direction = 1 + else: + moving_person.set_dir(0, moving_person.vel.y) def set_dir(self, dir_x, dir_y): self.vel.update(dir_x, dir_y) diff --git a/__pycache__/Player.cpython-311.pyc b/__pycache__/Player.cpython-311.pyc index 0289563f9fce32370d55fd42100ae07a3946b951..ef7d7546146cfaf8af29633828576f09444c9c4b 100644 GIT binary patch delta 1963 zcmcgsOKclO7@mLE>)_bCUcchRZXR|VyKZY+icmo$M?_wm?2kSbs400M6ngo@n?*ie(By7=}iGn;Y-3`2INd+xTU_%9zZo%o8hewJ9+r`~jI%31$K4fiIY)pw7h>TWj zI4%0|&O_dIMPkg`6eN5>JnArIU!hz()1YQ6Egq}P_Ubi!*fNV}Vz%vmr3SxH_a-%X z1EuCe;Ik|F5I$l#c6T@qF8d2TYh$v$X#HQ4#bw=hCQEEcRz8T!txw>pO}?v8XCd^T z;LHqW7xEESOWJnkw*jGd>9;ii<##d~A;rV!q7}ad9y{$c#-U-i;qF5{|FY_|^~5-{ zMJOM~C*U%50YubuZQ_cEa(7Q7&`UYue%^*7%_}|EV z_yflry{S>>u%POh!_PP`z;{@14G3<>gYW~s-<6Om14(UQtkggDx=CwKketiK32n~i zQk-+myVl!$OEXJKasS!eV(wz-a%?e&!F>fQ9y{T^3J)og^-c4TCTpEe2z^Xz`5Jv2 z6n0uPw^rct#zRA^%HdmG-s$?S@fAQZF?H3I0lF91K5b@HhATkYu-b-cyh}!wkeVn! z@gCYYZBo5$tf&BZeZLzo^f>nN6tMO->Mk-Ug|>kjSCuBO={8MvOJ>6BPBMgei~RUIyFeceR`|T*yp$7 zaPSPwldHi%3%pFq(LOUQliw20bMO&4-VXwNM%4Rmaj-^CB)h<#6uPR&SYE{EheCEq zpwPzBL&`%N0N;>nBLcwp_|wq^_?jHvcZoOO)YE+(e=^d6&!;TJ|G-&*U&-=;_bl)` zNsoWd!v={y`Zz!kpH59ffc%(>14OWQY7d0*fvJW56c7DX)OWhCROmjeiqw^j!m4Ub6R zVJvLJL$*Az+)h$OU_p{fhMlQ(Z*!kl#BI8yRMBmI$K#d?^XqggSDo@%o_p)^+C&*x zsK#s9YQQLIcte&CoFacX_b(yqI-IJz&Xrr0G_UY_&*J~P-upTqyWF#QiOWqkdmZF^ z{N@std)T?pabPm7ldpU&4N=ie2pK_P=W5AOy`jk^*1QbMgq{Acn;)ZVczgTW1s@A6)TMf;WR%?KR`<8M>NC`mAJsdh&B%9kQ{cX$Ush8Xw3EN=bg_{=Kz9r8GVv4_R8~j4X10BRyKS6tfSx{X5e#><@FduBpZqM$>Y40bd z5}!IgQ>PO2WPQ{D33{n{uMB%=XUGo|(}2(iC?lnX3jS+wUu8521DP7X-PTiQHuIHz z;Q~qEYlld#dg7!Ej9I8fyVUUfN@G-Q(~*IklbnS55ySf5JgA!8upZFUocX-P4*UV; zySasmBzk%AxoXK!YXg+&`)&G1BzN3JUQrrcl~f*yf`AqR57D(l6Dcn8;7@!yf(jnr z@tSNc^DHkS$-O40vesDHn%T&n9WGmiuzu_%hFchZvY@w>%y2cz?e3k&P1mq?6>GVT zEE3CyV>2p?zsTYPb9j*9!8{%;L|2!9k$mYJi_EKa$D`RcrnVH3!`)l3@M~Fk!-a9y zy`6RMn8O1M59IMcA-c*2N9@hC+$&6vF+Dzqdl>G?i;ql&KY@4YGZD=R<8-u5uYt2P z)A^1B7wMl}pujiu@9uvjn4^F7hQJq7LPcavCW-W|^r=d35m{4+j`rOExJI`;rvUs) zUf47VKhqyJos;1@J+$>Az%9Cd+XXk=p}!4Xmf?3gy>k?5T6iPh*2&?mVbVUb8CKB! nBToZ_$;Z3eK_i!UO?C~*&{ahDo{x>(Do5^A$6q5yN5A|R!9aU# diff --git a/main.py b/main.py index d95eb51..ba05d36 100644 --- a/main.py +++ b/main.py @@ -17,23 +17,26 @@ def main(): # stops player movement if player presses summoning button (k) if event.type == pygame.KEYUP: if event.key == pygame.K_l and player.grounded and player.creature: - + player.summoning =True + player.controlling_player = False player.creature.update_timer(99999999) if event.key == pygame.K_k and player.grounded: if not player.creature: + player.controlling_player = True + player.summoning = True summon_tile = player.check_tile_nearby(BASE_WORLD, movable_tiles) if summon_tile is not None: player.summon(summon_tile) else: player.creature.vel.x = 0 - + player.controlling_player = not player.controlling_player player.vel.x = 0 - player.controlling_player = not player.controlling_player + if event.key == pygame.K_SPACE: if not player.controlling_player and player.creature: if len(player.creature.stack) == 0: - player.creature.pickup(tiles, movable_tiles, BASE_WORLD) + player.creature.pickup(tiles, movable_tiles, BASE_WORLD,player.creature) else: for box in player.creature.stack: box.picked_up = False From f46b830dac2e364d26c7b81138df091c51d2b316 Mon Sep 17 00:00:00 2001 From: Ilyas Hirsi Date: Sun, 6 Oct 2024 11:45:13 -0400 Subject: [PATCH 3/3] added particles when summoning --- Player.py | 23 ++++++++++++------ __pycache__/Player.cpython-311.pyc | Bin 22328 -> 22954 bytes __pycache__/settings.cpython-311.pyc | Bin 5935 -> 6499 bytes main.py | 1 + settings.py | 2 ++ summon-particles/Summon_Particles-1.png | Bin 0 -> 853 bytes summon-particles/Summon_Particles-2.png | Bin 0 -> 901 bytes summon-particles/Summon_Particles-3.png | Bin 0 -> 962 bytes summon-particles/Summon_Particles-4.png | Bin 0 -> 1086 bytes summon-particles/Summon_Particles-5.png | Bin 0 -> 1102 bytes summon-particles/Summon_Particles-6.png | Bin 0 -> 1129 bytes summon-particles/Summon_Particles-7.png | Bin 0 -> 879 bytes .../__MACOSX/._Summon_Particles-1.png | Bin 0 -> 329 bytes .../__MACOSX/._Summon_Particles-2.png | Bin 0 -> 329 bytes .../__MACOSX/._Summon_Particles-3.png | Bin 0 -> 329 bytes .../__MACOSX/._Summon_Particles-4.png | Bin 0 -> 329 bytes .../__MACOSX/._Summon_Particles-5.png | Bin 0 -> 329 bytes .../__MACOSX/._Summon_Particles-6.png | Bin 0 -> 329 bytes .../__MACOSX/._Summon_Particles-7.png | Bin 0 -> 329 bytes 19 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 summon-particles/Summon_Particles-1.png create mode 100644 summon-particles/Summon_Particles-2.png create mode 100644 summon-particles/Summon_Particles-3.png create mode 100644 summon-particles/Summon_Particles-4.png create mode 100644 summon-particles/Summon_Particles-5.png create mode 100644 summon-particles/Summon_Particles-6.png create mode 100644 summon-particles/Summon_Particles-7.png create mode 100644 summon-particles/__MACOSX/._Summon_Particles-1.png create mode 100644 summon-particles/__MACOSX/._Summon_Particles-2.png create mode 100644 summon-particles/__MACOSX/._Summon_Particles-3.png create mode 100644 summon-particles/__MACOSX/._Summon_Particles-4.png create mode 100644 summon-particles/__MACOSX/._Summon_Particles-5.png create mode 100644 summon-particles/__MACOSX/._Summon_Particles-6.png create mode 100644 summon-particles/__MACOSX/._Summon_Particles-7.png diff --git a/Player.py b/Player.py index 96cb22e..935fe5e 100644 --- a/Player.py +++ b/Player.py @@ -33,6 +33,11 @@ def draw(self, offset): image(self.display, self.images[self.anim_frame], (round(self.rect.x - self.offset.x), round(self.rect.y - self.offset.y))) + self.images = summon_part[1] + if self.anim_frame - 2 >=0 and not self.creature == None: + image(self.display, self.images[self.anim_frame - 2], + (round(self.creature.rect.x - self.creature.offset.x), + round(self.creature.rect.y - self.creature.offset.y + SCALE))) if self.current_frame %4 == 0: self.anim_frame+=1 elif self.vel.x == 0 and self.grounded : self.images = idle_anim[0] @@ -47,7 +52,6 @@ def draw(self, offset): else: if self.summoning: - self.images = summon_anim[1] if self.anim_frame>=len(self.images): self.anim_frame = 0 @@ -56,6 +60,11 @@ def draw(self, offset): image(self.display, self.images[self.anim_frame], (round(self.rect.x - self.offset.x), round(self.rect.y - self.offset.y))) + self.images = summon_part[1] + if self.anim_frame - 2 >=0 and not self.creature == None: + image(self.display, self.images[self.anim_frame - 2], + (round(self.creature.rect.x - self.creature.offset.x), + round(self.creature.rect.y - self.creature.offset.y + SCALE))) if self.current_frame %4 == 0: self.anim_frame+=1 elif self.vel.x == 0 and self.grounded: @@ -73,10 +82,10 @@ def draw(self, offset): print("Bbbbbbbbbbbbbbbbbbbbbbbbbb") pygame.draw.rect(self.display, self.color, (round(self.rect.x - offset.x), round(self.rect.y - offset.y), SCALE, SCALE)) - if self.creature: - pygame.draw.rect(self.display, self.creature.color, - (round(self.creature.rect.x - offset.x), round(self.creature.rect.y - offset.y), - self.creature.rect.width, self.creature.rect.height)) + # if self.creature: + # pygame.draw.rect(self.display, self.creature.color, + # (round(self.creature.rect.x - offset.x), round(self.creature.rect.y - offset.y), + # self.creature.rect.width, self.creature.rect.height)) self.current_frame+=1 @@ -221,12 +230,12 @@ def __init__(self, display, grid_pos, color): super().__init__(display, grid_pos, color, images=None) self.disappear_timer = 0 - self.destroy_creature_timer = 5000 + self.destroy_creature_timer = 15000 self.destroy_creature = False def update_timer(self, time_passed=0): self.destroy_creature_timer -= time_passed - + if self.destroy_creature_timer < 0: self.destroy_creature = True diff --git a/__pycache__/Player.cpython-311.pyc b/__pycache__/Player.cpython-311.pyc index ef7d7546146cfaf8af29633828576f09444c9c4b..63114b60852fdd667593d533bc46e400af2d9722 100644 GIT binary patch delta 2236 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 H!Il94jp%z@ delta 152 zcmaECv|f*IIWI340}vciVM=e|n#d=?IAfyvH%{3Ut`^29ffTvTYK$`(Ss8;FH03u- zFl!1-mK5Ng>?3T?SUkB$csW}PP-~IQWI;jQ$!Q{d0-B6PoInvEB?+QrCJT#QQC!JT pBmq(;1|)uQ*yQG?l;)(`6%_)xj6ht>v{_V~k%_Z`yMY_55CE06Ao~CS diff --git a/main.py b/main.py index ba05d36..80e3747 100644 --- a/main.py +++ b/main.py @@ -27,6 +27,7 @@ def main(): summon_tile = player.check_tile_nearby(BASE_WORLD, movable_tiles) if summon_tile is not None: player.summon(summon_tile) + #add summon particle animation beside the summon animatoin else: player.creature.vel.x = 0 player.controlling_player = not player.controlling_player diff --git a/settings.py b/settings.py index 64155a0..65117f2 100644 --- a/settings.py +++ b/settings.py @@ -71,3 +71,5 @@ def fade(surface, mode, draw_func, *draw_par): [loadify(f"monkey-jump/monkey-jump-{i+1}.png",DEFAULT_IMG_SIZE, (True, False)) for i in range(7)]] summon_anim = [[loadify(f"monkey-summoning/Summon-{i+2}.png",DEFAULT_IMG_SIZE) for i in range(9)], [loadify(f"monkey-summoning/Summon-{i+2}.png",DEFAULT_IMG_SIZE, (True, False)) for i in range(9)]] +summon_part = [[loadify(f"monkey-summoning/Summon-{i+2}.png",DEFAULT_IMG_SIZE) for i in range(9)], + [loadify(f"summon-particles/Summon_Particles-{i+1}.png",DEFAULT_IMG_SIZE, (True, False)) for i in range(7)]] diff --git a/summon-particles/Summon_Particles-1.png b/summon-particles/Summon_Particles-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac42ee93d6cc02847db1b3b033d6aa72c0553f0 GIT binary patch literal 853 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL1|)l2v+e>Z#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y4FWAd4AKLknHMlZRRhHq zFu_%uEnr5lLE3iTc1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj8 z0#)c1SLT%@R_NvxD?a#8ycOWDy)d+?kRLx2K@A zC#?!?yB!l(srGuP@90XV|^qNL=r1M`(u%Gw#xRi)Z^|utp zZwt=6-7FxeAkG4z2ARd&a?H|`TTZ%y^zlA_tNYCzTF_JRpP5B iecJQc&RGYVSne4=bvpKUdBOouI`ee(b6Mw<&;$U#H|=Qv literal 0 HcmV?d00001 diff --git a/summon-particles/Summon_Particles-2.png b/summon-particles/Summon_Particles-2.png new file mode 100644 index 0000000000000000000000000000000000000000..680c335d103252aa3d389241380d83e4bb7b282e GIT binary patch literal 901 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL1|)l2v+e>Z#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y4FWAd4AKLknHMlZRRhHq zFu_%uEnr5lLE3iTc1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj8 z0#)c1SLT%@R_NvxD?a#8ycOWDy)d+?kRLx2K@A zCdrQ+Rq&brZA-NI&UrS;&x&MjU!8Ee`1-p~ zzoO0@-(4K*`~P|TL}o>q>7C9Km7V67%9yyvv`NWbn|yoA?LBX}U*%qEWcsiAf#m{! Vc8JBomRwM}^mO%eS?83{1OQJv0hj;) literal 0 HcmV?d00001 diff --git a/summon-particles/Summon_Particles-3.png b/summon-particles/Summon_Particles-3.png new file mode 100644 index 0000000000000000000000000000000000000000..5c5fe84a84715bd48468f2a0225c17f6d7b3adf7 GIT binary patch literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL1|)l2v+e>Z#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y4FWAd4AKLknHMlZRRhHq zFu_%uEnr5lLE3iTc1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj8 z0#)c1SLT%@R_NvxD?a#8ycOWDy)d+?kRLx2K@A zCNH_bz|EcG=y%5=ze>Mv1NA+?MqI^7VqMm{|@+7W<}N@48;~E~+O@g6VON=|bC$ z{T~gCVzyi}WpJLq=WF!)y*qDgvfT1n-|$B6uIYBEhkh!2`}R3Z#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y4FWAd4AKLknHMlZRRhHq zFu_%uEnr5lLE3iTc1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj8 z0#)c1SLT%@R_NvxD?a#8ycOWDy)d+?kRLx2K@A zCgnPblEL~msL_|%ktaKFdxK=c5~C%27R=aO(eOZCDz_j8ICIf!&H1uAg4G-?R265yCGJ#hT{&Xo&|&eVr6)GJlKp1U#f zx47w^=X2TJ{=9w3P|oS3{MX%JHQVlQ3lHR9P1v>a`QzwthX;jP3Gerw%H6wGil_C5 zb=E~O%Oed(1K%utAKcui;@5p8Xiw|c8z-*WE`RRN+m^IhWty3(QcKd8d(v6I<{nM_ z{(ilI{kHF-8zg3F^hxwC6x$~@O-1y4MC$3@i7jFZj7Ms!-(}0a^YiBE+z?N$f2ysFMy|9l<$ zg>u=T$9tOZJlvx6Ys-npY*Q4HkLZ#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y4FWAd4AKLknHMlZRRhHq zFu_%uEnr5lLE3iTc1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj8 z0#)c1SLT%@R_NvxD?a#8ycOWDy)d+?kRLx2K@A zCUUFx93eah&+D7WaHEgHUTF=+5QqKaScd=TypWU+h1Y3{F z6`{2aLJxZ~x9;1m9>)CHa#FjX>Zg78{<+nrB(UlK?VEbQou9*0bWP$x(ciY*`Q2Hw*C(<4dHn0|Cw|M%F)q`Vxl~rqn>T}f>*bCU zx3XKGZ_FuvCqFa2uVRKm_P1kO3>c!B1UQ>yJKL p{ld{vq4?OWAlu@uq6hMpAD9)+y;OGbcq|OcV4kjiF6*2UngFDYXwU!v literal 0 HcmV?d00001 diff --git a/summon-particles/Summon_Particles-6.png b/summon-particles/Summon_Particles-6.png new file mode 100644 index 0000000000000000000000000000000000000000..c5087a2099315b377cad00f0c1c70094bb323c5b GIT binary patch literal 1129 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL1|)l2v+e>Z#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y4FWAd4AKLknHMlZRRhHq zFu_%uEnr5lLE3iTc1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj8 z0#)c1SLT%@R_NvxD?a#8ycOWDy)d+?kRLx2K@A zC-;xv;n{N| z#QtA7qW8K(=+4v|^~LiR+m@?}g_gJ7H|3g@IXUBu^WQ(-l_Ay3qApIh2niIo@yThq zBA6?!_Kd|VH+{?NcSpRg-dvS;cABcS%bIB}t729gA31R1(T4v5hGj>jPNq!#I-|OC zy3(`BQg^R=Jg|vAsCi_9#4)kJ8}-xQFV}uHS(WvI<`IkAVUy;~`6=ajyZ_wf&aFbf zcGQH*_e#AKQ+xC9e-~RESD)5bjeq-Uq|PMkCECVDm>Gr670+Y`2zA=wz1pQ7e{>GlFpgmA;J8G z?Msq@+xc0Y-|lR;PE2CEV4QxkuqV#(@{u3AAFvd}ZT`6TmQ-$E;O6b;X0H$8W#DJd znYL$rmul+sZRR#%_YBS)Gyd~1+c>A~Tf2`B?z88MRFo$RU^lQ;4^KN=YSWRY9 b4|>4Q#(RRJsm2aes4#fC`njxgN@xNA_g#1z literal 0 HcmV?d00001 diff --git a/summon-particles/Summon_Particles-7.png b/summon-particles/Summon_Particles-7.png new file mode 100644 index 0000000000000000000000000000000000000000..40d255c87d6be59ca2cb7ec04d08ef74c4b4a93e GIT binary patch literal 879 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL1|)l2v+e>Z#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y4FWAd4AKLknHMlZRRhHq zFu_%uEnr5lLE3iTc1^l#~=$>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj8 z0#)c1SLT%@R_NvxD?a#8ycOWDy)d+?kRLx2K@A zCUzO+Oc0*}Qq-l66xKE;>+=?|oqL(x~by@7lLMn!YeAard*$ z;&Nq4u~s@xAR|_AoOtitwlDYWOVev#C!PPBQ5be`|Ln;hjP`KF7bV3V{WLGIaeL;U zTW;4MUYvA$+oOUFn|XBSzO1r{SSAprdz)?ZA+zU;?B&ifS&0=S$$IEGLfxg_$j)}k V{&uf^kvS*@db;|#taD0e0stt~{oMcn literal 0 HcmV?d00001 diff --git a/summon-particles/__MACOSX/._Summon_Particles-1.png b/summon-particles/__MACOSX/._Summon_Particles-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6d336f1729c7de9b4281e704dbcc4c17dc25540e GIT binary patch literal 329 zcma)!!AiqG5QhJ)h)NHhRJ`rQW9lZxbYq~fX|! z9|KqErX1+HUYkK_tj@I6cdzqgW=;8&o5oC=P1%x_^{I`3vtR%AO*gu-MP=|@uZz|S z@xgiv#aB5LzeEd;0uRv0j{Bz+Co#4o4)**3-(CwL-6$9eH;}1}+FUn9^^!$WBsabc b$BvpLf#b(YIC1E?&P2riFjT=*-Fo-}G=McE literal 0 HcmV?d00001 diff --git a/summon-particles/__MACOSX/._Summon_Particles-2.png b/summon-particles/__MACOSX/._Summon_Particles-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6d336f1729c7de9b4281e704dbcc4c17dc25540e GIT binary patch literal 329 zcma)!!AiqG5QhJ)h)NHhRJ`rQW9lZxbYq~fX|! z9|KqErX1+HUYkK_tj@I6cdzqgW=;8&o5oC=P1%x_^{I`3vtR%AO*gu-MP=|@uZz|S z@xgiv#aB5LzeEd;0uRv0j{Bz+Co#4o4)**3-(CwL-6$9eH;}1}+FUn9^^!$WBsabc b$BvpLf#b(YIC1E?&P2riFjT=*-Fo-}G=McE literal 0 HcmV?d00001 diff --git a/summon-particles/__MACOSX/._Summon_Particles-3.png b/summon-particles/__MACOSX/._Summon_Particles-3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d336f1729c7de9b4281e704dbcc4c17dc25540e GIT binary patch literal 329 zcma)!!AiqG5QhJ)h)NHhRJ`rQW9lZxbYq~fX|! z9|KqErX1+HUYkK_tj@I6cdzqgW=;8&o5oC=P1%x_^{I`3vtR%AO*gu-MP=|@uZz|S z@xgiv#aB5LzeEd;0uRv0j{Bz+Co#4o4)**3-(CwL-6$9eH;}1}+FUn9^^!$WBsabc b$BvpLf#b(YIC1E?&P2riFjT=*-Fo-}G=McE literal 0 HcmV?d00001 diff --git a/summon-particles/__MACOSX/._Summon_Particles-4.png b/summon-particles/__MACOSX/._Summon_Particles-4.png new file mode 100644 index 0000000000000000000000000000000000000000..6d336f1729c7de9b4281e704dbcc4c17dc25540e GIT binary patch literal 329 zcma)!!AiqG5QhJ)h)NHhRJ`rQW9lZxbYq~fX|! z9|KqErX1+HUYkK_tj@I6cdzqgW=;8&o5oC=P1%x_^{I`3vtR%AO*gu-MP=|@uZz|S z@xgiv#aB5LzeEd;0uRv0j{Bz+Co#4o4)**3-(CwL-6$9eH;}1}+FUn9^^!$WBsabc b$BvpLf#b(YIC1E?&P2riFjT=*-Fo-}G=McE literal 0 HcmV?d00001 diff --git a/summon-particles/__MACOSX/._Summon_Particles-5.png b/summon-particles/__MACOSX/._Summon_Particles-5.png new file mode 100644 index 0000000000000000000000000000000000000000..6d336f1729c7de9b4281e704dbcc4c17dc25540e GIT binary patch literal 329 zcma)!!AiqG5QhJ)h)NHhRJ`rQW9lZxbYq~fX|! z9|KqErX1+HUYkK_tj@I6cdzqgW=;8&o5oC=P1%x_^{I`3vtR%AO*gu-MP=|@uZz|S z@xgiv#aB5LzeEd;0uRv0j{Bz+Co#4o4)**3-(CwL-6$9eH;}1}+FUn9^^!$WBsabc b$BvpLf#b(YIC1E?&P2riFjT=*-Fo-}G=McE literal 0 HcmV?d00001 diff --git a/summon-particles/__MACOSX/._Summon_Particles-6.png b/summon-particles/__MACOSX/._Summon_Particles-6.png new file mode 100644 index 0000000000000000000000000000000000000000..6d336f1729c7de9b4281e704dbcc4c17dc25540e GIT binary patch literal 329 zcma)!!AiqG5QhJ)h)NHhRJ`rQW9lZxbYq~fX|! z9|KqErX1+HUYkK_tj@I6cdzqgW=;8&o5oC=P1%x_^{I`3vtR%AO*gu-MP=|@uZz|S z@xgiv#aB5LzeEd;0uRv0j{Bz+Co#4o4)**3-(CwL-6$9eH;}1}+FUn9^^!$WBsabc b$BvpLf#b(YIC1E?&P2riFjT=*-Fo-}G=McE literal 0 HcmV?d00001 diff --git a/summon-particles/__MACOSX/._Summon_Particles-7.png b/summon-particles/__MACOSX/._Summon_Particles-7.png new file mode 100644 index 0000000000000000000000000000000000000000..6d336f1729c7de9b4281e704dbcc4c17dc25540e GIT binary patch literal 329 zcma)!!AiqG5QhJ)h)NHhRJ`rQW9lZxbYq~fX|! z9|KqErX1+HUYkK_tj@I6cdzqgW=;8&o5oC=P1%x_^{I`3vtR%AO*gu-MP=|@uZz|S z@xgiv#aB5LzeEd;0uRv0j{Bz+Co#4o4)**3-(CwL-6$9eH;}1}+FUn9^^!$WBsabc b$BvpLf#b(YIC1E?&P2riFjT=*-Fo-}G=McE literal 0 HcmV?d00001