From 76332700550ce794594eb5614691e6e18c612ace Mon Sep 17 00:00:00 2001 From: Casey Date: Sun, 28 Aug 2022 17:43:07 -0400 Subject: [PATCH 1/3] Adds megamoth wings, ability for wings to exist on different layer, ability for large wings to exist --- code/modules/mob/living/carbon/human/emote.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 50 ++++++++++++++++-- .../sprite_accessories_wing_large_vr.dm | 14 +++++ .../new_player/sprite_accessories_wing_vr.dm | 2 + .../mob/human_races/subspecies/r_vatgrown.dmi | Bin 2294 -> 2647 bytes icons/mob/vore/wings96_vr.dmi | Bin 0 -> 18929 bytes vorestation.dme | 4 ++ 7 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm create mode 100644 icons/mob/vore/wings96_vr.dmi diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index ec3eba894d..d1691c200c 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -386,6 +386,6 @@ var/list/_simple_mob_default_emotes = list( var/new_flapping = isnull(setting) ? !flapping : setting if(new_flapping != flapping) - flapping = setting + flapping = new_flapping update_wing_showing() return 1 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index aede472f22..eda9e89c7f 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -67,6 +67,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() #define SURGERY_LAYER 5 //Overlays for open surgical sites #define UNDERWEAR_LAYER 6 //Underwear/bras/etc #define TAIL_LOWER_LAYER 7 //Tail as viewed from the south +<<<<<<< HEAD #define SHOES_LAYER_ALT 8 //Shoe-slot item (when set to be under uniform via verb) #define UNIFORM_LAYER 9 //Uniform-slot item #define ID_LAYER 10 //ID-slot item @@ -98,6 +99,38 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() #define MOB_WATER_LAYER 36 //'Mob submerged' overlay layer #define TARGETED_LAYER 37 //'Aimed at' overlay layer #define TOTAL_LAYERS 37 //CHOMPStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. +======= +#define WING_LOWER_LAYER 8 //Wings as viewed from the south +#define SHOES_LAYER_ALT 9 //Shoe-slot item (when set to be under uniform via verb) +#define UNIFORM_LAYER 10 //Uniform-slot item +#define ID_LAYER 11 //ID-slot item +#define SHOES_LAYER 12 //Shoe-slot item +#define GLOVES_LAYER 13 //Glove-slot item +#define BELT_LAYER 14 //Belt-slot item +#define SUIT_LAYER 15 //Suit-slot item +#define TAIL_UPPER_LAYER 16 //Some species have tails to render (As viewed from the N, E, or W) +#define GLASSES_LAYER 17 //Eye-slot item +#define BELT_LAYER_ALT 18 //Belt-slot item (when set to be above suit via verb) +#define SUIT_STORE_LAYER 19 //Suit storage-slot item +#define BACK_LAYER 20 //Back-slot item +#define HAIR_LAYER 21 //The human's hair +#define HAIR_ACCESSORY_LAYER 22 //VOREStation edit. Simply move this up a number if things are added. +#define EARS_LAYER 23 //Both ear-slot items (combined image) +#define EYES_LAYER 24 //Mob's eyes (used for glowing eyes) +#define FACEMASK_LAYER 25 //Mask-slot item +#define HEAD_LAYER 26 //Head-slot item +#define HANDCUFF_LAYER 27 //Handcuffs, if the human is handcuffed, in a secret inv slot +#define LEGCUFF_LAYER 28 //Same as handcuffs, for legcuffs +#define L_HAND_LAYER 29 //Left-hand item +#define R_HAND_LAYER 30 //Right-hand item +#define WING_LAYER 31 //Wings or protrusions over the suit. +#define TAIL_UPPER_LAYER_ALT 32 //Modified tail-sprite layer. Tend to be larger. +#define MODIFIER_EFFECTS_LAYER 33 //Effects drawn by modifiers +#define FIRE_LAYER 34 //'Mob on fire' overlay layer +#define MOB_WATER_LAYER 35 //'Mob submerged' overlay layer +#define TARGETED_LAYER 36 //'Aimed at' overlay layer +#define TOTAL_LAYERS 36 //VOREStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. +>>>>>>> 124841bd3a... Merge pull request #13598 from Heroman3003/megawings ////////////////////////////////// /mob/living/carbon/human @@ -1109,13 +1142,20 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() return remove_layer(WING_LAYER) + remove_layer(WING_LOWER_LAYER) - var/image/wing_image = get_wing_image() + var/image/wing_image = get_wing_image(FALSE) if(wing_image) wing_image.layer = BODY_LAYER+WING_LAYER overlays_standing[WING_LAYER] = wing_image + if(wing_style && wing_style.multi_dir) + wing_image = get_wing_image(TRUE) + if(wing_image) + wing_image.layer = BODY_LAYER+WING_LOWER_LAYER + overlays_standing[WING_LOWER_LAYER] = wing_image apply_layer(WING_LAYER) + apply_layer(WING_LOWER_LAYER) /mob/living/carbon/human/update_modifier_visuals() if(QDESTROYING(src)) @@ -1182,7 +1222,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() overlays_standing[SURGERY_LAYER] = total apply_layer(SURGERY_LAYER) -/mob/living/carbon/human/proc/get_wing_image() +/mob/living/carbon/human/proc/get_wing_image(var/under_layer) if(QDESTROYING(src)) return @@ -1196,7 +1236,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //If you have custom wings selected if(wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL) && !wings_hidden) //VOREStation Edit - var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state) + var/wing_state = (flapping && wing_style.ani_state) ? wing_style.ani_state : wing_style.icon_state + if(wing_style.multi_dir) + wing_state += "_[under_layer ? "back" : "front"]" + var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = wing_state) if(wing_style.do_colouration) wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode) if(wing_style.extra_overlay) @@ -1218,6 +1261,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() var/image/working = image(wing_s) if(wing_style.em_block) working.overlays += em_block_image_generic(working) // Leaving this as overlays += + working.pixel_x -= wing_style.wing_offset return working /mob/living/carbon/human/proc/get_ears_overlay() diff --git a/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm new file mode 100644 index 0000000000..0bfca21140 --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories_wing_large_vr.dm @@ -0,0 +1,14 @@ +// beeg wing + + +/datum/sprite_accessory/wing/large + name = "You should not see this..." + icon = 'icons/mob/vore/wings96_vr.dmi' + wing_offset = 32 + + +/datum/sprite_accessory/wing/large/megamoth + name = "megamoth wings" + icon_state = "megamoth" + ani_state = "megamoth_open" + multi_dir = TRUE \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm index e96a72bf7f..d7604e6d89 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm @@ -11,6 +11,8 @@ do_colouration = 0 //Set to 1 to enable coloration using the tail color. species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW) //This lets all races use color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 + var/wing_offset = 0 + var/multi_dir = FALSE // Does it use different sprites at different layers? _front will be added for sprites on low layer, _back to high layer /datum/sprite_accessory/wing/shock //Unable to split the tail from the wings in the sprite, so let's just classify it as wings. name = "pharoah hound tail (Shock Diamond)" diff --git a/icons/mob/human_races/subspecies/r_vatgrown.dmi b/icons/mob/human_races/subspecies/r_vatgrown.dmi index c1562d2b67db6248094d617b433f19bf9f54d9c8..25680167e362969f7191e4db375e47f87e0037b3 100644 GIT binary patch delta 2602 zcmYjR2{@E%8y;K6LpDr@Acg8ecji4KkxE942eO6@&kKYb1~Qf7z6?l zv$ViELLhvKya|B{@EE1F%dx!RpRQ~PERX-igRAwm%b)5d+DZl!{xi~E>7W9+d-tx3 zi^~}#q^YUt18quwmb!2e;qQB{3y$|x zC`8@vnmV-{J|{PG3NbIEsnzQ0iiNdXybT_83zIsOMZ0BIf&++587pkHF3U^xAgQz*suyb&QOxndV_xQ-KcKl z#X1nQJE2IWBDJ+Gpbhm*YBef+k9JT@T5Ngm1n)L}4xK`na%p-wB@`!iy(&p}o=kq; zQGpNPpofmSjAe&*uJ~bRpVXL^J+&fXIryPc=fI;d;N&D+I}fvQaL-G!hJLBDk)tH|JKpCSx?z0|5lH(GKlHK4#vPtb88|47>RbD5#;RezMMqVdlwYzF=-Gxi((x_+dM@N_(;>tn!FPStM^F0FhaiMR5 zCM{L?`TxlR_y<5Bq+?#zt39iyYaLLtuuK-={DwSVK(nf(#XVQwskRlR1TzHN0P1W=E7%da_DO%$c3_4SiT}U>-0)W9@dORUC2FFX@?& z|4vOU)oJo6jua|@i#Hgwbg9C+4;*)2FsPe2?td6xHci`qg!L_Z2Cws=h8-Zaa*m!m zF)zc)-H}DHty~G3$r106GHTS*SAGG9>dXH~L(XV&!yc9fDAHS*j0D+Th2mat-Oi88 zAL8Rz0L(wSDLbjInZIn3XHvokk15AL*Dsy&Kv}(sY;E8mQ&JxX!8LCNM+HGCsUmC* z`i$rBaj!*OkM~59ZleJEvuMF2l%-^CV&i<@2EIA*c$8J9xy}A=wk9_|JUa}guJG+{ z^xmCk-WWC*^2_NwJLnE+88`y zWFSjEcyvQw5!!#ebxXtOuQgWX7A0znN@;}MEXYq4o)YSDZ2v~UjjUYi|Cma;lNLdr zq_Kpn-#1k--bu6UDvT&E#M7OC=WA6u9*$S)H(?z&U-y_yD!KpW!K5LKbX1N&OCk`Y zNvGT)Ztf_(oGb5hxM-}Uc!xmdc=;QYzhez(K51vrfY&T|y~Q{K(kq%hly_UZHij(Hq6*UU{_ z>cIHce96AI_Lvtn4nM1x0QB`{LU zAj!`I7zX-x35|`qv_H0)aA~&QemYvXao>f)x7^}j&}K<2u|{a6lUrQN(MvFm>|&z& zSQLYGeS1$LCm}K0lcoA~)^y!FZ)O3whPZCioh&pmykj`pRTqH8#gX2Gs&;5D4omdV zRfXcW_sTMBxRBR=$_02qX@nvW-mnOo0jfk%caGgB^7ku>k{r9~db1CIQYS@KRon{P z8DQaXYH{m!8<=@t_>yt+Ag#rEo?_Ika?e~N)?|aM-?0QwTzd_w>a>oXvsWO-%L^_U z;d>LP&#cReTop48!M_8?idL$0B|7-GoHk1i$%q#wVLHqfiRIj*;T8q6(WWLq6VAU` zDc%Ph24j|{D3mN)oRS4%w!WkuF_WK!VT7WzjD3(5+|rMmOO9}rE2^CyWR>y7&&C`u zgU%Nw({@^W@?#yf0zJowkNI>D#!pp*H(2F=c#k2ELD$)53f!6BBe)$Ofw*b-38eid z{ZE9?ZzTIu?e`g(BZPj;CVyrc(w%e5E=Rp`6; z0bW1%>mLJrnOyXZfCOH#gr`39DP(X@xADHs%LdT)4e00H&k4hgfxeOdi?^?@P_$!s zJm3Y|MS?cBK?l{dG#X2QfjWRx%bB`WD8$yg#{C6eu@NEeDCX7zpr>hq97LyxGwpBq zB*RiCNCHew1LWbLtXnI9o}%qB?i4z)dBCq*P>%^+FoMdMG* zqL6I%*8KVdOB5MKJoiSz)W#_i>jVL+q7w~pqLG|n5A=q&I6wSJFlQ=I9Z4)9tnfrs zb{&vXrXlo0zd;}tZwkE-T2$uAAVe?QzJry#O+QiiZ2OoLnN`~Tow_DVt)8FSidF!h Wf!UOc7SR4t)0Ss#vE`;$qyGzrAqHOn delta 2247 zcmZWrc{J3E7yr&MjrGU8tUb%fTEtjlM8-0RWJ^(zEuyh+8R0vmgbYQg$WGanB3Z^7 z9!k7Sy|E0V>{}Rv8T0fzzjJ=){eJ)4dq4M_yL`?)_nu1@q9f#!Y^}}td5-V^0Kji? z25S!hkOLC}aB&RGZg%`?vhLTJ zteLRP4wE1Qe+w&x_TNN``T6e%Y1=xd6wmeY)qY6KTey_`MyJS2%TwK4%xqj;@_Lh$ zgr_d?=(vo6nWo6uGYIjl09CLI?%Ak<5zfk57`(FQ7=3L$!;J^U4lOCCEbP6ICJuDT zZGPO%2LL$U0&4_1MCL3%pNhyv3*He=$4+ZUWcxSxKOF7bBVChsAIo|BgNO?1)!wGm zVV)s0i*VwcB1NS#34+F4GBYi*%5R#9ui0OU>c5<$gs48pEyh^UF*2B?=5Uw!RSlV) z`bxvutl#pfpk?gc&>Ak(lrmKd@>smI#5wZ`8Lh@6$OiR|2q89lB-@8DcE-=nkI#>` z39-MArlb<$*}gmOlS27QhI5K&?ilswLy3zIU$gq{tKZ5gZh;{iea;NmO7_27`G=S| znen)HEK^iPTv;v|myx{BDq+)04KPAyE=eQUE79SEE5|B?VTRTbZ}(fkrZu&yu~Dgi zap2DZI$n>y!u_9$NtkWPwz)7ww}T51)PAUzhHq;6@VhHFQf=Lzj(Ok`$}#W*{{JY- zB?HP&QxbN6CykkUQYOkGW{20KGwJ@cobTP6BGI3~73DPG90q=X?O*1j&`eJ$^wvk^jzdG#~b9@$O=foBMi`K}^ z#k*Msn?8kd!!@TKJZu#}$D*dQr3G&wr<=E<2JIevs={Gv6xx}L$Ar{`tL%i0@$``u z)1Q_bdp=Bf<@K8ohnFexv4J}s23ZxG4qMlB&5WF~hs%(Y!xIbS|~ zuLct#Zt3|cDa~4Da0gW3n8+FM#A1@Lt86pTg{iX8IR?{#m&@&o2&UWBjxeR1|8xVF zSTETeH)ae!2?bamq0u89V73~8L$tuJr-rC-r|rUk2(sH8I#8+Vst#3&yC_UmrI1x> z1QadLy%(OF@{69ZQjsP~oFNK~B=%7F2-gklA!g947^d_(X0ty7fy6|z z3n(C((Tk%oI&E-k1+;C>sLEW;p{Vq{q#i~&JF!QMwGR2}89AOyQXA#77l^^7vw$BWp#tsJ&ZJgWt+i$%}YkislHSCeds^g!FU8-PSY z0skL?{aX+V!aa5H(2wRiLQG(*0g~4(VhFqK=F_ybo6yBv(V1%zIUnawR+Jk(k?z(~ zyFqf5M%j>H3vj;{1HjdUPrF7M1#W&?VV^nH-M$ZVKBkxG+AJ|Spt71QzVFP=+=cPi z>)gIO>R@p$AaWJ0=(I4^7hCg9)@3Qr1%o{9Fd-6_gaA=Raa|)DP8dT=C|Z{+U|U~x zA9~LPW2goBz&V&ibSJI&SdeF5#S)wYT62~?S%mo0pSusgWbH=lk94HE4;mZPaoVTO zo3J;2ZhjZ+rH8Tz!-6}SP(DZ|V#u*LFTkr~ag=>BTh*JFdYrRui=!48O#*mPInbIT zNAdT-G^h{>suNNzjnw(Rh_y$C+lf!ROo-{xNocIKFYCyDLBzD^99C1R!d2nOvbV+X zO;D)Kbrg}5x3kH z9tvg_B65V=CV@`A-;4kF3~iX0FyE7!P@|c9;|&_uJ$%vPVe#8ilLyY#7z6Mu;l0Jg zz%k7zIUjDqa_S|D#HdJ5-#J|9`1)Bc>Zx~o%<4`XXH*5b&e?<0CxZ~@asd|eNIqBW z<0*KhiedP6H5uZ#DWUgLAEB`{I4=RvMbT}cZ3(lwkqXh0FIfDQEZA|nj;%1djRmt` uNzp&tI^0)AC%q*ZcJCiD6eslG202QSv_$H@4XGcz7J!ARHMZK=E&gv7KqXWF diff --git a/icons/mob/vore/wings96_vr.dmi b/icons/mob/vore/wings96_vr.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f7dc2e61f80a088ac1346b9f84fcfe2ca0f4c486 GIT binary patch literal 18929 zcmbTeWmFwelrDIY-~@LkxVvj`f;+*2ySqCC2oT)e-QC?K!QI^YS?mNfD+XCxHlu3kL#$5TztVl|UdcV&Ly_7%1TPjDybv@Db&qqTwWJ z>}cpUMDiOi3uTc(w)pP`V9jYaVAW+cvi zhOQbYAUcI){qEsVLPBZg)W%<;o;)D3<3+m1U9OvLe_9-l79x)3?#vv~#XwGJE;*5- zV&;^exJ{~VhA(iL)+Xq);J)+k;y0(9UK-}B(GT%&w%^-i)VV}bvp^tXkd&yfid*{W zn!6wRT*v*pEB%^IhuqX>gy+d>s&Leu*#6|?J(G@+spp@$_qZra=;V<1RHQa25LDTN z$y5{;vCrSy2M@*KEO(h{6v0BB{lH8@G(9&;TT3TzBv{cD96xLekxdT7jUSb34?etQhaQP0^f@%oEFI*) zg)g=P`MYn63YXFk|Fgs&F0frYuJFQqaI@usnf{^2mOjOBlc@~)kDu&|vmK=p?QrI^ zZF7T{d=G;dE?345Esu*SEZruBAlgy0#roie=qm4xDT1NN`iP=1DKv^(pN^w7S-FYm zxFttZ_~@a?O1ypp=1HD=K3#8j0%wR5foh`o)L6LeR)1$8#5&ej{w=hKesgmhd!D`_ zHq&){{qGbo$S^8mVu~28ZLMI~f+d;PrC=S=8*|g${&x@{6*X0Z6wE?nQWAg2(%f2y zM`_bE{DREOqns0{H@__Xydjh`i`OFC!Ge4vaF}(XuYKathEq`$Tw9J-F9YQd<-6Ew~w z9Yb-UjHmK`8*g?9QBVoa9t)o0C_(u2IPW?op{UyHZ{fGDIF(7D73R`#Cm^^yC*7R; z>#p%L2-t(Jx~H|lpEat0oMnyb)B^OzQJ+Mv+n+pEKEWRPF8?qqk3Sa9-eh>N8v5D} zjH<4uyYOtnWc7~=INj~B+C)kbYkqliXe|5#E&&I5Y3#0v)%18xLy?80L5P7Qu~CJi zDvR7Nx=0YuhYBfcd| zGx&LM<=p(4$mG?U{al=D^Fy$<;!LIY4X>WeAk` zFCyQ?SuD7`T*9>&Oa*eIq)~ySX!-|OS_;Ey<}*GT%rqUJb_k0W>m&Nyj)n+mH7@14 z%*(4!Uc0rL%ga3O#^*@xgO^O?bCZepP75N>-5(P)aX(SMeS%1R1nT$B;RJA9G!lb{ zcJ%ktzg5eoaT0m`8jKGu){hnX3PMF);jl7TyMwxWpy4u|;S`B&Vlq3T4oC+93_fUaeqZ-`uIk!6GeV zY1;4-R3C5sN)^8S>*wcG*E8dwb__m;A^Gl`t!TzM&Rt*zIe4+DPjpF-Cv%Gwmxd4R z2&)=hi)Y$ZhgWGg!PGT|)F1br-4RQn`bgO|=Fj|&`$-vBZ@VG4KCWDdes?7zApm6M zu@E?l9@d^xZ*%3#^VQQ+(-m|;a|cbt#rL3vGDS5)0|ocwsn%<&%OFWAnh^6ZR>A_d zJBn~^-}(yaJ0yB@bt*b61qsC{vKaZ+nXFO6N1^0@0__oKkd)O3dr#&xycS4TbuoO2 zhfhv6_CLk|hT?0AS|}qy9#7|29@k^)nsTboLz#Deb2yRh(7TU=caCs`&0*1sjWTmtP#t^P>9-J)S?#~wWsUG!C+Iu&} z`T`ku4bvsBB-TFF%Ccb^F7YGnU~n8@D~i&{2GUB-p9m8d!+hdWj=omvFZ4|jm-MgR z%~OlTalS6me!O^RsCasu8klr_lWQ*h^?P`FUFSq*RPr zzF(FYt1TJr2ymk`UU~WR@3KHBbD;plSjg(NWc}NDto^KtB2`9T5k_@}P1F88TmVlL zq^HWtC!btZii11RdoS+3*71H}`Ed!DeS5qVm6Zbv&4a+fLfmz{8m);u(FJ`!&u-s8 zKUfLK1@4N_!socNYsUuBL7MKhx=~Xf{(CT2XJ^a8s+x+BG)3;tUZ#-~xKS~Pm7cGD zpg8LDx#yIMW2ZBS9UU>v90m45692_%7hp`C`qozZ=jiH2srK^Oh{R3`HB}u5{)ZT2 z`2ZNqF*}hzJZq})%rJRDj0#z3hRwpl;?Q!Y_CCsIGqC78a1A6)Ia_U*w&JO?oLHmr zfVuAXG1p5|X~@KK#rqi*O~ESrdev$?x;&?er{sz zo4Vp$Rl2Rt6aVZy*IO;N5}*HR$)K7M&&mqep_Q%aFVZhsn83y^I=^G;9YKay!jmRj zvgyQ~Ms6&Ws?yz~A)hf$T+W-X&A-m}NIK6@cJmZ7+1JQ|gSgFzJ?DhII$L7eQ??e) z9p21Ff2MEhNvK?jv-Q;z=}Nil&|~@fHdb5rc;Bz8*DBZEXF4_0r;uYZ9K35NW^#J> z^AQ4zXtEv5pOo{C%U)cF{J2F-J$yzkYn&+4GbH?nZ+zot0d?icUCRTz1;z_t40TJkq zZ!3mfReBkiw$BViUew@Cw#8QLjg1`IG1-qcv0qNz0}?Sz#UU|VS-l@rCSdOgW#tR9_pYl_1RKTSTfV)Hh-A;wRdXTAOfo z-RPOl*_mD?>_koEem!3)p+VXn-F=v;dO$-DI`?gf6rWWW>f_kvo(e0 zhz!}Ut+`(2pYNYMVw+F|s?Sg%-5D-@LHbC}$rVa}W%iD!2gthG_H1TX3+{kGw(Hb0 z$O7tR1~+5aLtN0(w<)}3gAdDZAbPDY76X0<6dR z{wIULmC$2{nYETA*G%_t*af{nT4Z9Jh?_&Ci|%5A@l|$L{Uwe?R8G0B)RJes$H=nS zz33{)?lYGl2{LON!;v#pP+GmU*87z$@Odsw(QlWZV{5o7h5UeQ`*^4L#9R+_Rg%&WZHT7U z+Ov1Xg^S`$&Mwrz?54u?97dKyOJME}1TVBET`N;0#HxKS3|%Reylt*pLV>A3g%bHg zlcVeX44y9Y>dT$g+E+&!SqWEoSB93*KTAL{fTl$ynwz2R^T*grYO;D=U97kjZfp`w zig0te4Aa4*F|7;P=oZ3K)BD}9UqrYy_3rO14oQNfebmC>U*{lXvM*~vUj7jzqb zOJ0K#GbmMb20ZjI^kP{*5&`mA{F*~z%EFVjJ4t>&{pTa;iOdQu4Za==9oOs)y!myn?azq?JZ?Dc1*g3i8jPcl{{$wMp0i z(ooSNq0RHnHl7zSD~K1DLN#rK5=7qYX;Z#q6mRWP#~qn1PtCrrxQSiwR1ihyQaPP1 zjwG=XBoiWvDZ4MJ2AePMwze*1O)x1%U&&!YeI}Zy9*jK2aYsFp47&Lx_jXtb6oVr4 z&F4Hm7k{9n*)ftivZFWu>C3#*-7S`g<}e{6i6)xTWIJy|r|; zTDV*i`R?A+8Wtg+w=)oJZx~BH>&}+OjEyn<#X;2}_$4!7PQ(h-8apbPms1PEKi!X!`d9AWgk=RHj=(QUnJPEyDq=r+|Jd@f5y|S55 zpT-dDf+QsKkp$$Wi*VQs5RTuVwrjWuqoIxE(RvSznv_|%iFGeLcDx|`xK#5Ey z&1{l*d2T|5bwsN+Yd>8WsLn)iIWDEek?+mwjS!Rw*7|qsbC1votOtw0>+u(4s0?KRGuLFQ)!dS9T;RjlOX-)Pj!MMjnvnvn~*CCN^zoCF@^wW1^^9ZIG#GFLd0_zvU6xfftii_}DcV zB~x&Zk!H*&qG()kHK;|od?Po;u6K6X4i~T1W=S*D{9D2Xoti3XLn( z-;t}1Xi!lZa46z-CfeauF#La%=GF};NYTRCXbLN%i<{(~PLB@5^^6KQY-CebHA|Me zCV}C*C^s&tW7tSJm{g|SemBm-d;DkjpF9ccC&&MpAsPJNkSa4p|G}U@qMvgtBnj~U z-8w9L>My{CuhOFWo~reMsz0z|P@g^@Ay8uCyLdUS^C=8$|10T3oK( z`F9B_>YjQ8lS%+ogm#yiO;@!{Tv4W1qBe!dw{Or(R+yTJ?mt@U2=Lz(9KhHB@@Ko;aq8sN z1K?0PvgFrUZ@)jcsV;JJ)|yoBCT7(d-*8X{yI`YCI@_bn z)M@D_=*zvmD(dg98ajCY0i;5BIZnq^NpU5xPIu^Jh-~IpH4XO5Q@*OIf~Sfn=rgU$ zu>6r$Ha)oX~7iWw8PVdJ_7@Zjj!6n@vnhx+KC4=T(8S_L?>L`(B76w9zO zMk=ZX&;US`?id?7s*G;(9A-%HW+2ic6Vx9tLf|R1&Nir9+8g4{PFzV`CtcQROaF6J zq%!hp`W=(+;&wwy!|oLybqQw7_quLpsXUg+@|;dz6O%AHG{upjhr@bZ`xZM=3Q4h# z%s&W3M%HM(D7r+h?o+Nn<%kpyd?Wks^upo)lU|US5HOaufxDaf=k<5@QemsJrNt`o zM4cXrc(+36#zU|{xu$GikKANDokT@-VCO2EhQe$u?mvb1^aV~>mNq{V-hD4LC;W5ab+NuJ zqv;M)rEYko6Jh76`r=PqRpp!Z5eEo&!^fjr6(Ypscqj9LKq-GdHOHm}5QK@VC&xSj ztFkkrx{@_EFsnrryOcJ}$>sj2Av-gQHi$Ue{GTgzdd^|_LI)&$np6e!;$lor!>#b! zPB?t={3y($caT+F%@WlKJ!j*T@1o`U)eaGnV#WG1*9z9|{{a`^?V#nod^-XH$KG?U z+xq=3X#4bm<<#B6mn(P7&*vQBXXqvZ!Q-JJWaM18F`yW63B5>&c0|Jkj~RYj=hk44 zox5XKRdWyhBvmrU)fTSRMLKeNO0K8QkPF<9$SZJE%EzGIH2pJl~Y`+Gqj$4s@z ztruhYiMIp2*;~M4Zebym>Q3dbf}R~HO#L!7R_X^ znlO{2&R0rG(??e`l@|FkI3dv`f)r=C0)?4QJR<)ct1E4-=G7u2D&=_lbVUn7TP)>0 zJOZHs$^ak^*ktp7Ax*!}H~mWi@u2eOWp|o<0G58E%maY+PD~DMg2`fW&8}9O`_q%9C$A^lnzJau`}7dM z_iF>`#`1WzqT!Kr!T$jaPe(o$kv^9>^fj5A@?}`}wuAsUv+(25_2~9UcfKI!4yIS7 z(G+~ky|YV@Uu>7mPAZY^7bDH>D^o(^<-e25o@(|UEzuk2$3oZ7!;2j6CSvx~07l1` z`ioxQxN*xT$#_CBeTOj#a%QXYz!yWN@JL0Hn`)Zf{V@4IL00e<1mTEs7U&M;qjP~iVD(V z>GVIVlIyh(4N6h+i6}=1?>xC7oVhrKub0xJCl)Oa&viBbiN<4BCKacP#Dz8xmx1X) z2mn-wYE~^SR*&c=WI6r~MpXd0Dy6$T8NFSuvZ_En=hZu3wxl{x=<$ZO`M5LUteB+Y z=<8$?6;)_XjuTDv?%1OxT6OA+E&({1q|T=s$tE>aT~!0E0f*ZL+z@ZWsC{K0o^zwW zKwV}CD}rAiJeJ(6hAK&yIfHT43vFkO0vGi-U-vYTo!(JEW?N3_A^ z9zH>Tsp1WY9fv=YqxF!^R3pdP}vuoO}_XG$8JfA1d^esI( z^NuNVi)JJX2e2?1O?vz7$xx|F?`=gMJHs^7p!arR6An^xaGS5yj#~We#|OL} zYwSsEwtt%YfV}|vrStV72iY{GB}62F{T?yGu5o334UHDLZC+|MrbOa@fus)^;Lu|q zM2Yf4STRYfO2zEk&I!%>agvx(Ovni|HSAxXFk%U2Zw4Z4xnS9()xKOMybP+2%)Umh za=ltqlhdu3oTs)iSwP<$_7;#C+H3oR&?>t^KFEOcNs13x%|JBu>ZU)^;m-vJ9CJae zlx{q2$=buH{)S$s8+Xhu*w-RCNa9#N5c(uMjcS-AXQJ`V^G0X)HcrH1oiqGI2^+y0 z{c6iDp}1)*+pdgN4sw`_!=qTz6*+ew0BUoNY3O+6$=v-ctG*B8X}MrUxxq&KF25Ad z4qvf(hDG9gIP8go`-C(0_2-w9ov-MGNZ>PU?wdUlEoY5cAFY0u`&DBD_ejph(|rJw zqe>BW*WLt`mT6p+ZGUqJ8DnhyC0P%^cwlTGgO5abTD8pN3YLK6B24MF@4LLg#%iTR zTLtTNqR^DHG=rd$z2{W7Ba{N};wE!Ug`dWBy_Rcu3RQdN>t&i%vx8Z zI+@`5(-l?t*M-RpFYYzr^&Ne&Z{Z|gBzD5Z4;SV|ccwk8R>VQ62}K+0)~5slD6MVH zTa#@9_2SbeGXK3d(G-`thf*_YgI%f2j+NkS&^X7vf3H|{zgF0Uu^r<51V{#LN zjs3QdO}HfH$Q1PLW}5;2%Tl$kIvV{SE&;7eFY#R8!br*P&~(lbJc=JP9hRI@Swtj| ziMvMf)W@vKOn%TlPs*@x@PGYluX|ByqRcL0YBHU3GA0PvT6<-r8n7BVhz0;)83&Zx zy84QYIPLnaQitxOC1eDM0JT*pnauGgUAVq1twb%LiA)f{s*_Q2Ay!M>w3@=Jd4FP= zAHvg(r|#&fOrq9!o6yeADNv%(0B9V|S+}Mh`R%6mFseXewhwEqM#aHgxAD2OB$^Z0 z4_CFYHgTS@qBxH4*=V~(>yViE3y60mt;S?D2F1h6V?K$~PX3r;LH^Ul8Epaw0O*xQ z;Q&|{RgyyW$mEpayp8o&*VwIXiN)#R`MgjB4zpRM=BL5}+nuD%gI5-M7osRnOn@ui zY7@UY+4j^k7ptGTOBYvPnMYc^ZEsP5f7U2H%4BwO+K&z=?oCKz1BQOb6y=}hNOG+QyK(ceD zIHij6$?+s?=gc8V`8IYCe-m|p(pg)pr;G){iOz2dDWe^!q)yb(C4TF{h~<+){=dBd zk<;@_Qa~n6sz6d|d{N=V6(_rNXnky&ubaoQ%Ra!YRJIffP5oG%c ztDjTE)8QBR6t8(N(p&0+)MK$LhRkP2M>H`*thbuzj@Kxvv@&}Uw`JpIwB6Umzu02g za0#l;x19RR`<(5X)-j?~tpvNY7$wU@ao#W}%zbS`&!7*H{;p^@2A7)4#DZlUTJ)Cz#=Ypjso@t|9w8oF1V_5QX|- zIskNH0)Bl~K+wKBU0i;4{^kg8Nu;Nx>l^8jE_ris?^X&7IL?@+_-Z^BJ=$2skfsHOP z=<60sDm3C=qLwXj<`HPq)G~ATj1zCzh-KG-n=cibzsPsr!sotMLU+s6IjQWBdi zpye|^)?aD63BEwlh=;%93T2z`LW1~spOB3pO~4X)B+v|T%@FkrHb zRAtn^7*|6F@AnFQXE#)FKV$0&kx1ork(WIRGsO$PLSp5d)8Z4|oi5 z?~KpDB!zOlud-I()z>_y6jie$l7*!wP|nPU->U+BC9jii#pm4K(P3zBNmiwEhUAtXlh$U38 z3M<#&OB9(>X98C>1>ZgG!#+zBFk%?O{5D<^zc7~@{2arv-Tb19Innyb@0T^iCI&~A zlxqO}Lt74uQr+dk+|@g0W6fcr`(ok5C=ufqYFZfLBw9%O_2Hdc4`!#pgfVpkKJANckk7>5 zOYj=AUln*9N@Xx_^R-!5rgFxss_N}sXd1s2;WDz<4)$4dVb`_XK&q-SvtPGN$J?6;QkvzNCF7H>KesM_zl3sAl4Q;xZ_87PhwsQA+P|hKmx|o5ZHg3YF6R*PYs-letsUmM zv;5~NQXNszz)`ED_ayyDMuNR1B|DzyUR^8pOM}&kgCaJ&W9m(6+nc?SOlZX3HL%t+ znL2Rsz4~65B=Cg_reUQ^E+xp5^y^df(wkfnSR`mIgzO<9aQBL?y-%%HU9bz^@? z{zw#W@J**XVb}W_yp>0hKVY>23^06~LDR5ScdJX_Kek71y-wN=>dui)E^T}w%E_3u znU^S@f0KnBhf9M1uB4(O!|HVSM+@6>1M)#W?~#%>g5*%imB%p5qJC+vexa z1hYhxc%pIY_s_&Cks1`eJ~N06$?;LOinj!cp3yH%FR<&d(iN8yhD)RDe_uY`h*6~U z9^B`+b(q;;TtitSYNZ4S$8mPUtNl#g*bQrlMwV^R$EN6d+Phf1ns2j01FQb@UGt|l z2ec3kR!(DO>S(D$YHDhYOdKb=U@2L#pgVrx4GxGQ{f*$`2Xmq;!~NzUY;P=)m&6G? zmD4wqNj8o*X$?k*CjlV)YA$xEt=vs%3+YI}!b@2iOVdYNL1)lBVAWQ56?Bl@Wj(k? zQoXLDI9|?AuJ&!JomhuMVlzHM+KM=(t=O&3tax@`p1pz82TsHe-C2$h@B&pO+6z7V zDM=Z$TEv&JivhwNCH(IS>~3JjkIVT9?9vFVcx2C4;mY@ks)y|_v|P9T#{B}mguGtD zx`^|j?1bRz&rx(rEiehrU^Hc;Qe_OWvEz8*SrgKJvm?sIb?_N`y+<2clg~DEGE@6g zyr;#gwp$l%G4Msc(0)9;634&+se!lWJV;5in9qsr_4F1w#30eVeAfHDcrdjy3!Qj1 zAfaaWYU?wg>-!tXCFIxu$g7^+N^BDEovJg6e~~!%)&a(@dmbc1<&o_JajlUxS?YH&iesemydAj>IIE}NQ5-A8|(7# zawn2sInK^j8xd)Hhd7?5GZ2=_yo zi$*PY;HOdi#5u@gDo1ZI(?dCc!QGQ-U+=o@O(R8LQt@ucN zB0#K;%Y7TY6|G{mfq&YoIJY1*8p;h5GReqIo_2n&L*jnQ_8S6mW zj=Y#08FJwW;{Dp#aYEUV1;5b5w6K-$4t=dd&fwMH+H5lS`sgy>%Oay-jrqu4k}he0 z4-sLsw5Bs6j!sc7Uw?JDgPhHhR1$sMZ=K@a!mf;+$MlFE!;qVaZ=FN7>VlJ(jr{HL zvCK3y$-l$4r|`%W7h{@6zWmHVt(Eb@*h^>5Pt}PHO@ufDovy4%lV)ZE)gs_eT}cVg z0AT{9W<6Vz-F(Zz72s-2W-_O9ezn9QanfB`k)l8)&nXUKwkKg;CP(WhJ#)CJtipFC z>&1fLXnRK7(KFQ@C-S+%yR+VyP;cOaHbPX6gXLmz zG2#>wO2qp#BQJ2BGCgnz$=H4=2m)$cdG|TL^~O^RvrVCAFwmsnyCb>cL$oEpS(0Lg zvG5&!QP3PYs`c-x4KT?uKp>PhxF;+firlWn!BQkF?PWqpO>NBm^s;I{ah7gNxkv)7 z@Q+RF&reu?Kn`$7VGFlrowK}3JsK=%9X4^yXVvW8VggLAUjX|k9jfcs;^B|O2h6op zRk+=Nw-i=A{?F39|3X;|=S_MJZhNL`wGqz5fduhyziKk(DE!2sDKp*yc!!@Sz^zA{ zW&*H<*tM;RqUpSx=1?B4w#H3g>NnrBGb^x2xk|Y8xx^ixo4B%wH0Qp2iGCAw0QFF= zz<$?S#sLa_4YJAVKRfFSiJ9A+R?EG9t;=YgmqVi%Sn_CCzbg0G8}OsmMHZZ)KI4i~ z;RmRsr$m@2p`0QKNi6uRzg=0w%=BIdE$V7U#EjLplzgH}Z&Tc#VPe&kqmbgTz2RI5 zT&O*gF@2N{j<{9Rk9nO&1~)Ue(LdX<%wT%@53o^;rvcravjt&S7`r7O!#C%{s42G3 zS{t=Me)CyaB`e8|LSl;B7%g;uYrg&0k&VP3G|AH5U7`&c**Rhm;3p{WbYzDdmF!1l zyV!^Z+?P}PTz$W;XQN!^y~eHIYQT$!DF1vMD>oqMdBCqJyZHfX73j>Gz{%N(IlJ;M zi1DSyX-f<%Trp3AWCYb;$WLlwWduIVO_LlA+=eu+kjdFF}4&wkXCpOnDC<6;*0%vx}8RHM}2k4z#J&gf%(vA?<-Fa8{pJa|Qx7--DoO zdyfAm%+<4DJ;}+R`TFkQgI!i06^@~LjhLdUtinM0HnCf2{l0x}F`X1sK_Zgyoa|R8 zx!J#MBG#g4HLmj=FHx~t?rx(FtaamLkg7J{#8xUn@5MY_t%;+|a=SLPJu!4(e@Pu$ zkPenZCbKPog#`cSdos5!ce&x{~L0VHB!GhKcQo#g>`u?I!qT`G{ zt6!@Dt}t9b|3)bZ&sbQ__3pr?^&y;ooc7m?cCyv}YN@>(ITVDImM}pRGMOIc6Nn)r z$l0A~x$G7oX_l+f@4Y^ej27;Ym#IpFn;JkHm)9p9iv$H9+_Wv({f!%|#wn_{(&ZREEnWW~<{Orn#s#;Mx}JB! zA(kzrl5QXvV5?U=aAakhky4&xl9?&gPDpXTEqHOdf(wz!_}WEpyID&wGqXKj5TQRM zu)ex7-pD_}_nIbn+u2w?{C={>%%4YU3hCrUAeCXN%`LJxFDM7~_TG7qG58s8*jxmv zx4Ngi>zqPGm4uPDelBZreSy<%PS)|mXCx|%r<#DX+z?8k$4-wEcwWh{DkN4P*jW4h zyz9Ma$O?~W1{7ep0n6vBH8nWeJA1h1+7u&KP=cqifG5DOTm!6#P{B>p-k=&#`fLZ$ zE30W{b+BM&p$?y{idy0qYB;_6?RHVW>M_~1>Kwq&qxhsAx6+iP9AML{%jugCNZ0Zv z4Qf1H9f-DRC-PIgMS}_Xdb-hsl{Gaa3-7Cf>ib@_w%vAtnj#Y-92ojrhHSBAPX~0~ z`f7135eeE1;Z?J5%pgl-ccV4WMkEYy&PJ;!jZNg2?Z1Z7BOCZ8jni9ucpgQV#F=DB zD8w&dLn%3=-2SS^SiL}yPn()kVN4Vl68U3gU$!IS&t>$$H1PTWHm^PE^ZjYA-rA4S zQEvq1Sedt^o2#Txa?QO&wphAOIb3z)1L7-@3p>KtP&ui%Jj=XXbF`8kBD4C{Jx;7f zcKX7OGlRY8jg)Sn)cdo(Jab9+j5OQUg5BdwbElPUtzbL%X-96T&x8ne8pyIdB}}U8 zfYFV*R2beSU~tLbea} zjchwf1hrowV&d3cROe$GKS3Nrfd?aldjuAnu0X4X!7{`x zAY%Ev_q^_I3MiKqY1VH)tYz*sLm_*)QDQTB@Hw|}TuYA*&hx1(pijD-pB|oiN9sdB z-?{{3hzwrOYuR>P+^0K?8i}8+iOX-@vt3-gF6C5FA2?0I4%h$U3Y#ZD6r+6!Gx(4p zZOrtY4sS3%*WiW73H%i!PAKf87%#T)Smx@2v_bUKCYRpna*9E{_au z!8S6(gGQw5onL&!J%q9?`&H;-4c=3?%jWQ>uLs_|e8hjaqJ5l0y{EH@u09BNiwAmAx~FLiVXFTJ45)9 zEbXdhv-Kn$nMe4;N?3zK6nHK5FCCEj{%6h4Gt2d`^HPe|0^~g__xtA%l4l0MP?rEh z-JP!^qGNuMI9-!@-`Y{&w`sIl8WBMf6pqlZnNW|^UvYCHm}44#3>33z*y-DS5mxEz z&O5`3#(%JsYpHlVTq5sb+xSOg2AXe55>B_*S6 zM=9QJT=D6JKoSTyPxT`<)Py0KMuRPd2<8m%Ok!}33d+bn*J)Le#$Q$Q$hGs_`DG0D zKj>T@NYm)w{zL~5M93+G1DD?To+0j+cItkI=M@>M)82J`y=(Rf5BOy=l*2km%)e4@ z5|#PQC^Y?&8tlV>`a1I2KJllpIwcjH!+N(NE(}0EeqZK29Nh!Dvt6u3#C*d#Q}Fr& zeyHIZpaiVf+;(rGwvc&4q8B&o|E1I@7~yC-@@^@A{m3|$oim&+uSj{=$5%g%u$`!u z9unxG>~lF^F`)7f1sT6hPC+`Dkt1tJqP`AsV7$ijz$JHWjcnUKHwNbR$^_6s?9Fvs zA-#M?0_7g!lcyNn6^>Ci|F&D*t11)OQs9Q6H`=>$wz=9!FguF!u3WkcR76Y<<)Fn& zZ$(&-#FC>zUszW(^W`g3qh4_V;zRa6MaC3b^iW2OJZzimkrFlFG@LwuwXk71V*9Y` z(FAYvJZyp2sw`rK=N~2+j5l99Tz#S*qLpsG_pGJ6(eceZ5X0$~IELg8jp(8oc+^=A z_8tx;&omr(sGD{(o9mN1aNr6rKKytWP@qHZCp+*0;nmRxN&jE(33~0y54im=Mq7{2 zD3zkr$4~2J{CLt|4d@1OZxwts{DCj z-sN(cyEIZ1c~DEs0GU0m-dE8?r@#3|fm+ksV6NA7wvM)M>%b-5g91JMAyb0F^QSpX z_!c%C*aM%CAcPdrU93Gr8}7?`if{jc#({#m6&vdpM*L&mh(P9RcMog}ljQ{i{3KMsju3KK<@zQ*?(Rx3+B`mWcr(eTU5e!Ep(aD2(Ck@nM} z`duRRN03FlMVkUQQi&m?OnB~&K?_%jjrItsMm+mr>2v}4%g^&lasQy+WsaZo#LqpMFY*do0#j%}|Cm@Kf){#uRn#x`2^a z+a>m%ThnIsDG2g6@(j}%b9Rz<1Q%0EM*iz<$2b#u6~ez7s|kz5ReN|f9r(tyFR{Ps zw(9Qvk;L*^A8ff$_E6bJX+&y<*i&pD$xJ7O<&KD zh1dPsv(>(plcs;8#e6DY0L^}Tw5ZUG)v!9P=c~V-laumjen|>Hk+CQf8m1PZN4x>D z0$=BKv#xSHTZT>yk8ZfJM&{o`M)kVg+A&5Ff~umN#^AXLoHvr;I-Y9og=tOAl-zx{ zqq!FAI?d;$h8dcmhPyh;xz)yFW-|5|7+PB8bj!o?&!-m86F9gQT9QL2EvMJtK!=Q$ zbn@oy=wsEiN)l2tB@3l%84r4meE+CSdcWeJSeQ%|#Y^2pL>=EV0jZ|u%4$DSPGwUo^V8LA+6Eh(nF2yf;K1+ME(@L<4GqkRdro0Xf!nPnp2*l+V*k zz0J)F#<$0!GQocMsZODn2~H|=T+nK$=hfy`{3s3<+RV@s!ETWnm$M2>kr751B)j;;72XbUHOb+zA#})t0so z*h>ysqZ$Wq1L`$aE%G{^eM8moVkV!AqbfB9{5P6*j&N~*BvVA-v9gUzGxKTiyN)A) zmoFa+doj+jZKeebf52sosE1%PppAl7)f(3Jd0h-rxYIHiXKGl(}D_;>PbSAOIch;8d2U zzqWupjcx^eh52tKFrVzFj%d>4LQCc45}G`7!o%(Yzvf=OR0 zsA+V?dL@3&{EOnq^Vu)Nn+>+lK$*#P@xcRK3Dq2K!{Zzs<=O9Zmv>mxBds?OPO!oL zHD_4v3iUP#=iuM;%RBrv$n58LT(0p&;HI#)9Y1)uM)D%%Gh#|Si0I5CfLE?u3Fn>BC=3zlE{*^07yL>ilk8n`oua83-D zaHqPBsQg(H?u2+wchAHl3aar?4ab4Qzr<}}XbctVOV#~|T@`?N12$5rb zUIdaB29z_r{EQSd2JWrj#?*JAd(p%&t4vWkaT_Pdp{wND2)?(V@@JIo3^(;Xu8$Q% zL0MZrM<&V6W><3_YgJsNm(uL`eZF;7i4Q3Nr!(3O)LrT9w4heDZ=gSILTs^ zluZp=CLv$+@~*=}`7X-YkKJaeEUOwAoNQ-Z+33s zrj1dsTjIp&Wf7kgk=1UDe3TzTL#RZ9G~;Is@sCf+Ub}BINJM^RUA3}x=WRN#nPeuU z;*}bM(*4vBx+i?OYUzg$OhnGt^|n4g?|mP?iRLMS;?;U4OiD5YqhE|N-%3!S4Vm%3 z3>46ev7&KzKF{8hy9K!=O=<|&T2{5G(Q7n=WEUh0l(eTegvHEvE$}ol!&&TmXeQ4V zMaHLL5#k~^HstL|e}ovbEYD4@t+*gJSv%<%7U+tL7>>F=4!>$`Tm`<}Jlm+Vi=zh{ z$p1ir3|C?q;k0RsDr_W2Na9DmmvOCV-J;HT$^XcVczYTg7WY=o1u^yQ)~qObxUjR*C*& z2i{f4Pzr$?=;2e^Cn#-axd8UkpE>9qVXdwh0wAIm-?I6%;y#6N_R?Y112T;tD$fwf z1a5A9J9J&HUl^76ZLQ>n2z6Bzp_p)rg$C5e&sHTiVr+mR$-IKN0w>+1=6NsLMH+TP zQij=fz!4)O$E8Kh>7)M6aA8fs4=3|jUbKfva9HoP&y|^RU*g7e58ZgpdpV;y5gEJM z3OZtHJ6!9(|C`8CTOnHU84Z1xui{;P3~xPbUt)6o+}3$1CNqZ(RnsW^J5yV6xrQo$~DY&EDe)WlUqXvb9q z)#wyWip0@YqO~N1uoEF9?P|0oac#PP#eR7+@BM!7eR%VJAKtu~M}HPvr!SDJYVr{T z+BxML$rqS&kx2Lhi4b(2WW{>HQy2c>j$jB&4Xg|id z07*UDW?ZVGf)l+xi8$kE|6q%)Z3@$4NK9v9=K*q0Wbt^%4czCucV3}Z+EL#Rnwd^g z7gAM|jh(2*9Z#7-_{BR8ERx4ImJfj)MTfG^PrK*8sSVwYr8ac0>La<+J12B>Zx1IE zW_~tllOE$I`8h!yt++0`JoOTqFVU;-_2bgN)vk?b27I;diNCi{n82xti5Ifd0GV=L zm7AT(95L~PB)2!#uU3HrT*7Xd$<=T10d3xuGEe_16A4XG){JN)7fY-b&OZUdY3>)k zySiNNmDj@$oxs+xlg3Z=R5o-y6 zm``g~31FMGZ{xOGpF89~mRk_Q9pr7I9`n?|c@f&NMb!KqZwnqvI1d%1Wy7A(V*oO- ztkm^BXTeNoK%w@8tbS<=dL?PWCEW9C(raR(YS zYf$QBF(bdh#9>A3OTLg zlv)2HDT5d264of{6&wqW@&qZWy_f{@;oH>qb@Vq4ickBX%!)V8YPuK1yqyrn}*4tU11wYX-H+2feu2|Z~v9)ahCtaq!trwW$Mc!$4i;{ zjmH9a8&CUJw(>j{_Yu~i!yw>`oK_Uc-lp6b|NPvPjXM5@GltpW9hC@~@6}x0K+mmq zILtPy8iX{Ev3nR*STAlxoE|Y{R6(F*r;}X+!WA?Z3<-<_8aHFVEZ~o^)y*qO_$IQ7 zNDO?>2p>|gjdR;fhp_j1_KraJf4C{vbBOCh)X46!0gj!0bDUz-ua|Zn_~@mjE65TV zgK!PBs%m1BwyVYHpfXU!s9GmJ<0mG)s9PZY=&0Z!X_~24;ax#ENUhj6d~j*Is8Zx9 zkne0fCSFt^=Wt=u>NzF_WN`IEJOk0@WK0;nXlNpFRyJ{Da2F4_lzdvGHPbGEh|Uxt z=tYXqA&t4y^|=&r*Gfg4BrPqUw^>yFi;_~w5=`ZA-aYeFn%r<^x1V_cekx|m(nb;a zEJBB`Sy{FE6fla>(b2ov9s;dkOf9ktgL@n6N>rhTGjvs5qqa>vf-2P^F32#Zb;zhY z!U!V-J|rgcUirLH(_DIYH;$%aWER-D1vBurUoHQp_TlA3`-0xfI87Sy$`~)>>>>>> 124841bd3a... Merge pull request #13598 from Heroman3003/megawings #include "code\modules\mob\new_player\sprite_accessories_wing_vr.dm" #include "code\modules\mob\new_player\sprite_accessories_yw.dm" #include "code\modules\modular_computers\laptop_vendor.dm" From a5ed38564a847fa939b4a485e9bfe64362553cc2 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Sun, 28 Aug 2022 20:52:32 -0400 Subject: [PATCH 2/3] powder that makes you say yes --- .../mob/living/carbon/human/update_icons.dm | 50 ++++--------------- 1 file changed, 9 insertions(+), 41 deletions(-) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index eda9e89c7f..72b7afcab5 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -67,39 +67,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() #define SURGERY_LAYER 5 //Overlays for open surgical sites #define UNDERWEAR_LAYER 6 //Underwear/bras/etc #define TAIL_LOWER_LAYER 7 //Tail as viewed from the south -<<<<<<< HEAD -#define SHOES_LAYER_ALT 8 //Shoe-slot item (when set to be under uniform via verb) -#define UNIFORM_LAYER 9 //Uniform-slot item -#define ID_LAYER 10 //ID-slot item -#define SHOES_LAYER 11 //Shoe-slot item -#define GLOVES_LAYER 12 //Glove-slot item -#define BELT_LAYER 13 //Belt-slot item -#define SUIT_LAYER 14 //Suit-slot item -#define TAIL_UPPER_LAYER 15 //Some species have tails to render (As viewed from the N, E, or W) -#define GLASSES_LAYER 16 //Eye-slot item -#define BELT_LAYER_ALT 17 //Belt-slot item (when set to be above suit via verb) -#define SUIT_STORE_LAYER 18 //Suit storage-slot item -#define BACK_LAYER 19 //Back-slot item -#define HAIR_LAYER 20 //The human's hair -#define HAIR_ACCESSORY_LAYER 21 //VOREStation edit. Simply move this up a number if things are added. -#define EARS_LAYER 22 //Both ear-slot items (combined image) -#define EYES_LAYER 23 //Mob's eyes (used for glowing eyes) -#define FACEMASK_LAYER 24 //Mask-slot item -#define HEAD_LAYER 25 //Head-slot item -#define HANDCUFF_LAYER 26 //Handcuffs, if the human is handcuffed, in a secret inv slot -#define LEGCUFF_LAYER 27 //Same as handcuffs, for legcuffs -#define L_HAND_LAYER 28 //Left-hand item -#define R_HAND_LAYER 29 //Right-hand item -#define WING_LAYER 30 //Wings or protrusions over the suit. -#define VORE_BELLY_LAYER 31 //CHOMPStation edit - Move this and everything after up if things are added. -#define VORE_TAIL_LAYER 32 //CHOMPStation edit - Move this and everything after up if things are added. -#define TAIL_UPPER_LAYER_ALT 33 //Modified tail-sprite layer. Tend to be larger. -#define MODIFIER_EFFECTS_LAYER 34 //Effects drawn by modifiers -#define FIRE_LAYER 35 //'Mob on fire' overlay layer -#define MOB_WATER_LAYER 36 //'Mob submerged' overlay layer -#define TARGETED_LAYER 37 //'Aimed at' overlay layer -#define TOTAL_LAYERS 37 //CHOMPStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. -======= #define WING_LOWER_LAYER 8 //Wings as viewed from the south #define SHOES_LAYER_ALT 9 //Shoe-slot item (when set to be under uniform via verb) #define UNIFORM_LAYER 10 //Uniform-slot item @@ -108,7 +75,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() #define GLOVES_LAYER 13 //Glove-slot item #define BELT_LAYER 14 //Belt-slot item #define SUIT_LAYER 15 //Suit-slot item -#define TAIL_UPPER_LAYER 16 //Some species have tails to render (As viewed from the N, E, or W) +#define TAIL_UPPER_LAYER 16 //Some species have tails to render (As viewed from the N, E, or W) #define GLASSES_LAYER 17 //Eye-slot item #define BELT_LAYER_ALT 18 //Belt-slot item (when set to be above suit via verb) #define SUIT_STORE_LAYER 19 //Suit storage-slot item @@ -124,13 +91,14 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() #define L_HAND_LAYER 29 //Left-hand item #define R_HAND_LAYER 30 //Right-hand item #define WING_LAYER 31 //Wings or protrusions over the suit. -#define TAIL_UPPER_LAYER_ALT 32 //Modified tail-sprite layer. Tend to be larger. -#define MODIFIER_EFFECTS_LAYER 33 //Effects drawn by modifiers -#define FIRE_LAYER 34 //'Mob on fire' overlay layer -#define MOB_WATER_LAYER 35 //'Mob submerged' overlay layer -#define TARGETED_LAYER 36 //'Aimed at' overlay layer -#define TOTAL_LAYERS 36 //VOREStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. ->>>>>>> 124841bd3a... Merge pull request #13598 from Heroman3003/megawings +#define VORE_BELLY_LAYER 32 //CHOMPStation edit - Move this and everything after up if things are added. +#define VORE_TAIL_LAYER 33 //CHOMPStation edit - Move this and everything after up if things are added. +#define TAIL_UPPER_LAYER_ALT 34 //Modified tail-sprite layer. Tend to be larger. +#define MODIFIER_EFFECTS_LAYER 35 //Effects drawn by modifiers +#define FIRE_LAYER 36 //'Mob on fire' overlay layer +#define MOB_WATER_LAYER 37 //'Mob submerged' overlay layer +#define TARGETED_LAYER 38 //'Aimed at' overlay layer +#define TOTAL_LAYERS 38 //CHOMPStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. ////////////////////////////////// /mob/living/carbon/human From f1f6ecf481d465d3b066a33ee1618cc3e2bf2ce6 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Sun, 28 Aug 2022 20:53:22 -0400 Subject: [PATCH 3/3] powder that makes you say yes --- vorestation.dme | 3 --- 1 file changed, 3 deletions(-) diff --git a/vorestation.dme b/vorestation.dme index cb2ebfb404..484248be8e 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3442,11 +3442,8 @@ #include "code\modules\mob\new_player\sprite_accessories_taur_vr.dm" #include "code\modules\mob\new_player\sprite_accessories_vr.dm" #include "code\modules\mob\new_player\sprite_accessories_wing.dm" -<<<<<<< HEAD #include "code\modules\mob\new_player\sprite_accessories_wing_ch.dm" -======= #include "code\modules\mob\new_player\sprite_accessories_wing_large_vr.dm" ->>>>>>> 124841bd3a... Merge pull request #13598 from Heroman3003/megawings #include "code\modules\mob\new_player\sprite_accessories_wing_vr.dm" #include "code\modules\mob\new_player\sprite_accessories_yw.dm" #include "code\modules\modular_computers\laptop_vendor.dm"