From c1b7bb1da5b6eb5ff0648818ae8df65a5d53a7a0 Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 11 Feb 2021 15:57:04 +0200 Subject: [PATCH] Merge pull request #9680 from VOREStation/upstream-merge-7861 [MIRROR] Ports World Server Hair & Gradients --- .../mob/living/carbon/human/gradient.dm | 10 +- .../mob/new_player/sprite_accessories.dm | 233 +++++++++++++++++- icons/mob/hair_gradients.dmi | Bin 1066 -> 2078 bytes 3 files changed, 240 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/gradient.dm b/code/modules/mob/living/carbon/human/gradient.dm index 7a0e1d37f1..d7513f38f8 100644 --- a/code/modules/mob/living/carbon/human/gradient.dm +++ b/code/modules/mob/living/carbon/human/gradient.dm @@ -2,5 +2,13 @@ GLOBAL_LIST_INIT(hair_gradients, list( "None" = "none", "Fade (Up)" = "fadeup", "Fade (Down)" = "fadedown", - "Vertical Split" = "vsplit" + "Fade Low (Up)" = "fadeup_low", + "Bottom Flat" = "bottomflat", + "Fade Low (Down)" = "fadedown_low", + "Vertical Split" = "vsplit", + "Reflected" = "reflected", + "Reflected (Inverted)" = "reflected_inverse", + "Reflected High" = "reflected_high", + "Reflected High (Inverted)" = "reflected_inverse_high", + "Wavy" = "wavy" )) \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 74578c8e9a..b5b0c8eaa6 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -64,10 +64,45 @@ flags = HAIR_TIEABLE /datum/sprite_accessory/hair/afro_large - name = "Big Afro" + name = "Afro, Big" icon_state = "hair_bigafro" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/afropuffdouble + name = "Afropuff, Double" + icon_state = "hair_afropuffdouble" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/afropuffleft + name = "Afropuff, Left" + icon_state = "hair_afropuffleft" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/afropuffright + name = "Afropuff, Right" + icon_state = "hair_afropuffright" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/angelique + name = "Angelique" + icon_state = "hair_angelique" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/antonio + name = "Antonio" + icon_state = "hair_antonio" + flags = HAIR_VERY_SHORT + +/datum/sprite_accessory/hair/aradia + name = "Aradia" + icon_state = "hair_aradia" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/messyhair + name = "All Up" + icon_state = "hair_messyhair" + flags = HAIR_VERY_SHORT + /datum/sprite_accessory/hair/amazon name = "Amazon" icon_state = "hair_amazon" @@ -77,6 +112,11 @@ name = "Antenna" icon_state = "hair_antenna" +/datum/sprite_accessory/hair/averagejoe + name = "Average Joe" + icon_state = "hair_averagejoe" + flags = HAIR_VERY_SHORT + /datum/sprite_accessory/hair/bald name = "Bald" icon_state = "bald" @@ -93,6 +133,11 @@ icon_state = "hair_e" flags = HAIR_VERY_SHORT +/datum/sprite_accessory/hair/band + name = "Band" + icon_state = "hair_band" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/beachwave name = "Beach Waves" icon_state = "hair_beachwave" @@ -133,6 +178,10 @@ icon_state = "hair_beehive2" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/bieber + name = "Bieber" + icon_state = "hair_bieb" + /datum/sprite_accessory/hair/belenko name = "Belenko" icon_state = "hair_belenko" @@ -143,6 +192,11 @@ icon_state = "hair_belenkotied" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/bigcurls + name = "Big Curls" + icon_state = "hair_bigcurls" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/bob name = "Bob" icon_state = "hair_bobcut" @@ -154,6 +208,11 @@ icon_state = "hair_bobcutalt" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/midb + name = "Bob, Mid-length" + icon_state = "hair_midb" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/bobcurl name = "Bobcurl" icon_state = "hair_bobcurl" @@ -182,6 +241,16 @@ icon_state = "hair_hbraid" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/longbraid + name = "Braid Long, Alt" + icon_state = "hair_longbraid" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/longbraidalt + name = "Braid Long, Alt 2" + icon_state = "hair_braidalt" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/mbraid name = "Braid Medium" icon_state = "hair_shortbraid" @@ -282,6 +351,11 @@ name = "Combover" icon_state = "hair_combover" +/datum/sprite_accessory/hair/cornbun + name = "Cornbun" + icon_state = "hair_cornbun" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/country name = "Country" icon_state = "hair_country" @@ -302,6 +376,11 @@ icon_state = "hair_c" flags = HAIR_VERY_SHORT +/datum/sprite_accessory/hair/darcy + name = "Darcy" + icon_state = "hair_darcy" + flags = HAIR_VERY_SHORT + /datum/sprite_accessory/hair/dave name = "Dave" icon_state = "hair_dave" @@ -310,6 +389,11 @@ name = "Devil Lock" icon_state = "hair_devilock" +/datum/sprite_accessory/hair/dirk + name = "Dirk" + icon_state = "hair_dirk" + flags = HAIR_VERY_SHORT + /datum/sprite_accessory/hair/donutbun name = "Donut Bun" icon_state = "hair_donutbun" @@ -319,11 +403,25 @@ icon_state = "hair_dreads" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/dreadslong + name = "Dreads Long" + icon_state = "hair_dreadslong" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/dreadslongalt + name = "Dreads Long, Alt" + icon_state = "hair_dreadlongalt" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/mahdrills name = "Drillruru" icon_state = "hair_drillruru" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/elize + name = "Elize" + icon_state = "hair_elize" + /datum/sprite_accessory/hair/emo name = "Emo" icon_state = "hair_emo" @@ -344,11 +442,28 @@ icon_state = "hair_halfshaved" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/halfshavedlong + name = "Emo Half-Shaved Long" + icon_state = "hair_halfshavedL" + +/datum/sprite_accessory/hair/emoright + name = "Emo Mid-length" + icon_state = "hair_emoright" + /datum/sprite_accessory/hair/longemo name = "Emo Long" icon_state = "hair_emolong" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/equius + name = "Equius" + icon_state = "hair_equius" + +/datum/sprite_accessory/hair/fabio + name = "Fabio" + icon_state = "hair_fabio" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/highfade name = "Fade High" icon_state = "hair_highfade" @@ -385,11 +500,20 @@ icon_state = "hair_feather" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/feferi + name = "Feferi" + icon_state = "hair_feferi" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/flair name = "Flaired Hair" icon_state = "hair_flair" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/flipped + name = "Flipped" + icon_state = "hair_flipped" + /datum/sprite_accessory/hair/sargeant name = "Flat Top" icon_state = "hair_sargeant" @@ -414,6 +538,15 @@ icon_state = "hair_fringetail" flags = HAIR_TIEABLE|HAIR_VERY_SHORT +/datum/sprite_accessory/hair/froofy_long + name = "Froofy Long" + icon_state = "hair_froofy_long" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/gamzee + name = "Gamzee" + icon_state = "hair_gamzee" + /datum/sprite_accessory/hair/gelled name = "Gelled Back" icon_state = "hair_gelled" @@ -429,6 +562,11 @@ icon_state = "hair_gentle2long" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/glammetal + name = "Glam Metal Long" + icon_state = "hair_glammetal" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/glossy name = "Glossy" icon_state = "hair_glossy" @@ -471,11 +609,14 @@ icon_state = "hair_jade" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/jane + name = "Jane" + icon_state = "hair_jane" + /datum/sprite_accessory/hair/jensen name = "Jensen" icon_state = "hair_jensen" - /datum/sprite_accessory/hair/jessica name = "Jessica" icon_state = "hair_jessica" @@ -485,11 +626,20 @@ name = "Joestar" icon_state = "hair_joestar" +/datum/sprite_accessory/hair/judge + name = "Judge" + icon_state = "hair_judge" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/kagami name = "Kagami" icon_state = "hair_kagami" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/kanaya + name = "Kanaya" + icon_state = "hair_kanaya" + /datum/sprite_accessory/hair/keanu name = "Keanu Hair" icon_state = "hair_keanu" @@ -543,6 +693,15 @@ name = "Mary Sue" icon_state = "hair_marysue" +/datum/sprite_accessory/hair/mia + name = "Mia" + icon_state = "hair_mia" + +/datum/sprite_accessory/hair/mialong + name = "Mia Long" + icon_state = "hair_mialong" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/miles name = "Miles Hair" icon_state = "hair_miles" @@ -574,6 +733,10 @@ name = "Mulder" icon_state = "hair_mulder" +/datum/sprite_accessory/hair/nepeta + name = "Nepeta" + icon_state = "hair_nepeta" + /datum/sprite_accessory/hair/newyou name = "New You" icon_state = "hair_newyou" @@ -713,6 +876,16 @@ icon_state = "hair_newyou" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/rockandroll + name = "Rock and Roll" + icon_state = "hair_rockandroll" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/rockstarcurls + name = "Rockstar Curls" + icon_state = "hair_rockstarcurls" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/ronin name = "Ronin" icon_state = "hair_ronin" @@ -723,6 +896,10 @@ icon_state = "hair_rosa" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/rose + name = "Rose" + icon_state = "hair_rose" + /datum/sprite_accessory/hair/rows name = "Rows" icon_state = "hair_rows1" @@ -748,6 +925,10 @@ icon_state = "hair_rowbraid" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/roxy + name = "Roxy" + icon_state = "hair_roxy" + /datum/sprite_accessory/hair/sabitsuki name = "Sabitsuki" icon_state = "hair_sabitsuki" @@ -766,6 +947,11 @@ name = "Short Bangs" icon_state = "hair_shortbangs" +/datum/sprite_accessory/hair/shortflip + name = "Short Flip" + icon_state = "hair_shortflip" + flags = HAIR_VERY_SHORT + /datum/sprite_accessory/hair/short name = "Short Hair" // try to capatilize the names please~ icon_state = "hair_a" // you do not need to define _s or _l sub-states, game automatically does this for you @@ -796,6 +982,16 @@ icon_state = "hair_ponytailf" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/sideponytail5 + name = "Side Ponytail 3" + icon_state = "hair_sidetail" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/sideponytail6 + name = "Side Ponytail 4" + icon_state = "hair_sidetail2" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/sideponytail2 name = "Shoulder One" icon_state = "hair_oneshoulder" @@ -836,10 +1032,28 @@ icon_state = "hair_straightlong" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/suave + name = "Suave" + icon_state = "hair_suave" + +/datum/sprite_accessory/hair/suavetwo + name = "Suave 2" + icon_state = "hair_suave2" + /datum/sprite_accessory/hair/sweepshave name = "Sweep Shave" icon_state = "hair_sweepshave" +/datum/sprite_accessory/hair/sweptfringe + name = "Swept Fringe" + icon_state = "hair_sweptfringe" + flags = HAIR_TIEABLE + +/datum/sprite_accessory/hair/terezi + name = "Terezi" + icon_state = "hair_terezi" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/thinning name = "Thinning" icon_state = "hair_thinning" @@ -877,6 +1091,11 @@ icon_state = "hair_twintail" flags = HAIR_TIEABLE +/datum/sprite_accessory/hair/twinbob + name = "Twinbun Bob" + icon_state = "hair_bunbob" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/undercut1 name = "Undercut" icon_state = "hair_undercut1" @@ -895,6 +1114,11 @@ gender = MALE flags = HAIR_VERY_SHORT +/datum/sprite_accessory/hair/longundercut + name = "Undercut Long" + icon_state = "hair_undercutlong" + flags = HAIR_VERY_SHORT + /datum/sprite_accessory/hair/unkept name = "Unkept" icon_state = "hair_unkept" @@ -909,6 +1133,11 @@ name = "Vegeta" icon_state = "hair_toriyama2" +/datum/sprite_accessory/hair/vriska + name = "Vriska" + icon_state = "hair_vriska" + flags = HAIR_TIEABLE + /datum/sprite_accessory/hair/vivi name = "Vivi" icon_state = "hair_vivi" diff --git a/icons/mob/hair_gradients.dmi b/icons/mob/hair_gradients.dmi index 0f40b098e90b6972e90ab3af65d50bbd707a97d5..1a3c330355e440666270dbd378f7e459fbdc091a 100644 GIT binary patch literal 2078 zcma)7dpOgJ8~@H0LrkM)ZV`z@N0&m}9-ig->w`9eL7Lou6~w{O^=p?m{5sVgKu;4a8-kE zl~f-xIIJH?{@(N}zT~6B!t>-*yd!g&yc@%f=GcM5cwjY{yg=8)SJfy6|*FfCHB@6a^a19Lgbz8 zvKrH|D7`nt>28dsGmcw220wEEyh-o*NUDy0wl{X9XyU% z&K%WL^unY5*;Y+9q@cg&WMxFKuiO+%44x17(F@q}Sbr*dW02(JHTQwtlT4x2M6~8v zBCl)4VO2hjSH_I6x}!zLpVAm>SY+17TYo5hYh!31Vg?)(UA%rR9KVzPP)AC1!7Z+| zQ-an-B}g-5%jQ#0j`4`~`kuDhy<7{Cf4?pq%CTx|57rn-A0jMA#zpZKuYK`7yWcW- z%jQrMidx!fP&;nSrYlU6(Eqpo8`NnX+T?2+!gCdj{02Zyznj6p>S}n=LtM4fGAvJSJHgh-!0t3cAao4CcbFS!F<$D zlX@PnZ|5nA>0*95NqE2u^XKSoY92R=-NMy-N&T}U zx*%~{#p&)qUR}!8D(H>>TcDU;5pRA1!d)`o1>zXCu;ROfd=CXX5u@lKJ7@6`QHAt< zHTMJ4`bWdVB`w;)l44-o^n>a+`L(N0v`!-{Q(IZm!28iAQGCa0g#ZJZX0D9uj4jRY zC@*rqFr$;$#RNXb--gjbh~tXXS`(>?_!-cu@!z4I9a;CaP67Q$HrK$g%+W_-n2qpD zQ3S53jmpvTuD>fxtbzmOn?@DDmFl+grXUVM&Siqbg7l+?m8&Fc?^~YP?uRMZ<3H29 z+!H|M=>qAMp~t_4H;(W+(KIp)koD+I>{I!m-v?y6of(`#jL|%dfd2HzPbIW6gc69p=~C=6#W`V{a2H_} zzcz>wXOFM9>>yx{)Z(#a{<(q@d26xW(xD8ADpsI#O;%Q<4TmbJp#NF~1k>6jJeHK= zW3WQS(l46t8W_(tCy9TW@rjahEH}u(gmvUfVc;F%LUL1!NgS0IL&SgHP&7RyJ3GER zLtwl#Ggzrc~6XRYpGo3p$7aNtUagRG1tD$I3!4$i!YqIGN^3oQ{i zKV9-$O2L`!ah#$6@g&gS_Kc01;%yoTpBx1E_@5*;l1)+M{E(tNO;7y3^2#HcH ze{187$(R9pf5}b&RhV8k3IN!WDQ*+v6Du9xH zi!u?L$sMWY4D_ry9Igj^jBrSB(rV1HxDQF{e#_aDW&{(^&&-F`O>+o{WYIIvD(7JM!}l*8zWqg6i-3c-Y% ztY`#|@A;^vm~#TD!Q4w9$LzB@2dP_UPWp9MHLVJ?T=0%o<%9dHpLk_pn{s7$U)3~5 zj5wJK&QA*2xLI){4jJn_t7&w`D1R9f6>D-J*~oISPqV;9uF*Pk(+|?nki#oavW`9* zs5zetp~Fx$y>p;p<+RC595|4q6_BE+Un-WVmsW@`ab~aQK|*(|6CAu{NZXz^DO2~o f#KG4X(qwYoPpw279+Y~lKYYLq?d8;j!l(ZacJ$Xb literal 1066 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoldD1^N?cNllZ!G7N;32F7#J$% z^q$$v)odWq`q1)zs7#6e-@>y&A}1GopD<|&XNJk6Cg?I9?1_Mt}-cblz>Ub@h|w%yNdxw5xSSdrAVO)1eyZ-T|dg2?k__w}D_+1US7 zKkbrO{h_To!4J%{?KVdz`E8zUQeVC1Vz2Hk$BV*zn>;Rl+N{mbz`z{j>EaktG3V{v z*u2{Y0xj*6ikcYoZpF2^Kj*D#__x5;>3;G`{!4C$x6T#Gy%ad{C&OVOSFbB|PrCei zmTbB9VcN>AdZ%9VpX!$8o?yJv`h(2YYnP&S&s57=n|izF;Fg^APFKYk9&fW<{wwGS zQ`Xw=5zVGd7RmfR3$48M4$EC>jXV6U>zDCX>Fu?Ae||1~_t<|TH^T?P>IdA{6pnK6 zX|mQHXjXjN{OaDS!;8{7ESnmt*Zhsxz^2k9r);)dV#%ioqD@KZMqD^O zBh!AlZQb+7u{Q--=4`mHvf*9;%k*IH15QqNoZfEOI(OxpX$lNK9FMEN31WX^tR~<6 z*Wz4lU#(c|h5M%;AFya@@Nl$TA0PcNp}O8dUO;Z)9~s82JEtvTW0-$wr+Cb{bqPy0 zZThO5c7E+lp}+IjUA1m%5dL=Yh`GG^xyy51KV&?*IeETd;PwlZkE(-C-9W-v+=`~OO@GG*Z=?Q)pa@2#(Ur6qA9?@V(Q-U zROF=gHXXxPXG8uAtX?4eOYqd~8fME0mby;^&zH$Y6*m`15uAi52_f??+9pUHw+|0}p=HSdG9d z_{9G6@AHB6`}bd4wP#OygA`Wh{8WEf@^|^ai-)om|EkonFlH@bn$tvt