diff --git a/html/changelogs/AutoChangeLog-pr-14.yml b/html/changelogs/AutoChangeLog-pr-14.yml new file mode 100644 index 0000000000000..5c479fb5e2463 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14.yml @@ -0,0 +1,4 @@ +author: "MortoSasye" +delete-after: True +changes: + - rscadd: "Ports hairstyles and facial hair from nova." \ No newline at end of file diff --git a/modular_doppler/sprite_accessories/code/hair.dm b/modular_doppler/sprite_accessories/code/hair.dm new file mode 100644 index 0000000000000..b7bde06828dd9 --- /dev/null +++ b/modular_doppler/sprite_accessories/code/hair.dm @@ -0,0 +1,693 @@ +// Hairstyles + +/datum/sprite_accessory/hair/nova + icon = 'modular_doppler/sprite_accessories/icons/hair.dmi' + +/datum/sprite_accessory/hair/nova/pigtails4 + name = "Pigtails 4" + icon_state = "hair_pigtailss" + +/datum/sprite_accessory/hair/nova/bedhead_long + name = "Longer Bedhead" + icon_state = "hair_longer_bedhead" + +/datum/sprite_accessory/hair/nova/dave + name = "Dave" + icon_state = "hair_dave" + +/datum/sprite_accessory/hair/nova/shy + name = "Shy" + icon_state = "hair_shy" + +/datum/sprite_accessory/hair/nova/ponytailf + name = "Ponytail Feminine" + icon_state = "hair_ponytailf" + +/datum/sprite_accessory/hair/nova/ziegler + name = "Ziegler" + icon_state = "hair_ziegler" + +/datum/sprite_accessory/hair/nova/hightight + name = "Hightight" + icon_state = "hair_hightight" + +/datum/sprite_accessory/hair/nova/sergeant + name = "Sergeant" + icon_state = "hair_sergeant" + +/datum/sprite_accessory/hair/nova/grande + name = "Grande" + icon_state = "hair_grande" + +/datum/sprite_accessory/hair/nova/scully + name = "Scully" + icon_state = "hair_scully" + +/datum/sprite_accessory/hair/nova/beehive2 + name = "Beehive 2" + icon_state = "hair_beehive2" + +/datum/sprite_accessory/hair/nova/longeralt + name = "Longer ALT" + icon_state = "hair_longeralt" + +/datum/sprite_accessory/hair/nova/curly + name = "Curly" + icon_state = "hair_curly" + +/datum/sprite_accessory/hair/nova/victory + name = "Victory" + icon_state = "hair_victory" + +/datum/sprite_accessory/hair/nova/bobcutalt + name = "Bobcut ALT" + icon_state = "hair_bobcutalt" + +/datum/sprite_accessory/hair/nova/fingerwave + name = "Fingerwave" + icon_state = "hair_fingerwave" + +/datum/sprite_accessory/hair/nova/poofy2 + name = "Poofy 2" + icon_state = "hair_poofy2" + +/datum/sprite_accessory/hair/nova/bunhead3 + name = "Bunhead 3" + icon_state = "hair_bunhead3" + +/datum/sprite_accessory/hair/nova/rowbun + name = "Row Bun" + icon_state = "hair_rowbun" + +/datum/sprite_accessory/hair/nova/rowdualtail + name = "Row Dual Tail" + icon_state = "hair_rowdualtail" + +/datum/sprite_accessory/hair/nova/rowbraid + name = "Row Braid" + icon_state = "hair_rowbraid" + +/datum/sprite_accessory/hair/nova/ponytailalt + name = "Ponytail ALT" + icon_state = "hair_ponytailalt" + +/datum/sprite_accessory/hair/nova/halfbangalt + name = "Halfbang ALT" + icon_state = "hair_halfbangalt" + +/datum/sprite_accessory/hair/nova/emolong + name = "Emo Long" + icon_state = "hair_emolong" + +/datum/sprite_accessory/hair/nova/sleaze + name = "Sleaze" + icon_state = "hair_sleaze" + +/datum/sprite_accessory/hair/nova/straight + name = "Straight" + icon_state = "hair_straight" + +/datum/sprite_accessory/hair/nova/devillock + name = "Devillock" + icon_state = "hair_devillock" + +/datum/sprite_accessory/hair/nova/clean + name = "Clean" + icon_state = "hair_clean" + +/datum/sprite_accessory/hair/nova/shaggy + name = "Shaggy" + icon_state = "hair_shaggy" + +/datum/sprite_accessory/hair/nova/mohawkshort + name = "Mohawk Short" + icon_state = "hair_mohawkshort" + +/datum/sprite_accessory/hair/nova/volajupompless + name = "Volaju Pompless" + icon_state = "hair_volajupompless" + +/datum/sprite_accessory/hair/nova/bunhead4 + name = "Bun Head 4" + icon_state = "hair_bunhead4" + +/datum/sprite_accessory/hair/nova/rows1 + name = "Rows 1" + icon_state = "hair_rows1" + +/datum/sprite_accessory/hair/nova/rows2 + name = "Rows 2" + icon_state = "hair_rows2" + +/datum/sprite_accessory/hair/nova/toriyama + name = "Toriyama" + icon_state = "hair_toriyama" + +/datum/sprite_accessory/hair/nova/thefamilyman + name = "The Family Man" + icon_state = "hair_thefamilyman" + +/datum/sprite_accessory/hair/nova/drillhair + name = "Drill Hair" + icon_state = "hair_drillhair" + +/datum/sprite_accessory/hair/nova/veryshortovereye + name = "Very Short Over Eye" + icon_state = "hair_veryshortovereye" + +/datum/sprite_accessory/hair/nova/unkempt + name = "Unkempt" + icon_state = "hair_unkempt" + +/datum/sprite_accessory/hair/nova/wife + name = "Wife" + icon_state = "hair_wife" + +/datum/sprite_accessory/hair/nova/nia + name = "Nia" + icon_state = "hair_nia" + +/datum/sprite_accessory/hair/nova/shorthair4 + name = "Short Hair 4" + icon_state = "hair_shorthair4" + +/datum/sprite_accessory/hair/nova/shortovereyealt + name = "Short Over Eye ALT" + icon_state = "hair_shortovereyealt" + +/datum/sprite_accessory/hair/nova/twintail_floor + name = "Twintail Floor" + icon_state = "hair_twintail_floor" + +/datum/sprite_accessory/hair/nova/viper + name = "Viper" + icon_state = "hair_viper" + +/datum/sprite_accessory/hair/nova/long4 + name = "Long 4" + icon_state = "hair_long4" + +/datum/sprite_accessory/hair/nova/fluffy_short + name = "Fluffy Short" + icon_state = "hair_fluffy_short" + +/datum/sprite_accessory/hair/nova/simple_ponytail + name = "Simple Ponytail" + icon_state = "hair_simple_ponytail" + +/datum/sprite_accessory/hair/nova/simple_ponytail_alt + name = "Simple Ponytail Alt" + icon_state = "hair_simple_ponytail_alt" + +/datum/sprite_accessory/hair/nova/loose_slicked + name = "Loose Slicked" + icon_state = "hair_loose_slicked" + +/datum/sprite_accessory/hair/nova/diagonal_bangs + name = "Diagonal Bangs" + icon_state = "hair_diagonal_bangs" + +/datum/sprite_accessory/hair/nova/diagonal_bangs_alt + name = "Diagonal Bangs Alt" + icon_state = "hair_diagonal_bangs_alt" + +/datum/sprite_accessory/hair/nova/gloomy_medium + name = "Medium Gloomy Bangs" + icon_state = "hair_gloomy_medium" + +/datum/sprite_accessory/hair/nova/gloomy_long + name = "Long Gloomy Bangs" + icon_state = "hair_gloomy_long" + +/datum/sprite_accessory/hair/nova/gloomy_longer + name = "Very Long Gloomy Bangs" + icon_state = "hair_gloomy_longer" + +/datum/sprite_accessory/hair/nova/halfshave + name = "Half-shaved 2" + icon_state = "hair_halfshave" + +/datum/sprite_accessory/hair/nova/halfshave_snout + name = "Half-shaved 2 (clipped)" + icon_state = "hair_halfshave_snout" + +/datum/sprite_accessory/hair/nova/manbun + name = "Manbun" + icon_state = "hair_manbun" + +/datum/sprite_accessory/hair/nova/baum + name = "Baum" + icon_state = "hair_baum" + +/datum/sprite_accessory/hair/nova/bluntbangs + name = "Blunt Bangs" + icon_state = "hair_bluntbangs" + +/datum/sprite_accessory/hair/nova/bluntbangs_alt + name = "Blunt Bangs Alt" + icon_state = "hair_bluntbangs_alt" + +/datum/sprite_accessory/hair/nova/slightlymessy + name = "Slightly Messy" + icon_state = "hair_slightlymessy" + +/datum/sprite_accessory/hair/nova/longsidepartstraight + name = "Long Sideparted" + icon_state = "hair_longsidepartstraight" + +/datum/sprite_accessory/hair/nova/amazon + name = "Amazon" + icon_state = "hair_amazon" + +/datum/sprite_accessory/hair/nova/halfshaved + name = "Half-shaved Long" + icon_state = "hair_halfshaved" + +/datum/sprite_accessory/hair/nova/fortuneteller + name = "Fortune Teller" + icon_state = "hair_fortuneteller" + +/datum/sprite_accessory/hair/nova/fortuneteller_alt + name = "Fortune Teller Alt" + icon_state = "hair_fortuneteller_alt" + +/datum/sprite_accessory/hair/nova/combed + name = "Combed" + icon_state = "hair_combed" + +/datum/sprite_accessory/hair/nova/combedbob + name = "Combed Bob" + icon_state = "hair_combedbob" + +/datum/sprite_accessory/hair/nova/geisha + name = "Geisha" + icon_state = "hair_geisha" + +/datum/sprite_accessory/hair/nova/cotton + name = "Cotton" + icon_state = "hair_cotton" + +/datum/sprite_accessory/hair/nova/cottonalt + name = "Cotton (Alt)" + icon_state = "hair_cottonalt" + +/datum/sprite_accessory/hair/nova/african_pigtails + name = "African Pigtails" + icon_state = "hair_africanpigtails" + +/datum/sprite_accessory/hair/nova/froofylong + name = "Froofy Long" + icon_state = "hair_froofylong" + +/datum/sprite_accessory/hair/nova/glammetal + name = "Glam Metal" + icon_state = "hair_glammetal" + +/datum/sprite_accessory/hair/nova/astolfo + name = "Astolfo" + icon_state = "hair_astolfo" + +/datum/sprite_accessory/hair/nova/afropuffdouble + name = "Afropuff, Double" + icon_state = "hair_afropuffdouble" + +/datum/sprite_accessory/hair/nova/afropuffleft + name = "Afropuff, Left" + icon_state = "hair_afropuffleft" + +/datum/sprite_accessory/hair/nova/afropuffright + name = "Afropuff, Right" + icon_state = "hair_afropuffright" + +/datum/sprite_accessory/hair/nova/longdtails + name = "Big Tails" + icon_state = "hair_longdtails" + +/datum/sprite_accessory/hair/nova/quadcurls + name = "Quad Curls" + icon_state = "hair_quadcurls" + +/datum/sprite_accessory/hair/nova/slime_tendrils + name = "Slime Tendrils" + icon_state = "hair_slimetendrils" + +/datum/sprite_accessory/hair/nova/slime_tendrils_alt + name = "Slime Tendrils Alt" + icon_state = "hair_slimetendrils_alt" + +/datum/sprite_accessory/hair/nova/slime_spikes + name = "Slime Spikes" + icon_state = "hair_slimespikes" + +/datum/sprite_accessory/hair/nova/slime_droplet + name = "Slime Droplet" + icon_state = "hair_slimedroplet" + +/datum/sprite_accessory/hair/nova/slime_droplet_alt + name = "Slime Droplet Alt" + icon_state = "hair_slimedroplet_alt" + +/datum/sprite_accessory/hair/nova/newyou + name = "New You" + icon_state = "hair_newyou" + +/datum/sprite_accessory/hair/nova/spicy + name = "Spicy" + icon_state = "hair_spicy" + +/datum/sprite_accessory/hair/nova/sabitsuki + name = "Sabitsuki" + icon_state = "hair_sabitsuki" + +/datum/sprite_accessory/hair/nova/jessica + name = "Jessica" + icon_state = "hair_jessica" + +/datum/sprite_accessory/hair/nova/gentle21 + name = "Gently Brushed" + icon_state = "hair_gentle21" + +/datum/sprite_accessory/hair/nova/country_s + name = "Country Side-Braid" + icon_state = "hair_country_s" + +/datum/sprite_accessory/hair/nova/beachwave + name = "Beachwave" + icon_state = "hair_beachwave" + +/datum/sprite_accessory/hair/nova/hyenamane + name = "Hyena mane" + icon_state = "hair_hyenamane" + +/datum/sprite_accessory/hair/nova/halfshavedlong + name = "Half-shaved long" + icon_state = "halfshave_long" + +/datum/sprite_accessory/hair/nova/halfshavedmessy + name = "Half-shaved messy" + icon_state = "halfshave_messy" + +/datum/sprite_accessory/hair/nova/halfshavedmessylong + name = "Half-shave long messy" + icon_state = "halfshave_messylong" + +/datum/sprite_accessory/hair/nova/halfshavedglamorous + name = "Half-shave glamorous" + icon_state = "halfshave_glamorous" + +/datum/sprite_accessory/hair/nova/emoshort + name = "Emo Short" + icon_state = "hair_emoshort" + +/datum/sprite_accessory/hair/nova/mediumbraid + name = "Medium Braid" + icon_state = "hair_mediumbraid" + +/datum/sprite_accessory/hair/nova/long_over_eye_alt + name = "Long Over Eye Alt" + icon_state = "hair_longovereye_alt" + +/datum/sprite_accessory/hair/nova/gentle_bun + name = "Gentle Bun" + icon_state = "hair_gentle_bun" + +/datum/sprite_accessory/hair/nova/stacy + name = "Stacy" + icon_state = "hair_stacy" + +/datum/sprite_accessory/hair/nova/stacy_bun + name = "Stacy Bun" + icon_state = "hair_stacy_bun" + +/datum/sprite_accessory/hair/nova/curly_front + name = "Curly Front" + icon_state = "hair_braided_front" + +/datum/sprite_accessory/hair/nova/phoenix + name = "Phoenix" + icon_state = "hair_phoenix" + +/datum/sprite_accessory/hair/nova/spiky4 + name = "Spiky 4" + icon_state = "hair_spikey" + +/datum/sprite_accessory/hair/nova/short_tassles + name = "Short Tassles" + icon_state = "hair_short_tassles" + +/datum/sprite_accessory/hair/nova/tri_bun + name = "Tri Bun" + icon_state = "hair_tri_bun" + +/datum/sprite_accessory/hair/nova/ring_tails + name = "Ring Tails" + icon_state = "hair_ring_tails" + +/datum/sprite_accessory/hair/nova/holo_tuber + name = "Holo Tuber" + icon_state = "hair_holo_tuber" + +/datum/sprite_accessory/hair/nova/spikey_long + name = "Spikey Long" + icon_state = "hair_spikey_long" + +/datum/sprite_accessory/hair/nova/violet + name = "Violet" + icon_state = "hair_violet" + +/datum/sprite_accessory/hair/nova/violet_ponytail + name = "Violet Ponytail" + icon_state = "hair_violet_ponytail" + +/datum/sprite_accessory/hair/nova/gentle_duo_bun + name = "Gentle Duo Bun" + icon_state = "hair_gentle_duo_bun" + +/datum/sprite_accessory/hair/nova/phoenix_half_shaven + name = "Phoenix Half-Shaven" + icon_state = "hair_phoenix_half_shaven" + +/datum/sprite_accessory/hair/nova/jay + name = "Jay" + icon_state = "hair_jay" + +/datum/sprite_accessory/hair/nova/zoey + name = "Zoey" + icon_state = "hair_zoey" + +/datum/sprite_accessory/hair/nova/runner + name = "Runner" + icon_state = "hair_runner" + +/datum/sprite_accessory/hair/nova/runner_bun + name = "Runner Bun" + icon_state = "hair_runner_bun" + +/datum/sprite_accessory/hair/nova/tri_bun_long + name = "Tri Bun Long" + icon_state = "hair_tri_bun_long" + +/datum/sprite_accessory/hair/nova/hairfre // Original sprite from Hyper-Station-13 + name = "Hairfre" + icon_state = "hair_hairfre" + +/datum/sprite_accessory/hair/nova/bobcut_over_eye_1 + name = "Bobcut over eye 1" + icon_state = "hair_bobcut_over_eye_1" + +/datum/sprite_accessory/hair/nova/bobcut_over_eye_2 + name = "Bobcut over eye 2" + icon_state = "hair_bobcut_over_eye_2" + +/datum/sprite_accessory/hair/nova/bobcut_over_eye_3 + name = "Bobcut over eye 3" + icon_state = "hair_bobcut_over_eye_3" + +/datum/sprite_accessory/hair/nova/bonnie + name = "Bonnie" + icon_state = "hair_bonnie" + +/datum/sprite_accessory/hair/nova/bonnie_short + name = "Bonnie short" + icon_state = "hair_bonnie_short" + +/datum/sprite_accessory/hair/nova/bonnie_long + name = "Bonnie long" + icon_state = "hair_bonnie_long" + +/datum/sprite_accessory/hair/nova/bonnie_2 + name = "Bonnie 2" + icon_state = "hair_bonnie_2" + +/datum/sprite_accessory/hair/nova/bonnie_2_long + name = "Bonnie long 2" + icon_state = "hair_bonnie_2_long" + +/datum/sprite_accessory/hair/nova/bonnie_2_short + name = "Bonnie short 2" + icon_state = "hair_bonnie_2_short" + +/datum/sprite_accessory/hair/nova/dawn + name = "Dawn" + icon_state = "hair_dawn" + +/datum/sprite_accessory/hair/nova/fluffy + name = "Fluffy" + icon_state = "hair_fluffy" + +/datum/sprite_accessory/hair/nova/fluffy_bangs + name = "Fluffy Bangs" + icon_state = "hair_fluffy_bangs" + +/datum/sprite_accessory/hair/nova/fluffy_long + name = "Fluffy long" + icon_state = "hair_fluffy_long" + +/datum/sprite_accessory/hair/nova/kajam + name = "Kajam" + icon_state = "hair_kajam" + +/datum/sprite_accessory/hair/nova/khmuro + name = "Khmuro" + icon_state = "hair_khmuro" + +/datum/sprite_accessory/hair/nova/kobeni_1 + name = "Kobeni 1" + icon_state = "hair_kobeni_1" + +/datum/sprite_accessory/hair/nova/kobeni_2 + name = "Kobeni 2" + icon_state = "hair_kobeni_2" + +/datum/sprite_accessory/hair/nova/low_bun + name = "Low bun" + icon_state = "hair_low_bun" + +/datum/sprite_accessory/hair/nova/low_ponytail + name = "Low ponytail" + icon_state = "hair_low_ponytail" + +/datum/sprite_accessory/hair/nova/sideways_ponytail + name = "Sideways ponytail" + icon_state = "hair_sideways_ponytail" + +/datum/sprite_accessory/hair/nova/morning + name = "Morning" + icon_state = "hair_morning" + +/datum/sprite_accessory/hair/nova/over_ear_1 + name = "Over ear 1" + icon_state = "hair_over_ear_1" + +/datum/sprite_accessory/hair/nova/over_ear_2 + name = "Over ear 2" + icon_state = "hair_over_ear_2" + +/datum/sprite_accessory/hair/nova/over_eye + name = "Over eye" + icon_state = "hair_over_eye" + +/datum/sprite_accessory/hair/nova/ponytail + name = "Fluffy ponytail" + icon_state = "hair_ponytail" + +/datum/sprite_accessory/hair/nova/ponytail_short + name = "Short fluffy ponytail" + icon_state = "hair_ponytail_short" + +/datum/sprite_accessory/hair/nova/simple + name = "Simple" + icon_state = "hair_simple" + +/datum/sprite_accessory/hair/nova/simple_long + name = "Simple long" + icon_state = "hair_simple_long" + +/datum/sprite_accessory/hair/nova/simple_short + name = "Simple short" + icon_state = "hair_simple_short" + +/datum/sprite_accessory/hair/nova/strict + name = "Strict" + icon_state = "hair_strict" + +/datum/sprite_accessory/hair/nova/strict_long + name = "Strict long" + icon_state = "hair_strict_long" + +/datum/sprite_accessory/hair/nova/strict_short + name = "Strict short" + icon_state = "hair_strict_short" + +/datum/sprite_accessory/hair/nova/thin_ponytail + name = "Thin ponytail" + icon_state = "hair_thin_ponytail" + +/datum/sprite_accessory/hair/nova/thin_ponytail_long + name = "Long thin ponytail" + icon_state = "hair_thin_ponytail_long" + +/datum/sprite_accessory/hair/nova/twintails_2 + name = "Twintails 2" + icon_state = "hair_twintails_2" + +/datum/sprite_accessory/hair/nova/twintails_2_long + name = "Long twintails" + icon_state = "hair_twintails_2_long" + +/datum/sprite_accessory/hair/nova/twintails_2_short + name = "Short twintails" + icon_state = "hair_twintails_2_short" + +/datum/sprite_accessory/hair/nova/upwards + name = "Upwards" + icon_state = "hair_upwards" + +/datum/sprite_accessory/hair/nova/mcsqueeb + name = "McSqueeb" + icon_state = "hair_mcsqueeb" + +/datum/sprite_accessory/hair/nova/dreadlocks_long + name = "Long Dreadlocks" + icon_state = "hair_dreadlocks_long" + +// Facial hair + +/datum/sprite_accessory/facial_hair/nova + icon = 'modular_doppler/sprite_accessories/icons/facialhair.dmi' + +/datum/sprite_accessory/facial_hair/nova/sideburns + name = "Sideburns" + icon_state = "facial_sideburns" + +/datum/sprite_accessory/facial_hair/nova/goatee + name = "Goatee" + icon_state = "facial_goatee" + +/datum/sprite_accessory/facial_hair/nova/fiveoclock + name = "Beard (Five o Clock)" + icon_state = "facial_5oclock" + +/datum/sprite_accessory/facial_hair/nova/hornadorns + name = "Hornadorns" + icon_state = "facial_hornadorns" + +/datum/sprite_accessory/facial_hair/nova/chinhorns + name = "Chin Horns" + icon_state = "facial_chinhorns" + +/datum/sprite_accessory/facial_hair/nova/tribeard + name = "Tri-beard" + icon_state = "facial_tribeard" + +/datum/sprite_accessory/facial_hair/nova/neckfluff + name = "Neckfluff" + icon_state = "facial_neckfluff" + +/datum/sprite_accessory/facial_hair/nova/squid + name = "Tentacle Beard" + icon_state = "facial_squid" + +/datum/sprite_accessory/facial_hair/nova/selleckreceeded + name = "Moustache (Selleck - Alt)" + icon_state = "facial_selleckreceeded" diff --git a/modular_doppler/sprite_accessories/icons/facialhair.dmi b/modular_doppler/sprite_accessories/icons/facialhair.dmi new file mode 100644 index 0000000000000..a078a635c19eb Binary files /dev/null and b/modular_doppler/sprite_accessories/icons/facialhair.dmi differ diff --git a/modular_doppler/sprite_accessories/icons/hair.dmi b/modular_doppler/sprite_accessories/icons/hair.dmi new file mode 100644 index 0000000000000..585bce3f3b81c Binary files /dev/null and b/modular_doppler/sprite_accessories/icons/hair.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 5383d97aa3e24..50d463d3054ed 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6369,6 +6369,7 @@ #include "modular_doppler\modular_food_drinks_and_chems\food_and_drinks\drink_reagents.dm" #include "modular_doppler\modular_food_drinks_and_chems\food_and_drinks\drinks.dm" #include "modular_doppler\modular_food_drinks_and_chems\food_and_drinks\drinks_recipes.dm" +#include "modular_doppler\sprite_accessories\code\hair.dm" #include "modular_doppler\tableflip\tableflip.dm" #include "modular_doppler\vending_machines\code\vendor_containers.dm" #include "modular_doppler\vending_machines\code\vendor_food.dm"