From 973f183e37cae3ac81711f94ea7c20fc06f2739c Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 28 Feb 2021 16:16:11 -0500 Subject: [PATCH] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --- code/_helpers/global_lists_vr.dm | 36 +- code/_macros_vr.dm | 2 - .../items/weapons/material/twohanded_vr.dm | 9 + .../preference_setup/general/03_body.dm | 90 ++++- .../loadout/loadout_fluffitems_vr.dm | 2 +- .../client/preference_setup/vore/01_ears.dm | 370 ------------------ code/modules/clothing/clothing_vr.dm | 37 -- .../mob/living/carbon/human/emote_vr.dm | 28 +- .../mob/living/carbon/human/human_defines.dm | 9 + .../living/carbon/human/species/species_vr.dm | 20 - .../mob/living/carbon/human/update_icons.dm | 162 ++------ code/modules/mob/living/living_vr.dm | 17 - code/modules/mob/mob_defines_vr.dm | 1 - .../mob/new_player/preferences_setup_vr.dm | 13 - .../mob/new_player/sprite_accessories_ear.dm | 1 + .../mob/new_player/sprite_accessories_tail.dm | 2 + .../mob/new_player/sprite_accessories_wing.dm | 2 + code/modules/organs/organ_external_vr.dm | 7 - code/modules/organs/robolimbs_vr.dm | 5 - code/modules/organs/subtypes/standard_vr.dm | 50 --- .../modules/vore/appearance/preferences_vr.dm | 33 -- .../appearance/sprite_accessories_taur_vr.dm | 121 +----- .../vore/appearance/sprite_accessories_vr.dm | 25 -- .../vore/appearance/update_icons_vr.dm | 118 ------ code/modules/vore/eating/living_vr.dm | 1 - .../vore/fluffstuff/custom_items_vr.dm | 17 - vorestation.dme | 5 +- 27 files changed, 146 insertions(+), 1037 deletions(-) create mode 100644 code/game/objects/items/weapons/material/twohanded_vr.dm diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index d45406225c1..71148ea67c2 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -2,10 +2,7 @@ * VOREStation global lists */ -var/global/list/ear_styles_list = list() // Stores /datum/sprite_accessory/ears indexed by type var/global/list/hair_accesories_list= list()// Stores /datum/sprite_accessory/hair_accessory indexed by type -var/global/list/tail_styles_list = list() // Stores /datum/sprite_accessory/tail indexed by type -var/global/list/wing_styles_list = list() // Stores /datum/sprite_accessory/wing indexed by type var/global/list/negative_traits = list() // Negative custom species traits, indexed by path var/global/list/neutral_traits = list() // Neutral custom species traits, indexed by path var/global/list/everyone_traits = list() // Neutral traits available to all species, indexed by path @@ -16,8 +13,6 @@ var/global/list/active_ghost_pods = list() var/global/list/sensorpreflist = list("Off", "Binary", "Vitals", "Tracking", "No Preference") //TFF 5/8/19 - Suit Sensors global list -var/global/list/custom_species_bases = list() // Species that can be used for a Custom Species icon base - //stores numeric player size options indexed by name var/global/list/player_sizes_list = list( "Macro" = RESIZE_HUGE, @@ -481,24 +476,6 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN, /hook/startup/proc/init_vore_datum_ref_lists() var/paths - // Custom Ears - paths = typesof(/datum/sprite_accessory/ears) - /datum/sprite_accessory/ears - for(var/path in paths) - var/obj/item/clothing/head/instance = new path() - ear_styles_list[path] = instance - - // Custom Tails - paths = typesof(/datum/sprite_accessory/tail) - /datum/sprite_accessory/tail - /datum/sprite_accessory/tail/taur - for(var/path in paths) - var/datum/sprite_accessory/tail/instance = new path() - tail_styles_list[path] = instance - - // Custom Wings - paths = typesof(/datum/sprite_accessory/wing) - /datum/sprite_accessory/wing - for(var/path in paths) - var/datum/sprite_accessory/wing/instance = new path() - wing_styles_list[path] = instance - // Custom Hair Accessories paths = typesof(/datum/sprite_accessory/hair_accessory) - /datum/sprite_accessory/hair_accessory for(var/path in paths) @@ -525,17 +502,8 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN, positive_traits[path] = instance // Custom species icon bases - var/list/blacklisted_icons = list(SPECIES_CUSTOM,SPECIES_PROMETHEAN) //Just ones that won't work well. - var/list/whitelisted_icons = list(SPECIES_FENNEC,SPECIES_XENOHYBRID) //Include these anyway - for(var/species_name in GLOB.playable_species) - if(species_name in blacklisted_icons) - continue - var/datum/species/S = GLOB.all_species[species_name] - if(S.spawn_flags & SPECIES_IS_WHITELISTED) - continue - custom_species_bases += species_name - for(var/species_name in whitelisted_icons) - custom_species_bases += species_name + blacklisted_icons = list(SPECIES_CUSTOM,SPECIES_PROMETHEAN) //Just ones that won't work well. + whitelisted_icons = list(SPECIES_FENNEC,SPECIES_XENOHYBRID) //Include these anyway // Weaver recipe stuff paths = typesof(/datum/weaver_recipe/structure) - /datum/weaver_recipe/structure diff --git a/code/_macros_vr.dm b/code/_macros_vr.dm index 6a2134fb718..2eecbe69ed1 100644 --- a/code/_macros_vr.dm +++ b/code/_macros_vr.dm @@ -1,3 +1 @@ #define isbelly(A) istype(A, /obj/belly) -#define isitem(A) istype(A, /obj/item) -#define isTaurTail(A) istype(A, /datum/sprite_accessory/tail/taur) diff --git a/code/game/objects/items/weapons/material/twohanded_vr.dm b/code/game/objects/items/weapons/material/twohanded_vr.dm new file mode 100644 index 00000000000..f21738dd802 --- /dev/null +++ b/code/game/objects/items/weapons/material/twohanded_vr.dm @@ -0,0 +1,9 @@ +//1R1S: Malady Blanche +/obj/item/weapon/material/twohanded/riding_crop/malady + name = "Malady's riding crop" + icon = 'icons/vore/custom_items_vr.dmi' + item_icons = list( + slot_l_hand_str = 'icons/vore/custom_items_left_hand_vr.dmi', + slot_r_hand_str = 'icons/vore/custom_items_right_hand_vr.dmi', + ) + desc = "An infernum made riding crop with Malady Blanche engraved in the shaft. It's a little worn from how many butts it has spanked." diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 376b7331cfb..c4d1499fc37 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -13,6 +13,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/r_ears2 = 30 // Ear extra color. var/g_ears2 = 30 // Ear extra color var/b_ears2 = 30 // Ear extra color + var/r_ears3 = 30 // Ear tertiary color. + var/g_ears3 = 30 // Ear tertiary color + var/b_ears3 = 30 // Ear tertiary color var/tail_style // Type of selected tail style var/r_tail = 30 // Tail/Taur color var/g_tail = 30 // Tail/Taur color @@ -20,6 +23,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/r_tail2 = 30 // For extra overlay. var/g_tail2 = 30 // For extra overlay. var/b_tail2 = 30 // For extra overlay. + var/r_tail3 = 30 // For tertiary overlay. + var/g_tail3 = 30 // For tertiary overlay. + var/b_tail3 = 30 // For tertiary overlay. var/wing_style // Type of selected wing style var/r_wing = 30 // Wing color var/g_wing = 30 // Wing color @@ -27,6 +33,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/r_wing2 = 30 // Wing extra color var/g_wing2 = 30 // Wing extra color var/b_wing2 = 30 // Wing extra color + var/r_wing3 = 30 // Wing tertiary color + var/g_wing3 = 30 // Wing tertiary color + var/b_wing3 = 30 // Wing tertiary color /datum/category_item/player_setup_item/general/body name = "Body" @@ -72,6 +81,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O S["r_ears2"] >> pref.r_ears2 S["g_ears2"] >> pref.g_ears2 S["b_ears2"] >> pref.b_ears2 + S["r_ears3"] >> pref.r_ears3 + S["g_ears3"] >> pref.g_ears3 + S["b_ears3"] >> pref.b_ears3 S["tail_style"] >> pref.tail_style S["r_tail"] >> pref.r_tail S["g_tail"] >> pref.g_tail @@ -79,6 +91,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O S["r_tail2"] >> pref.r_tail2 S["g_tail2"] >> pref.g_tail2 S["b_tail2"] >> pref.b_tail2 + S["r_tail3"] >> pref.r_tail3 + S["g_tail3"] >> pref.g_tail3 + S["b_tail3"] >> pref.b_tail3 S["wing_style"] >> pref.wing_style S["r_wing"] >> pref.r_wing S["g_wing"] >> pref.g_wing @@ -86,6 +101,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O S["r_wing2"] >> pref.r_wing2 S["g_wing2"] >> pref.g_wing2 S["b_wing2"] >> pref.b_wing2 + S["r_wing3"] >> pref.r_wing3 + S["g_wing3"] >> pref.g_wing3 + S["b_wing3"] >> pref.b_wing3 /datum/category_item/player_setup_item/general/body/save_character(var/savefile/S) S["species"] << pref.species @@ -127,6 +145,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O S["r_ears2"] << pref.r_ears2 S["g_ears2"] << pref.g_ears2 S["b_ears2"] << pref.b_ears2 + S["r_ears3"] << pref.r_ears3 + S["g_ears3"] << pref.g_ears3 + S["b_ears3"] << pref.b_ears3 S["tail_style"] << pref.tail_style S["r_tail"] << pref.r_tail S["g_tail"] << pref.g_tail @@ -134,6 +155,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O S["r_tail2"] << pref.r_tail2 S["g_tail2"] << pref.g_tail2 S["b_tail2"] << pref.b_tail2 + S["r_tail3"] << pref.r_tail3 + S["g_tail3"] << pref.g_tail3 + S["b_tail3"] << pref.b_tail3 S["wing_style"] << pref.wing_style S["r_wing"] << pref.r_wing S["g_wing"] << pref.g_wing @@ -141,6 +165,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O S["r_wing2"] << pref.r_wing2 S["g_wing2"] << pref.g_wing2 S["b_wing2"] << pref.b_wing2 + S["r_wing3"] << pref.r_wing3 + S["g_wing3"] << pref.g_wing3 + S["b_wing3"] << pref.b_wing3 /datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S) if(!pref.species || !(pref.species in GLOB.playable_species)) @@ -180,18 +207,27 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.r_ears2 = sanitize_integer(pref.r_ears2, 0, 255, initial(pref.r_ears2)) pref.g_ears2 = sanitize_integer(pref.g_ears2, 0, 255, initial(pref.g_ears2)) pref.b_ears2 = sanitize_integer(pref.b_ears2, 0, 255, initial(pref.b_ears2)) + pref.r_ears3 = sanitize_integer(pref.r_ears3, 0, 255, initial(pref.r_ears3)) + pref.g_ears3 = sanitize_integer(pref.g_ears3, 0, 255, initial(pref.g_ears3)) + pref.b_ears3 = sanitize_integer(pref.b_ears3, 0, 255, initial(pref.b_ears3)) pref.r_tail = sanitize_integer(pref.r_tail, 0, 255, initial(pref.r_tail)) pref.g_tail = sanitize_integer(pref.g_tail, 0, 255, initial(pref.g_tail)) pref.b_tail = sanitize_integer(pref.b_tail, 0, 255, initial(pref.b_tail)) pref.r_tail2 = sanitize_integer(pref.r_tail2, 0, 255, initial(pref.r_tail2)) pref.g_tail2 = sanitize_integer(pref.g_tail2, 0, 255, initial(pref.g_tail2)) pref.b_tail2 = sanitize_integer(pref.b_tail2, 0, 255, initial(pref.b_tail2)) + pref.r_tail3 = sanitize_integer(pref.r_tail3, 0, 255, initial(pref.r_tail3)) + pref.g_tail3 = sanitize_integer(pref.g_tail3, 0, 255, initial(pref.g_tail3)) + pref.b_tail3 = sanitize_integer(pref.b_tail3, 0, 255, initial(pref.b_tail3)) pref.r_wing = sanitize_integer(pref.r_wing, 0, 255, initial(pref.r_wing)) pref.g_wing = sanitize_integer(pref.g_wing, 0, 255, initial(pref.g_wing)) pref.b_wing = sanitize_integer(pref.b_wing, 0, 255, initial(pref.b_wing)) pref.r_wing2 = sanitize_integer(pref.r_wing2, 0, 255, initial(pref.r_wing2)) pref.g_wing2 = sanitize_integer(pref.g_wing2, 0, 255, initial(pref.g_wing2)) pref.b_wing2 = sanitize_integer(pref.b_wing2, 0, 255, initial(pref.b_wing2)) + pref.r_wing3 = sanitize_integer(pref.r_wing3, 0, 255, initial(pref.r_wing3)) + pref.g_wing3 = sanitize_integer(pref.g_wing3, 0, 255, initial(pref.g_wing3)) + pref.b_wing3 = sanitize_integer(pref.b_wing3, 0, 255, initial(pref.b_wing3)) if(pref.ear_style) pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style)) var/datum/sprite_accessory/temp_ear_style = ear_styles_list[pref.ear_style] @@ -245,6 +281,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O character.r_ears2 = pref.r_ears2 character.b_ears2 = pref.b_ears2 character.g_ears2 = pref.g_ears2 + character.r_ears3 = pref.r_ears3 + character.b_ears3 = pref.b_ears3 + character.g_ears3 = pref.g_ears3 character.tail_style = tail_styles_list[pref.tail_style] character.r_tail = pref.r_tail character.b_tail = pref.b_tail @@ -252,6 +291,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O character.r_tail2 = pref.r_tail2 character.b_tail2 = pref.b_tail2 character.g_tail2 = pref.g_tail2 + character.r_tail3 = pref.r_tail3 + character.b_tail3 = pref.b_tail3 + character.g_tail3 = pref.g_tail3 character.wing_style = wing_styles_list[pref.wing_style] character.r_wing = pref.r_wing character.b_wing = pref.b_wing @@ -259,6 +301,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O character.r_wing2 = pref.r_wing2 character.b_wing2 = pref.b_wing2 character.g_wing2 = pref.g_wing2 + character.r_wing3 = pref.r_wing3 + character.b_wing3 = pref.b_wing3 + character.g_wing3 = pref.g_wing3 character.set_gender( pref.biological_gender) // Destroy/cyborgize organs and limbs. @@ -485,10 +530,12 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O . += " Style: [ear_display]
" if(ear_styles_list[pref.ear_style]) var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style] - if (ear.do_colouration) + if(ear.do_colouration) . += "Change Color [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]
" - if (ear.extra_overlay) + if(ear.extra_overlay) . += "Change Secondary Color [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]
" + if(ear.extra_overlay2) + . += "Change Tertiary Color [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]
" var/tail_display = "Normal" if(pref.tail_style && (pref.tail_style in tail_styles_list)) @@ -501,10 +548,12 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O if(tail_styles_list[pref.tail_style]) var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style] - if (T.do_colouration) + if(T.do_colouration) . += "Change Color [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]
" - if (T.extra_overlay) + if(T.extra_overlay) . += "Change Secondary Color [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]
" + if(T.extra_overlay2) + . += "Change Tertiary Color [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]
" var/wing_display = "Normal" if(pref.wing_style && (pref.wing_style in wing_styles_list)) @@ -517,10 +566,12 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O if(wing_styles_list[pref.wing_style]) var/datum/sprite_accessory/wing/W = wing_styles_list[pref.wing_style] - if (W.do_colouration) + if(W.do_colouration) . += "Change Color [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]
" - if (W.extra_overlay) + if(W.extra_overlay) . += "Change Secondary Color [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]
" + if(W.extra_overlay2) + . += "Change Secondary Color [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]
" . += "
Body Markings +
" . += "" @@ -1063,6 +1114,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.b_ears2 = hex2num(copytext(new_earc2, 6, 8)) return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["ear_color3"]) + var/new_earc3 = input(user, "Choose your character's tertiary ear colour:", "Character Preference", + rgb(pref.r_ears3, pref.g_ears3, pref.b_ears3)) as color|null + if(new_earc3) + pref.r_ears3 = hex2num(copytext(new_earc3, 2, 4)) + pref.g_ears3 = hex2num(copytext(new_earc3, 4, 6)) + pref.b_ears3 = hex2num(copytext(new_earc3, 6, 8)) + return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["tail_style"]) // Construct the list of names allowed for this user. var/list/pretty_tail_styles = list("Normal" = null) @@ -1096,6 +1156,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.b_tail2 = hex2num(copytext(new_tailc2, 6, 8)) return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["tail_color3"]) + var/new_tailc3 = input(user, "Choose your character's tertiary tail/taur colour:", "Character Preference", + rgb(pref.r_tail3, pref.g_tail3, pref.b_tail3)) as color|null + if(new_tailc3) + pref.r_tail3 = hex2num(copytext(new_tailc3, 2, 4)) + pref.g_tail3 = hex2num(copytext(new_tailc3, 4, 6)) + pref.b_tail3 = hex2num(copytext(new_tailc3, 6, 8)) + return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["wing_style"]) // Construct the list of names allowed for this user. var/list/pretty_wing_styles = list("Normal" = null) @@ -1129,6 +1198,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.b_wing2 = hex2num(copytext(new_wingc2, 6, 8)) return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["wing_color3"]) + var/new_wingc3 = input(user, "Choose your character's tertiary wing colour:", "Character Preference", + rgb(pref.r_wing3, pref.g_wing3, pref.b_wing3)) as color|null + if(new_wingc3) + pref.r_wing3 = hex2num(copytext(new_wingc3, 2, 4)) + pref.g_wing3 = hex2num(copytext(new_wingc3, 4, 6)) + pref.b_wing3 = hex2num(copytext(new_wingc3, 6, 8)) + return TOPIC_REFRESH_UPDATE_PREVIEW + return ..() /datum/category_item/player_setup_item/general/body/proc/reset_limbs() diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index 136c6194aca..21abba41f20 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -29,7 +29,7 @@ // 0-9 CKEYS /datum/gear/fluff/malady_crop - path = /obj/item/weapon/material/twohanded/fluff/riding_crop/malady + path = /obj/item/weapon/material/twohanded/riding_crop/malady display_name = "Malady's Crop" ckeywhitelist = list("1r1s") character_name = list("Malady Blanche") diff --git a/code/modules/client/preference_setup/vore/01_ears.dm b/code/modules/client/preference_setup/vore/01_ears.dm index dea5be0479b..c9998dece0a 100644 --- a/code/modules/client/preference_setup/vore/01_ears.dm +++ b/code/modules/client/preference_setup/vore/01_ears.dm @@ -3,373 +3,3 @@ name = "VORE" sort_order = 8 category_item_type = /datum/category_item/player_setup_item/vore - -// Define a place to save appearance in character setup -/datum/preferences - var/ear_style // Type of selected ear style - var/r_ears = 30 // Ear color. - var/g_ears = 30 // Ear color - var/b_ears = 30 // Ear color - var/r_ears2 = 30 // Ear extra color. - var/g_ears2 = 30 // Ear extra color - var/b_ears2 = 30 // Ear extra color - var/r_ears3 = 30 // Ear tertiary color. - var/g_ears3 = 30 // Ear tertiary color - var/b_ears3 = 30 // Ear tertiary color - var/tail_style // Type of selected tail style - var/r_tail = 30 // Tail/Taur color - var/g_tail = 30 // Tail/Taur color - var/b_tail = 30 // Tail/Taur color - var/r_tail2 = 30 // For extra overlay. - var/g_tail2 = 30 // For extra overlay. - var/b_tail2 = 30 // For extra overlay. - var/r_tail3 = 30 // For tertiary overlay. - var/g_tail3 = 30 // For tertiary overlay. - var/b_tail3 = 30 // For tertiary overlay. - var/wing_style // Type of selected wing style - var/r_wing = 30 // Wing color - var/g_wing = 30 // Wing color - var/b_wing = 30 // Wing color - var/r_wing2 = 30 // Wing extra color - var/g_wing2 = 30 // Wing extra color - var/b_wing2 = 30 // Wing extra color - var/r_wing3 = 30 // Wing tertiary color - var/g_wing3 = 30 // Wing tertiary color - var/b_wing3 = 30 // Wing tertiary color - -// Definition of the stuff for Ears -/datum/category_item/player_setup_item/vore/ears - name = "Appearance" - sort_order = 1 - -/datum/category_item/player_setup_item/vore/ears/load_character(var/savefile/S) - S["ear_style"] >> pref.ear_style - S["r_ears"] >> pref.r_ears - S["g_ears"] >> pref.g_ears - S["b_ears"] >> pref.b_ears - S["r_ears2"] >> pref.r_ears2 - S["g_ears2"] >> pref.g_ears2 - S["b_ears2"] >> pref.b_ears2 - S["r_ears3"] >> pref.r_ears3 - S["g_ears3"] >> pref.g_ears3 - S["b_ears3"] >> pref.b_ears3 - S["tail_style"] >> pref.tail_style - S["r_tail"] >> pref.r_tail - S["g_tail"] >> pref.g_tail - S["b_tail"] >> pref.b_tail - S["r_tail2"] >> pref.r_tail2 - S["g_tail2"] >> pref.g_tail2 - S["b_tail2"] >> pref.b_tail2 - S["r_tail3"] >> pref.r_tail3 - S["g_tail3"] >> pref.g_tail3 - S["b_tail3"] >> pref.b_tail3 - S["wing_style"] >> pref.wing_style - S["r_wing"] >> pref.r_wing - S["g_wing"] >> pref.g_wing - S["b_wing"] >> pref.b_wing - S["r_wing2"] >> pref.r_wing2 - S["g_wing2"] >> pref.g_wing2 - S["b_wing2"] >> pref.b_wing2 - S["r_wing3"] >> pref.r_wing3 - S["g_wing3"] >> pref.g_wing3 - S["b_wing3"] >> pref.b_wing3 - -/datum/category_item/player_setup_item/vore/ears/save_character(var/savefile/S) - S["ear_style"] << pref.ear_style - S["r_ears"] << pref.r_ears - S["g_ears"] << pref.g_ears - S["b_ears"] << pref.b_ears - S["r_ears2"] << pref.r_ears2 - S["g_ears2"] << pref.g_ears2 - S["b_ears2"] << pref.b_ears2 - S["r_ears3"] << pref.r_ears3 - S["g_ears3"] << pref.g_ears3 - S["b_ears3"] << pref.b_ears3 - S["tail_style"] << pref.tail_style - S["r_tail"] << pref.r_tail - S["g_tail"] << pref.g_tail - S["b_tail"] << pref.b_tail - S["r_tail2"] << pref.r_tail2 - S["g_tail2"] << pref.g_tail2 - S["b_tail2"] << pref.b_tail2 - S["r_tail3"] << pref.r_tail3 - S["g_tail3"] << pref.g_tail3 - S["b_tail3"] << pref.b_tail3 - S["wing_style"] << pref.wing_style - S["r_wing"] << pref.r_wing - S["g_wing"] << pref.g_wing - S["b_wing"] << pref.b_wing - S["r_wing2"] << pref.r_wing2 - S["g_wing2"] << pref.g_wing2 - S["b_wing2"] << pref.b_wing2 - S["r_wing3"] << pref.r_wing3 - S["g_wing3"] << pref.g_wing3 - S["b_wing3"] << pref.b_wing3 - -/datum/category_item/player_setup_item/vore/ears/sanitize_character() - pref.r_ears = sanitize_integer(pref.r_ears, 0, 255, initial(pref.r_ears)) - pref.g_ears = sanitize_integer(pref.g_ears, 0, 255, initial(pref.g_ears)) - pref.b_ears = sanitize_integer(pref.b_ears, 0, 255, initial(pref.b_ears)) - pref.r_ears2 = sanitize_integer(pref.r_ears2, 0, 255, initial(pref.r_ears2)) - pref.g_ears2 = sanitize_integer(pref.g_ears2, 0, 255, initial(pref.g_ears2)) - pref.b_ears2 = sanitize_integer(pref.b_ears2, 0, 255, initial(pref.b_ears2)) - pref.r_ears3 = sanitize_integer(pref.r_ears3, 0, 255, initial(pref.r_ears3)) - pref.g_ears3 = sanitize_integer(pref.g_ears3, 0, 255, initial(pref.g_ears3)) - pref.b_ears3 = sanitize_integer(pref.b_ears3, 0, 255, initial(pref.b_ears3)) - pref.r_tail = sanitize_integer(pref.r_tail, 0, 255, initial(pref.r_tail)) - pref.g_tail = sanitize_integer(pref.g_tail, 0, 255, initial(pref.g_tail)) - pref.b_tail = sanitize_integer(pref.b_tail, 0, 255, initial(pref.b_tail)) - pref.r_tail2 = sanitize_integer(pref.r_tail2, 0, 255, initial(pref.r_tail2)) - pref.g_tail2 = sanitize_integer(pref.g_tail2, 0, 255, initial(pref.g_tail2)) - pref.b_tail2 = sanitize_integer(pref.b_tail2, 0, 255, initial(pref.b_tail2)) - pref.r_tail3 = sanitize_integer(pref.r_tail3, 0, 255, initial(pref.r_tail3)) - pref.g_tail3 = sanitize_integer(pref.g_tail3, 0, 255, initial(pref.g_tail3)) - pref.b_tail3 = sanitize_integer(pref.b_tail3, 0, 255, initial(pref.b_tail3)) - pref.r_wing = sanitize_integer(pref.r_wing, 0, 255, initial(pref.r_wing)) - pref.g_wing = sanitize_integer(pref.g_wing, 0, 255, initial(pref.g_wing)) - pref.b_wing = sanitize_integer(pref.b_wing, 0, 255, initial(pref.b_wing)) - pref.r_wing2 = sanitize_integer(pref.r_wing2, 0, 255, initial(pref.r_wing2)) - pref.g_wing2 = sanitize_integer(pref.g_wing2, 0, 255, initial(pref.g_wing2)) - pref.b_wing2 = sanitize_integer(pref.b_wing2, 0, 255, initial(pref.b_wing2)) - pref.r_wing3 = sanitize_integer(pref.r_wing3, 0, 255, initial(pref.r_wing3)) - pref.g_wing3 = sanitize_integer(pref.g_wing3, 0, 255, initial(pref.g_wing3)) - pref.b_wing3 = sanitize_integer(pref.b_wing3, 0, 255, initial(pref.b_wing3)) - - if(pref.ear_style) - pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style)) - var/datum/sprite_accessory/temp_ear_style = ear_styles_list[pref.ear_style] - if(temp_ear_style.apply_restrictions && (!(pref.species in temp_ear_style.species_allowed))) - pref.ear_style = initial(pref.ear_style) - if(pref.tail_style) - pref.tail_style = sanitize_inlist(pref.tail_style, tail_styles_list, initial(pref.tail_style)) - var/datum/sprite_accessory/temp_tail_style = tail_styles_list[pref.tail_style] - if(temp_tail_style.apply_restrictions && (!(pref.species in temp_tail_style.species_allowed))) - pref.tail_style = initial(pref.tail_style) - if(pref.wing_style) - pref.wing_style = sanitize_inlist(pref.wing_style, wing_styles_list, initial(pref.wing_style)) - var/datum/sprite_accessory/temp_wing_style = wing_styles_list[pref.wing_style] - if(temp_wing_style.apply_restrictions && (!(pref.species in temp_wing_style.species_allowed))) - pref.wing_style = initial(pref.wing_style) - -/datum/category_item/player_setup_item/vore/ears/copy_to_mob(var/mob/living/carbon/human/character) - character.ear_style = ear_styles_list[pref.ear_style] - character.r_ears = pref.r_ears - character.b_ears = pref.b_ears - character.g_ears = pref.g_ears - character.r_ears2 = pref.r_ears2 - character.b_ears2 = pref.b_ears2 - character.g_ears2 = pref.g_ears2 - character.r_ears3 = pref.r_ears3 - character.b_ears3 = pref.b_ears3 - character.g_ears3 = pref.g_ears3 - character.tail_style = tail_styles_list[pref.tail_style] - character.r_tail = pref.r_tail - character.b_tail = pref.b_tail - character.g_tail = pref.g_tail - character.r_tail2 = pref.r_tail2 - character.b_tail2 = pref.b_tail2 - character.g_tail2 = pref.g_tail2 - character.r_tail3 = pref.r_tail3 - character.b_tail3 = pref.b_tail3 - character.g_tail3 = pref.g_tail3 - character.wing_style = wing_styles_list[pref.wing_style] - character.r_wing = pref.r_wing - character.b_wing = pref.b_wing - character.g_wing = pref.g_wing - character.r_wing2 = pref.r_wing2 - character.b_wing2 = pref.b_wing2 - character.g_wing2 = pref.g_wing2 - character.r_wing3 = pref.r_wing3 - character.b_wing3 = pref.b_wing3 - character.g_wing3 = pref.g_wing3 - - - -/datum/category_item/player_setup_item/vore/ears/content(var/mob/user) - . += "

VORE Station Settings

" - - var/ear_display = "Normal" - if(pref.ear_style && (pref.ear_style in ear_styles_list)) - var/datum/sprite_accessory/ears/instance = ear_styles_list[pref.ear_style] - ear_display = instance.name - - else if(pref.ear_style) - ear_display = "REQUIRES UPDATE" - . += "Ears
" - . += " Style: [ear_display]
" - if(ear_styles_list[pref.ear_style]) - var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style] - if(ear.do_colouration) - . += "Change Color [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]
" - if(ear.extra_overlay) - . += "Change Secondary Color [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]
" - if(ear.extra_overlay2) - . += "Change Tertiary Color [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]
" - - var/tail_display = "Normal" - if(pref.tail_style && (pref.tail_style in tail_styles_list)) - var/datum/sprite_accessory/tail/instance = tail_styles_list[pref.tail_style] - tail_display = instance.name - else if(pref.tail_style) - tail_display = "REQUIRES UPDATE" - . += "Tail
" - . += " Style: [tail_display]
" - - if(tail_styles_list[pref.tail_style]) - var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style] - if(T.do_colouration) - . += "Change Color [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]
" - if(T.extra_overlay) - . += "Change Secondary Color [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]
" - if(T.extra_overlay2) - . += "Change Tertiary Color [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]
" - - var/wing_display = "Normal" - if(pref.wing_style && (pref.wing_style in wing_styles_list)) - var/datum/sprite_accessory/wing/instance = wing_styles_list[pref.wing_style] - wing_display = instance.name - else if(pref.wing_style) - wing_display = "REQUIRES UPDATE" - . += "Wing
" - . += " Style: [wing_display]
" - - if(wing_styles_list[pref.wing_style]) - var/datum/sprite_accessory/wing/W = wing_styles_list[pref.wing_style] - if (W.do_colouration) - . += "Change Color [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]
" - if (W.extra_overlay) - . += "Change Secondary Color [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]
" - if (W.extra_overlay2) - . += "Change Secondary Color [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]
" - -/datum/category_item/player_setup_item/vore/ears/OnTopic(var/href,var/list/href_list, var/mob/user) - if(!CanUseTopic(user)) - return TOPIC_NOACTION - - else if(href_list["ear_style"]) - // Construct the list of names allowed for this user. - var/list/pretty_ear_styles = list("Normal" = null) - for(var/path in ear_styles_list) - var/datum/sprite_accessory/ears/instance = ear_styles_list[path] - if(((!instance.ckeys_allowed) || (usr.ckey in instance.ckeys_allowed)) && ((!instance.apply_restrictions) || (pref.species in instance.species_allowed))) - pretty_ear_styles[instance.name] = path - - // Present choice to user - var/new_ear_style = input(user, "Pick ears", "Character Preference", pref.ear_style) as null|anything in pretty_ear_styles - if(new_ear_style) - pref.ear_style = pretty_ear_styles[new_ear_style] - - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["ear_color"]) - var/new_earc = input(user, "Choose your character's ear colour:", "Character Preference", - rgb(pref.r_ears, pref.g_ears, pref.b_ears)) as color|null - if(new_earc) - pref.r_ears = hex2num(copytext(new_earc, 2, 4)) - pref.g_ears = hex2num(copytext(new_earc, 4, 6)) - pref.b_ears = hex2num(copytext(new_earc, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["ear_color2"]) - var/new_earc2 = input(user, "Choose your character's secondary ear colour:", "Character Preference", - rgb(pref.r_ears2, pref.g_ears2, pref.b_ears2)) as color|null - if(new_earc2) - pref.r_ears2 = hex2num(copytext(new_earc2, 2, 4)) - pref.g_ears2 = hex2num(copytext(new_earc2, 4, 6)) - pref.b_ears2 = hex2num(copytext(new_earc2, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["ear_color3"]) - var/new_earc3 = input(user, "Choose your character's tertiary ear colour:", "Character Preference", - rgb(pref.r_ears3, pref.g_ears3, pref.b_ears3)) as color|null - if(new_earc3) - pref.r_ears3 = hex2num(copytext(new_earc3, 2, 4)) - pref.g_ears3 = hex2num(copytext(new_earc3, 4, 6)) - pref.b_ears3 = hex2num(copytext(new_earc3, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["tail_style"]) - // Construct the list of names allowed for this user. - var/list/pretty_tail_styles = list("Normal" = null) - for(var/path in tail_styles_list) - var/datum/sprite_accessory/tail/instance = tail_styles_list[path] - if(((!instance.ckeys_allowed) || (usr.ckey in instance.ckeys_allowed)) && ((!instance.apply_restrictions) || (pref.species in instance.species_allowed))) - pretty_tail_styles[instance.name] = path - - // Present choice to user - var/new_tail_style = input(user, "Pick tails", "Character Preference", pref.tail_style) as null|anything in pretty_tail_styles - if(new_tail_style) - pref.tail_style = pretty_tail_styles[new_tail_style] - - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["tail_color"]) - var/new_tailc = input(user, "Choose your character's tail/taur colour:", "Character Preference", - rgb(pref.r_tail, pref.g_tail, pref.b_tail)) as color|null - if(new_tailc) - pref.r_tail = hex2num(copytext(new_tailc, 2, 4)) - pref.g_tail = hex2num(copytext(new_tailc, 4, 6)) - pref.b_tail = hex2num(copytext(new_tailc, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["tail_color2"]) - var/new_tailc2 = input(user, "Choose your character's secondary tail/taur colour:", "Character Preference", - rgb(pref.r_tail2, pref.g_tail2, pref.b_tail2)) as color|null - if(new_tailc2) - pref.r_tail2 = hex2num(copytext(new_tailc2, 2, 4)) - pref.g_tail2 = hex2num(copytext(new_tailc2, 4, 6)) - pref.b_tail2 = hex2num(copytext(new_tailc2, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["tail_color3"]) - var/new_tailc3 = input(user, "Choose your character's tertiary tail/taur colour:", "Character Preference", - rgb(pref.r_tail3, pref.g_tail3, pref.b_tail3)) as color|null - if(new_tailc3) - pref.r_tail3 = hex2num(copytext(new_tailc3, 2, 4)) - pref.g_tail3 = hex2num(copytext(new_tailc3, 4, 6)) - pref.b_tail3 = hex2num(copytext(new_tailc3, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["wing_style"]) - // Construct the list of names allowed for this user. - var/list/pretty_wing_styles = list("Normal" = null) - for(var/path in wing_styles_list) - var/datum/sprite_accessory/wing/instance = wing_styles_list[path] - if(((!instance.ckeys_allowed) || (usr.ckey in instance.ckeys_allowed)) && ((!instance.apply_restrictions) || (pref.species in instance.species_allowed))) - pretty_wing_styles[instance.name] = path - - // Present choice to user - var/new_wing_style = input(user, "Pick wings", "Character Preference", pref.wing_style) as null|anything in pretty_wing_styles - if(new_wing_style) - pref.wing_style = pretty_wing_styles[new_wing_style] - - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["wing_color"]) - var/new_wingc = input(user, "Choose your character's wing colour:", "Character Preference", - rgb(pref.r_wing, pref.g_wing, pref.b_wing)) as color|null - if(new_wingc) - pref.r_wing = hex2num(copytext(new_wingc, 2, 4)) - pref.g_wing = hex2num(copytext(new_wingc, 4, 6)) - pref.b_wing = hex2num(copytext(new_wingc, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["wing_color2"]) - var/new_wingc2 = input(user, "Choose your character's secondary wing colour:", "Character Preference", - rgb(pref.r_wing2, pref.g_wing2, pref.b_wing2)) as color|null - if(new_wingc2) - pref.r_wing2 = hex2num(copytext(new_wingc2, 2, 4)) - pref.g_wing2 = hex2num(copytext(new_wingc2, 4, 6)) - pref.b_wing2 = hex2num(copytext(new_wingc2, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["wing_color3"]) - var/new_wingc3 = input(user, "Choose your character's tertiary wing colour:", "Character Preference", - rgb(pref.r_wing3, pref.g_wing3, pref.b_wing3)) as color|null - if(new_wingc3) - pref.r_wing3 = hex2num(copytext(new_wingc3, 2, 4)) - pref.g_wing3 = hex2num(copytext(new_wingc3, 4, 6)) - pref.b_wing3 = hex2num(copytext(new_wingc3, 6, 8)) - return TOPIC_REFRESH_UPDATE_PREVIEW - - return ..() diff --git a/code/modules/clothing/clothing_vr.dm b/code/modules/clothing/clothing_vr.dm index 9a1687959f1..e5b1649fa57 100644 --- a/code/modules/clothing/clothing_vr.dm +++ b/code/modules/clothing/clothing_vr.dm @@ -148,48 +148,11 @@ //Switch to taur sprites if a taur equips /obj/item/clothing/suit - var/taurized = FALSE //Easier than trying to 'compare icons' to see if it's a taur suit sprite_sheets = list( SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/suit.dmi') -/obj/item/clothing/suit/equipped(var/mob/user, var/slot) - var/normalize = TRUE - - //Pyramid of doom-y. Improve somehow? - if(!taurized && slot == slot_wear_suit && ishuman(user)) - var/mob/living/carbon/human/H = user - if(isTaurTail(H.tail_style)) - var/datum/sprite_accessory/tail/taur/taurtail = H.tail_style - if(taurtail.suit_sprites && (get_worn_icon_state(slot_wear_suit_str) in cached_icon_states(taurtail.suit_sprites))) - icon_override = taurtail.suit_sprites - normalize = FALSE - taurized = TRUE - - if(normalize && taurized) - icon_override = initial(icon_override) - taurized = FALSE - - return ..() - -// Taur suits need to be shifted so its centered on their taur half. -/obj/item/clothing/suit/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask) - var/image/standing = ..() - if(taurized) //Special snowflake var on suits - standing.pixel_x = -16 - standing.layer = BODY_LAYER + 15 // 15 is above tail layer, so will not be covered by taurbody. - return standing - -/obj/item/clothing/suit/apply_accessories(var/image/standing) - if(LAZYLEN(accessories) && taurized) - for(var/obj/item/clothing/accessory/A in accessories) - var/image/I = new(A.get_mob_overlay()) - I.pixel_x = 16 //Opposite of the pixel_x on the suit (-16) from taurization to cancel it out and puts the accessory in the correct place on the body. - standing.add_overlay(I) - else - return ..() - //TFF 5/8/19 - sets Vorestation /obj/item/clothing/under sensor setting default? /obj/item/clothing/under sensor_mode = 3 diff --git a/code/modules/mob/living/carbon/human/emote_vr.dm b/code/modules/mob/living/carbon/human/emote_vr.dm index 352729c5da9..2d9a8540759 100644 --- a/code/modules/mob/living/carbon/human/emote_vr.dm +++ b/code/modules/mob/living/carbon/human/emote_vr.dm @@ -9,13 +9,13 @@ switch(act) if("vwag") - if(toggle_tail_vr(message = 1)) + if(toggle_tail(message = 1)) m_type = 1 message = "[wagging ? "starts" : "stops"] wagging their tail." else return 1 if("vflap") - if(toggle_wing_vr(message = 1)) + if(toggle_wing(message = 1)) m_type = 1 message = "[flapping ? "starts" : "stops"] flapping their wings." else @@ -207,30 +207,6 @@ density = original_density pass_flags = original_passflags -/mob/living/carbon/human/proc/toggle_tail_vr(var/setting,var/message = 0) - if(!tail_style || !tail_style.ani_state) - if(message) - to_chat(src, "You don't have a tail that supports this.") - return 0 - - var/new_wagging = isnull(setting) ? !wagging : setting - if(new_wagging != wagging) - wagging = new_wagging - update_tail_showing() - return 1 - -/mob/living/carbon/human/proc/toggle_wing_vr(var/setting,var/message = 0) - if(!wing_style || !wing_style.ani_state) - if(message) - to_chat(src, "You don't have a tail that supports this.") - return 0 - - var/new_flapping = isnull(setting) ? !flapping : setting - if(new_flapping != flapping) - flapping = setting - update_wing_showing() - return 1 - /mob/living/carbon/human/verb/toggle_gender_identity_vr() set name = "Set Gender Identity" set desc = "Sets the pronouns when examined and performing an emote." diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 63a5069ea66..34b93b25738 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -127,6 +127,9 @@ var/r_ears2 = 30 var/g_ears2 = 30 var/b_ears2 = 30 + var/r_ears3 = 30 //Trust me, we could always use more colour. No japes. + var/g_ears3 = 30 + var/b_ears3 = 30 var/datum/sprite_accessory/tail/tail_style = null var/r_tail = 30 var/g_tail = 30 @@ -134,6 +137,9 @@ var/r_tail2 = 30 var/g_tail2 = 30 var/b_tail2 = 30 + var/r_tail3 = 30 + var/g_tail3 = 30 + var/b_tail3 = 30 var/datum/sprite_accessory/wing/wing_style = null var/r_wing = 30 var/g_wing = 30 @@ -141,6 +147,9 @@ var/r_wing2 = 30 var/g_wing2 = 30 var/b_wing2 = 30 + var/r_wing3 = 30 + var/g_wing3 = 30 + var/b_wing3 = 30 var/wagging = 0 //UGH. var/flapping = 0 diff --git a/code/modules/mob/living/carbon/human/species/species_vr.dm b/code/modules/mob/living/carbon/human/species/species_vr.dm index 558924a784c..fb9beed574b 100644 --- a/code/modules/mob/living/carbon/human/species/species_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_vr.dm @@ -1,25 +1,10 @@ /datum/species - //This is used in character setup preview generation (prefences_setup.dm) and human mob - //rendering (update_icons.dm) - var/color_mult = 0 - - //This is for overriding tail rendering with a specific icon in icobase, for static - //tails only, since tails would wag when dead if you used this - var/icobase_tail = 0 - //This is so that if a race is using the chimera revive they can't use it more than once. //Shouldn't really be seen in play too often, but it's case an admin event happens and they give a non chimera the chimera revive. Only one person can use the chimera revive at a time per race. //var/reviving = 0 //commented out 'cause moved to mob holder_type = /obj/item/weapon/holder/micro //This allows you to pick up crew min_age = 18 descriptors = list() - var/wing_hair - var/wing - var/wing_animation - var/icobase_wing - var/wikilink = null //link to wiki page for species - var/icon_height = 32 - var/agility = 20 //prob() to do agile things var/organic_food_coeff = 1 var/synthetic_food_coeff = 0 @@ -39,11 +24,6 @@ var/list/traits = list() -/datum/species/proc/update_attack_types() - unarmed_attacks = list() - for(var/u_type in unarmed_types) - unarmed_attacks += new u_type() - /datum/species/proc/give_numbing_bite() //Holy SHIT this is hacky, but it works. Updating a mob's attacks mid game is insane. unarmed_attacks = list() unarmed_types += /datum/unarmed_attack/bite/sharp/numbing diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 4b4d04192c5..ce072be4b0d 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -88,8 +88,8 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() #define LEGCUFF_LAYER 26 //Same as handcuffs, for legcuffs #define L_HAND_LAYER 27 //Left-hand item #define R_HAND_LAYER 28 //Right-hand item -#define WING_LAYER 29 //VOREStation edit. Simply move this up a number if things are added. -#define TAIL_LAYER_ALT 30 //VOREStation edit. Simply move this up a number if things are added. +#define WING_LAYER 29 //Wings or protrusions over the suit. +#define TAIL_LAYER_ALT 30 //Modified tail-sprite layer. Tend to be larger. #define MODIFIER_EFFECTS_LAYER 31 //Effects drawn by modifiers #define FIRE_LAYER 32 //'Mob on fire' overlay layer #define WATER_LAYER 33 //'Mob submerged' overlay layer @@ -267,18 +267,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() icon_key += "[rgb(part.s_col[1],part.s_col[2],part.s_col[3])]" if(part.body_hair && part.h_col && part.h_col.len >= 3) icon_key += "[rgb(part.h_col[1],part.h_col[2],part.h_col[3])]" -<<<<<<< HEAD - //VOREStation Edit - Different way of tracking add/mult species -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) if(species.color_mult) icon_key += "[ICON_MULTIPLY]" else icon_key += "[ICON_ADD]" -<<<<<<< HEAD - //VOREStation Edit End -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) else icon_key += "#000000" @@ -288,11 +280,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(part.robotic >= ORGAN_ROBOT) icon_key += "2[part.model ? "-[part.model]": ""]" robolimb_count++ -<<<<<<< HEAD - if((part.robotic == ORGAN_ROBOT || part.robotic == ORGAN_LIFELIKE) && (part.organ_tag == BP_HEAD || part.organ_tag == BP_TORSO || part.organ_tag == BP_GROIN)) //VOREStation Edit - Not for nanoform parts -======= if((part.robotic == ORGAN_ROBOT || part.robotic == ORGAN_LIFELIKE) && (part.organ_tag == BP_HEAD || part.organ_tag == BP_TORSO || part.organ_tag == BP_GROIN)) ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) robobody_count ++ else if(part.status & ORGAN_DEAD) icon_key += "3" @@ -338,11 +326,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //That part makes left and right legs drawn topmost and lowermost when human looks WEST or EAST //And no change in rendering for other parts (they icon_position is 0, so goes to 'else' part) if(part.icon_position & (LEFT | RIGHT)) -<<<<<<< HEAD - var/icon/temp2 = new(species.icon_template ? species.icon_template : 'icons/mob/human.dmi', icon_state = "blank") //VOREStation Edit. -======= var/icon/temp2 = new(species.icon_template ? species.icon_template : 'icons/mob/human.dmi', icon_state = "blank") ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) temp2.Insert(new/icon(temp,dir=NORTH),dir=NORTH) temp2.Insert(new/icon(temp,dir=SOUTH),dir=SOUTH) if(!(part.icon_position & LEFT)) @@ -383,11 +367,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() //tail update_tail_showing() -<<<<<<< HEAD - update_wing_showing() // VOREStation Edit -======= update_wing_showing() ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) /mob/living/carbon/human/proc/update_skin() if(QDESTROYING(src)) @@ -471,11 +451,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(facial_hair_style && facial_hair_style.species_allowed && (src.species.get_bodytype(src) in facial_hair_style.species_allowed)) var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") if(facial_hair_style.do_colouration) -<<<<<<< HEAD - facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_MULTIPLY) //VOREStation edit -======= facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_MULTIPLY) ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) face_standing.Blend(facial_s, ICON_OVERLAY) @@ -501,22 +477,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() face_standing.Blend(hair_s, ICON_OVERLAY) -<<<<<<< HEAD - // VOREStation Edit - START - var/icon/ears_s = get_ears_overlay() - if(ears_s) - face_standing.Blend(ears_s, ICON_OVERLAY) - if(istype(head_organ,/obj/item/organ/external/head/vr)) - var/obj/item/organ/external/head/vr/head_organ_vr = head_organ - overlays_standing[HAIR_LAYER] = image(face_standing, layer = BODY_LAYER+HAIR_LAYER, "pixel_y" = head_organ_vr.head_offset) - apply_layer(HAIR_LAYER) - return - // VOREStation Edit - END - - if(head_organ.transparent) //VOREStation Edit. For better slime limbs. -======= if(head_organ.nonsolid || head_organ.transparent) ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) face_standing += rgb(,,,120) var/icon/ears_s = get_ears_overlay() @@ -679,20 +640,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() uniform_sprite = "[INV_W_UNIFORM_DEF_ICON].dmi" //Build a uniform sprite -<<<<<<< HEAD - //VOREStation Edit start. -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) var/icon/c_mask = tail_style?.clip_mask if(c_mask) var/obj/item/clothing/suit/S = wear_suit if((wear_suit?.flags_inv & HIDETAIL) || (istype(S) && S.taurized)) // Reasons to not mask: 1. If you're wearing a suit that hides the tail or if you're wearing a taurized suit. c_mask = null overlays_standing[UNIFORM_LAYER] = w_uniform.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_w_uniform_str, default_icon = uniform_sprite, default_layer = UNIFORM_LAYER, clip_mask = c_mask) -<<<<<<< HEAD - //VOREStation Edit end. -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) apply_layer(UNIFORM_LAYER) /mob/living/carbon/human/update_inv_wear_id() @@ -774,10 +727,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(!shoes || (wear_suit && wear_suit.flags_inv & HIDESHOES) || (w_uniform && w_uniform.flags_inv & HIDESHOES)) return //Either nothing to draw, or it'd be hidden. -<<<<<<< HEAD - //VOREStation Edit -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) for(var/f in list(BP_L_FOOT, BP_R_FOOT)) var/obj/item/organ/external/foot/foot = get_organ(f) if(istype(foot) && foot.is_hidden_by_tail()) //If either foot is hidden by the tail, don't render footwear. @@ -859,11 +808,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() update_inv_w_uniform() update_inv_shoes() update_tail_showing() -<<<<<<< HEAD - update_wing_showing() // VOREStation Edit -======= update_wing_showing() ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) if(!wear_suit) return //No point, no suit. @@ -878,10 +823,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() else suit_sprite = "[INV_SUIT_DEF_ICON].dmi" -<<<<<<< HEAD - //VOREStation Edit start. -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) var/icon/c_mask = null var/tail_is_rendered = (overlays_standing[TAIL_LAYER] || overlays_standing[TAIL_LAYER_ALT]) var/valid_clip_mask = tail_style?.clip_mask @@ -889,11 +830,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(tail_is_rendered && valid_clip_mask && !(istype(suit) && suit.taurized)) //Clip the lower half of the suit off using the tail's clip mask for taurs since taur bodies aren't hidden. c_mask = valid_clip_mask overlays_standing[SUIT_LAYER] = wear_suit.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_wear_suit_str, default_icon = suit_sprite, default_layer = SUIT_LAYER, clip_mask = c_mask) -<<<<<<< HEAD - - //VOREStation Edit end. -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) apply_layer(SUIT_LAYER) @@ -1006,19 +942,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() return remove_layer(TAIL_LAYER) -<<<<<<< HEAD - remove_layer(TAIL_LAYER_ALT) // VOREStation Edit - START - Alt Tail Layer - - var/used_tail_layer = tail_alt ? TAIL_LAYER_ALT : TAIL_LAYER - - var/image/vr_tail_image = get_tail_image() - if(vr_tail_image) - vr_tail_image.layer = BODY_LAYER+used_tail_layer - overlays_standing[used_tail_layer] = vr_tail_image - apply_layer(used_tail_layer) - return - // VOREStation Edit - END -======= remove_layer(TAIL_LAYER_ALT) // Alt Tail Layer var/used_tail_layer = tail_alt ? TAIL_LAYER_ALT : TAIL_LAYER @@ -1029,18 +952,13 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() overlays_standing[used_tail_layer] = tail_image apply_layer(used_tail_layer) return ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) var/species_tail = species.get_tail(src) // Species tail icon_state prefix. //This one is actually not that bad I guess. if(species_tail && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) var/icon/tail_s = get_tail_icon() -<<<<<<< HEAD - overlays_standing[used_tail_layer] = image(icon = tail_s, icon_state = "[species_tail]_s", layer = BODY_LAYER+used_tail_layer) // VOREStation Edit - Alt Tail Layer -======= overlays_standing[used_tail_layer] = image(icon = tail_s, icon_state = "[species_tail]_s", layer = BODY_LAYER+used_tail_layer) // Alt Tail Layer ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) animate_tail_reset() //TODO: Is this the appropriate place for this, and not on species...? @@ -1050,17 +968,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(!tail_icon) //generate a new one var/species_tail_anim = species.get_tail_animation(src) -<<<<<<< HEAD - if(!species_tail_anim && species.icobase_tail) species_tail_anim = species.icobase //VOREStation Code - Allow override of file for non-animated tails - if(!species_tail_anim) species_tail_anim = 'icons/effects/species.dmi' - tail_icon = new/icon(species_tail_anim) - tail_icon.Blend(rgb(r_skin, g_skin, b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD) // VOREStation edit - // The following will not work with animated tails. - var/use_species_tail = species.get_tail_hair(src) - if(use_species_tail) - var/icon/hair_icon = icon('icons/effects/species.dmi', "[species.get_tail(src)]_[use_species_tail]_s") //VOREStation edit -- Suffix icon state string with '_s' to compensate for diff in .dmi b/w us & Polaris. - hair_icon.Blend(rgb(r_hair, g_hair, b_hair), species.color_mult ? ICON_MULTIPLY : ICON_ADD) //VOREStation edit -- Check for species color_mult -======= if(!species_tail_anim && species.icobase_tail) species_tail_anim = species.icobase //Allow override of file for non-animated tails if(!species_tail_anim) species_tail_anim = 'icons/effects/species.dmi' tail_icon = new/icon(species_tail_anim) @@ -1070,18 +977,13 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(use_species_tail) var/icon/hair_icon = icon('icons/effects/species.dmi', "[species.get_tail(src)]_[use_species_tail]") hair_icon.Blend(rgb(r_hair, g_hair, b_hair), species.color_mult ? ICON_MULTIPLY : ICON_ADD) //Check for species color_mult ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) tail_icon.Blend(hair_icon, ICON_OVERLAY) tail_icon_cache[icon_key] = tail_icon return tail_icon /mob/living/carbon/human/proc/set_tail_state(var/t_state) -<<<<<<< HEAD - var/used_tail_layer = tail_alt ? TAIL_LAYER_ALT : TAIL_LAYER // VOREStation Edit - START - Alt Tail Layer -======= var/used_tail_layer = tail_alt ? TAIL_LAYER_ALT : TAIL_LAYER // Alt Tail Layer ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) var/image/tail_overlay = overlays_standing[used_tail_layer] remove_layer(TAIL_LAYER) @@ -1093,11 +995,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() tail_overlay.icon_state = t_state . = tail_overlay -<<<<<<< HEAD - apply_layer(used_tail_layer) // VOREStation Edit - END -======= apply_layer(used_tail_layer) ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) //Not really once, since BYOND can't do that. //Update this if the ability to flick() images or make looping animation start at the first frame is ever added. @@ -1107,15 +1005,9 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() return var/t_state = "[species.get_tail(src)]_once" -<<<<<<< HEAD - var/used_tail_layer = tail_alt ? TAIL_LAYER_ALT : TAIL_LAYER // VOREStation Edit - Alt Tail Layer - - var/image/tail_overlay = overlays_standing[used_tail_layer] // VOREStation Edit - Alt Tail Layer -======= var/used_tail_layer = tail_alt ? TAIL_LAYER_ALT : TAIL_LAYER // Alt Tail Layer var/image/tail_overlay = overlays_standing[used_tail_layer] // Alt Tail Layer ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) if(tail_overlay && tail_overlay.icon_state == t_state) return //let the existing animation finish @@ -1123,11 +1015,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() if(tail_overlay) spawn(20) //check that the animation hasn't changed in the meantime -<<<<<<< HEAD - if(overlays_standing[used_tail_layer] == tail_overlay && tail_overlay.icon_state == t_state) // VOREStation Edit - Alt Tail Layer -======= if(overlays_standing[used_tail_layer] == tail_overlay && tail_overlay.icon_state == t_state) // Alt Tail Layer ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) animate_tail_stop() /mob/living/carbon/human/proc/animate_tail_start() @@ -1150,11 +1038,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() set_tail_state("[species.get_tail(src)]_idle[rand(0,9)]") else set_tail_state("[species.get_tail(src)]_static") -<<<<<<< HEAD - toggle_tail_vr(FALSE) //VOREStation Add - So tails stop when someone dies. TODO - Fix this hack ~Leshana -======= toggle_tail(FALSE) //So tails stop when someone dies. TODO - Fix this hack ~Leshana ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) /mob/living/carbon/human/proc/animate_tail_stop() if(QDESTROYING(src)) @@ -1162,32 +1046,18 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() set_tail_state("[species.get_tail(src)]_static") -<<<<<<< HEAD -// VOREStation Edit - Wings! See update_icons_vr.dm for more wing procs -======= ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) /mob/living/carbon/human/proc/update_wing_showing() if(QDESTROYING(src)) return remove_layer(WING_LAYER) -<<<<<<< HEAD - var/image/vr_wing_image = get_wing_image() - if(vr_wing_image) - vr_wing_image.layer = BODY_LAYER+WING_LAYER - overlays_standing[WING_LAYER] = vr_wing_image - - apply_layer(WING_LAYER) -// VOREStation Edit end -======= var/image/wing_image = get_wing_image() if(wing_image) wing_image.layer = BODY_LAYER+WING_LAYER overlays_standing[WING_LAYER] = wing_image apply_layer(WING_LAYER) ->>>>>>> 576d065... Kaleidoscope 2: The Retabbening (#7697) /mob/living/carbon/human/update_modifier_visuals() if(QDESTROYING(src)) @@ -1274,6 +1144,17 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() overlay.Blend(rgb(src.r_wing2, src.g_wing2, src.b_wing2), wing_style.color_blend_mode) wing_s.Blend(overlay, ICON_OVERLAY) qdel(overlay) + if(wing_style.extra_overlay2) + var/icon/overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay2) + if(wing_style.ani_state) + overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay2_w) + overlay.Blend(rgb(src.r_wing3, src.g_wing3, src.b_wing3), wing_style.color_blend_mode) + wing_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) + else + overlay.Blend(rgb(src.r_wing3, src.g_wing3, src.b_wing3), wing_style.color_blend_mode) + wing_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) return image(wing_s) /mob/living/carbon/human/proc/get_ears_overlay() @@ -1286,6 +1167,11 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() overlay.Blend(rgb(src.r_ears2, src.g_ears2, src.b_ears2), ear_style.color_blend_mode) ears_s.Blend(overlay, ICON_OVERLAY) qdel(overlay) + if(ear_style.extra_overlay2) //MORE COLOURS IS BETTERER + var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay2) + overlay.Blend(rgb(src.r_ears3, src.g_ears3, src.b_ears3), ear_style.color_blend_mode) + ears_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) return ears_s return null @@ -1315,6 +1201,18 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() tail_s.Blend(overlay, ICON_OVERLAY) qdel(overlay) + if(tail_style.extra_overlay2) + var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2) + if(wagging && tail_style.ani_state) + overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2_w) + overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode) + tail_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) + else + overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode) + tail_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) + if(isTaurTail(tail_style)) var/datum/sprite_accessory/tail/taur/taurtype = tail_style if(taurtype.can_ride && !riding_datum) diff --git a/code/modules/mob/living/living_vr.dm b/code/modules/mob/living/living_vr.dm index a956bc5dd1e..fd4be9703f9 100644 --- a/code/modules/mob/living/living_vr.dm +++ b/code/modules/mob/living/living_vr.dm @@ -24,23 +24,6 @@ else return -/mob/living/proc/toggle_rider_reins() - set name = "Give Reins" - set category = "Abilities" - set desc = "Let people riding on you control your movement." - - if(riding_datum) - if(istype(riding_datum,/datum/riding)) - if(riding_datum.keytype) - riding_datum.keytype = null - to_chat(src, "Rider control enabled.") - return - else - riding_datum.keytype = /obj/item/weapon/material/twohanded/fluff/riding_crop - to_chat(src, "Rider control restricted.") - return - return - /mob/living/verb/set_metainfo() set name = "Set OOC Metainfo" set desc = "Sets OOC notes about yourself or your RP preferences or status." diff --git a/code/modules/mob/mob_defines_vr.dm b/code/modules/mob/mob_defines_vr.dm index 41c27a41d0e..ff5f1ae5826 100644 --- a/code/modules/mob/mob_defines_vr.dm +++ b/code/modules/mob/mob_defines_vr.dm @@ -1,6 +1,5 @@ /mob var/vantag_hud = 0 // Do I have the HUD enabled? - var/flying = 0 // Allows flight var/mob/temporary_form // For holding onto a temporary form var/disconnect_time = null //Time of client loss, set by Logout(), for timekeeping diff --git a/code/modules/mob/new_player/preferences_setup_vr.dm b/code/modules/mob/new_player/preferences_setup_vr.dm index 1f01884b602..dca0ff56ecf 100644 --- a/code/modules/mob/new_player/preferences_setup_vr.dm +++ b/code/modules/mob/new_player/preferences_setup_vr.dm @@ -1,16 +1,3 @@ -/datum/preferences/update_preview_icon() // Lines up and un-overlaps character edit previews. Also un-splits taurs. - var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client_ckey) - if(!mannequin.dna) // Special handling for preview icons before SSAtoms has initailized. - mannequin.dna = new /datum/dna(null) - mannequin.delete_inventory(TRUE) - dress_preview_mob(mannequin) - mannequin.update_transform() - mannequin.toggle_tail_vr(setting = TRUE) - mannequin.toggle_wing_vr(setting = TRUE) - COMPILE_OVERLAYS(mannequin) - - update_character_previews(new /mutable_appearance(mannequin)) - //TFF 5/8/19 - add randomised sensor setting for random button clicking /datum/preferences/randomize_appearance_and_body_for(var/mob/living/carbon/human/H) sensorpref = rand(1,5) \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories_ear.dm b/code/modules/mob/new_player/sprite_accessories_ear.dm index 3247a8b069a..6262b8ba606 100644 --- a/code/modules/mob/new_player/sprite_accessories_ear.dm +++ b/code/modules/mob/new_player/sprite_accessories_ear.dm @@ -12,6 +12,7 @@ color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 var/extra_overlay // Icon state of an additional overlay to blend in. + var/extra_overlay2 var/desc = "You should not see this..." species_allowed = list(SPECIES_EVENT1, SPECIES_EVENT2, SPECIES_EVENT3) diff --git a/code/modules/mob/new_player/sprite_accessories_tail.dm b/code/modules/mob/new_player/sprite_accessories_tail.dm index 437b839f258..012591a8953 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail.dm @@ -12,11 +12,13 @@ color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 var/extra_overlay // Icon state of an additional overlay to blend in. + var/extra_overlay2 //Tertiary. var/show_species_tail = 0 // If false, do not render species' tail. var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it var/desc = "You should not see this..." var/ani_state // State when wagging/animated var/extra_overlay_w // Wagging state for extra overlay + var/extra_overlay2_w // Tertiary wagging. var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff. var/icon/clip_mask_icon = null //Icon file used for clip mask. var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits. diff --git a/code/modules/mob/new_player/sprite_accessories_wing.dm b/code/modules/mob/new_player/sprite_accessories_wing.dm index 3b65639298c..486e81f4b10 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing.dm @@ -12,11 +12,13 @@ color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 var/extra_overlay // Icon state of an additional overlay to blend in. + var/extra_overlay2 //Tertiary. var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it. If the clothing is bulky enough to hide a tail, it should also hide wings. // var/show_species_tail = 1 // Just so // TODO - Seems not needed ~Leshana var/desc = "You should not see this..." var/ani_state // State when flapping/animated var/extra_overlay_w // Flapping state for extra overlay + var/extra_overlay2_w species_allowed = list(SPECIES_EVENT1, SPECIES_EVENT2, SPECIES_EVENT3) diff --git a/code/modules/organs/organ_external_vr.dm b/code/modules/organs/organ_external_vr.dm index 17422598644..0e3fb07d9ee 100644 --- a/code/modules/organs/organ_external_vr.dm +++ b/code/modules/organs/organ_external_vr.dm @@ -1,6 +1,3 @@ -/obj/item/organ/external - var/transparent = 0 //For better slime limbs - //Sideways override for nanoform limbs (ugh) /obj/item/organ/external/robotize(var/company, var/skip_prosthetics = FALSE, var/keep_organs = FALSE) var/original_robotic = robotic @@ -16,7 +13,3 @@ min_broken_damage = o_min_broken_damage else return ..() - -/obj/item/organ/external/proc/is_hidden_by_tail() - if(owner && owner.tail_style && owner.tail_style.hide_body_parts && (organ_tag in owner.tail_style.hide_body_parts)) - return 1 \ No newline at end of file diff --git a/code/modules/organs/robolimbs_vr.dm b/code/modules/organs/robolimbs_vr.dm index 2ed4d60fcd2..b93a37fd5aa 100644 --- a/code/modules/organs/robolimbs_vr.dm +++ b/code/modules/organs/robolimbs_vr.dm @@ -1,8 +1,3 @@ -/datum/robolimb - var/includes_tail //Cyberlimbs dmi includes a tail sprite to wear. - var/includes_wing //Cyberlimbs dmi includes a wing sprite to wear. - var/list/whitelisted_to //List of ckeys that are allowed to pick this in charsetup. - //CitRP Port var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ default=cyber_default;\ diff --git a/code/modules/organs/subtypes/standard_vr.dm b/code/modules/organs/subtypes/standard_vr.dm index ce6eaf9d9f7..fb3fe58364a 100644 --- a/code/modules/organs/subtypes/standard_vr.dm +++ b/code/modules/organs/subtypes/standard_vr.dm @@ -1,58 +1,8 @@ //For custom heads with custom parts since the base code is restricted to a single icon file. -/obj/item/organ/external/head/vr/get_icon() - - ..() - overlays.Cut() - if(!owner || !owner.species) - return - - for(var/M in markings) - var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"] - var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]") - mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) - overlays |= mark_s //So when it's not on your body, it has icons - mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons - icon_cache_key += "[M][markings[M]["color"]]" - - if(owner.should_have_organ(O_EYES))//Moved on top of markings. - var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES] - if(eye_icon) - var/icon/eyes_icon = new/icon(eye_icons_vr, eye_icon_vr) - if(eyes) - if(owner.species.appearance_flags & HAS_EYE_COLOR) - eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD) - else - eyes_icon.Blend(rgb(128,0,0), ICON_ADD) - mob_icon.Blend(eyes_icon, ICON_OVERLAY) - overlays |= eyes_icon - - if(owner.lip_style && (species && (species.appearance_flags & HAS_LIPS))) - var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s") - overlays |= lip_icon - mob_icon.Blend(lip_icon, ICON_OVERLAY) - - if(owner.f_style) - var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[owner.f_style] - if(facial_hair_style && facial_hair_style.species_allowed && (species.get_bodytype(owner) in facial_hair_style.species_allowed)) - var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") - if(facial_hair_style.do_colouration) - facial_s.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), ICON_ADD) - overlays |= image(facial_s, "pixel_y" = head_offset) - - if(owner.h_style && !(owner.head && (owner.head.flags_inv & BLOCKHEADHAIR))) - var/datum/sprite_accessory/hair_style = hair_styles_list[owner.h_style] - if(hair_style && (species.get_bodytype(owner) in hair_style.species_allowed)) - var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") - if(hair_style.do_colouration && islist(h_col) && h_col.len >= 3) - hair_s.Blend(rgb(h_col[1], h_col[2], h_col[3]), ICON_MULTIPLY) - overlays |= image(hair_s, "pixel_y" = head_offset) - return mob_icon - /obj/item/organ/external/head/vr var/eye_icons_vr = 'icons/mob/human_face_vr.dmi' var/eye_icon_vr = "blank_eyes" - var/head_offset = 0 eye_icon = "blank_eyes" /obj/item/organ/external/head/vr/sergal diff --git a/code/modules/vore/appearance/preferences_vr.dm b/code/modules/vore/appearance/preferences_vr.dm index 5897cb2a484..01caeda13da 100644 --- a/code/modules/vore/appearance/preferences_vr.dm +++ b/code/modules/vore/appearance/preferences_vr.dm @@ -20,36 +20,3 @@ var/r_acc3 = 30 var/g_acc3 = 30 var/b_acc3 = 30 - var/datum/sprite_accessory/ears/ear_style = null - var/r_ears = 30 - var/g_ears = 30 - var/b_ears = 30 - var/r_ears2 = 30 - var/g_ears2 = 30 - var/b_ears2 = 30 - var/r_ears3 = 30 //Trust me, we could always use more colour. No japes. - var/g_ears3 = 30 - var/b_ears3 = 30 - var/datum/sprite_accessory/tail/tail_style = null - var/r_tail = 30 - var/g_tail = 30 - var/b_tail = 30 - var/r_tail2 = 30 - var/g_tail2 = 30 - var/b_tail2 = 30 - var/r_tail3 = 30 - var/g_tail3 = 30 - var/b_tail3 = 30 - var/datum/sprite_accessory/wing/wing_style = null - var/r_wing = 30 - var/g_wing = 30 - var/b_wing = 30 - var/r_wing2 = 30 - var/g_wing2 = 30 - var/b_wing2 = 30 - var/r_wing3 = 30 - var/g_wing3 = 30 - var/b_wing3 = 30 - - // Custom Species Name - var/custom_species diff --git a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm index db65f1dfa53..40b2708583f 100644 --- a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm +++ b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm @@ -1,117 +1,3 @@ -/datum/riding/taur - keytype = /obj/item/weapon/material/twohanded/fluff/riding_crop // Crack! - nonhuman_key_exemption = FALSE // If true, nonhumans who can't hold keys don't need them, like borgs and simplemobs. - key_name = "a riding crop" // What the 'keys' for the thing being rided on would be called. - only_one_driver = TRUE // If true, only the person in 'front' (first on list of riding mobs) can drive. - -/datum/riding/taur/handle_vehicle_layer() - if(ridden.has_buckled_mobs()) - ridden.layer = initial(ridden.layer) - else - var/mob/living/L = ridden - if(!(istype(L) && (L.status_flags & HIDING))) - ridden.layer = initial(ridden.layer) - -/datum/riding/taur/ride_check(mob/living/M) - var/mob/living/L = ridden - if(L.stat) - force_dismount(M) - return FALSE - return TRUE - -/datum/riding/taur/force_dismount(mob/M) - . = ..() - ridden.visible_message("[M] stops riding [ridden]!") - -//Hoooo boy. -/datum/riding/taur/get_offsets(pass_index) // list(dir = x, y, layer) - var/mob/living/L = ridden - var/scale = L.size_multiplier - - var/list/values = list( - "[NORTH]" = list(0, 8*scale, ABOVE_MOB_LAYER), - "[SOUTH]" = list(0, 8*scale, BELOW_MOB_LAYER), - "[EAST]" = list(-10*scale, 8*scale, ABOVE_MOB_LAYER), - "[WEST]" = list(10*scale, 8*scale, ABOVE_MOB_LAYER)) - - return values - -//Human overrides for taur riding -/mob/living/carbon/human - max_buckled_mobs = 1 //Yeehaw - can_buckle = TRUE - buckle_movable = TRUE - buckle_lying = FALSE - -/mob/living/carbon/human/buckle_mob(mob/living/M, forced = FALSE, check_loc = TRUE) - if(forced) - return ..() // Skip our checks - if(!isTaurTail(tail_style)) - return FALSE - else - var/datum/sprite_accessory/tail/taur/taurtype = tail_style - if(!taurtype.can_ride) - return FALSE - if(lying) - return FALSE - if(!ishuman(M)) - return FALSE - if(M in buckled_mobs) - return FALSE - if(M.size_multiplier > size_multiplier * 1.2) - to_chat(M,"This isn't a pony show! You need to be bigger for them to ride.") - return FALSE - if(M.loc != src.loc) - if(M.Adjacent(src)) - M.forceMove(get_turf(src)) - - var/mob/living/carbon/human/H = M - - if(isTaurTail(H.tail_style)) - var/datum/sprite_accessory/tail/taur/ridertype = H.tail_style - if(ridertype.can_ride) - if(istype(ridertype, /datum/sprite_accessory/tail/taur/naga) || istype(ridertype, /datum/sprite_accessory/tail/taur/slug)) - to_chat(src,"Too few legs. TOO FEW LEGS!!") - return FALSE - to_chat(src,"Too many legs. TOO MANY LEGS!!") - return FALSE - - . = ..() - if(.) - buckled_mobs[M] = "riding" - -/mob/living/carbon/human/MouseDrop_T(mob/living/M, mob/living/user) //Prevention for forced relocation caused by can_buckle. Base proc has no other use. - return - -/mob/living/carbon/human/proc/taur_mount(var/mob/living/M in living_mobs(1)) - set name = "Taur Mount/Dismount" - set category = "Abilities" - set desc = "Let people ride on you." - - if(LAZYLEN(buckled_mobs)) - var/datum/riding/R = riding_datum - for(var/rider in buckled_mobs) - R.force_dismount(rider) - return - if (stat != CONSCIOUS) - return - if(!can_buckle || !istype(M) || !M.Adjacent(src) || M.buckled) - return - if(buckle_mob(M)) - visible_message("[M] starts riding [name]!") - -/mob/living/carbon/human/attack_hand(mob/user as mob) - if(LAZYLEN(buckled_mobs)) - //We're getting off! - if(user in buckled_mobs) - riding_datum.force_dismount(user) - //We're kicking everyone off! - if(user == src) - for(var/rider in buckled_mobs) - riding_datum.force_dismount(rider) - else - . = ..() - /* //////////////////////////// / =--------------------= / @@ -128,12 +14,7 @@ do_colouration = 1 // Yes color, using tail color color_blend_mode = ICON_MULTIPLY // The sprites for taurs are designed for ICON_MULTIPLY - var/icon/suit_sprites = null //File for suit sprites, if any. - var/icon/under_sprites = null - - var/icon_sprite_tag // This is where we put stuff like _Horse, so we can assign icons easier. - - var/can_ride = 1 //whether we're real rideable taur or just in that category + can_ride = TRUE //whether we're real rideable taur or just in that category //Could do nested lists but it started becoming a nightmare. It'd be more fun for lookups of a_intent and m_intent, but then subtypes need to //duplicate all the messages, and it starts getting awkward. These are singletons, anyway! diff --git a/code/modules/vore/appearance/sprite_accessories_vr.dm b/code/modules/vore/appearance/sprite_accessories_vr.dm index 2e030fedf38..fc34887e5ec 100644 --- a/code/modules/vore/appearance/sprite_accessories_vr.dm +++ b/code/modules/vore/appearance/sprite_accessories_vr.dm @@ -27,9 +27,6 @@ do_colouration = 0 // Set to 1 to blend (ICON_ADD) hair color color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/extra_overlay // Icon state of an additional overlay to blend in. - var/extra_overlay2 - var/desc = "You should not see this..." // Species-unique ears @@ -742,14 +739,6 @@ do_colouration = 0 //Set to 1 to enable coloration using the tail color. color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/extra_overlay // Icon state of an additional overlay to blend in. - var/extra_overlay2 //Tertiary. - var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it. If the clothing is bulky enough to hide a tail, it should also hide wings. - // var/show_species_tail = 1 // Just so // TODO - Seems not needed ~Leshana - var/desc = "You should not see this..." - var/ani_state // State when flapping/animated - var/extra_overlay_w // Flapping state for extra overlay - var/extra_overlay2_w /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)" @@ -977,20 +966,6 @@ icon = 'icons/mob/vore/tails_vr.dmi' do_colouration = 0 //Set to 1 to enable coloration using the tail color. - color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1 - var/extra_overlay // Icon state of an additional overlay to blend in. - var/extra_overlay2 //Tertiary. - var/show_species_tail = 0 // If false, do not render species' tail. - var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it - var/desc = "You should not see this..." - var/ani_state // State when wagging/animated - var/extra_overlay_w // Wagging state for extra overlay - var/extra_overlay2_w // Tertiary wagging. - var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff. - var/icon/clip_mask_icon = null //Icon file used for clip mask. - var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits. - var/icon/clip_mask = null //Instantiated clip mask of given icon and state - /datum/sprite_accessory/tail/New() . = ..() if(clip_mask_icon && clip_mask_state) diff --git a/code/modules/vore/appearance/update_icons_vr.dm b/code/modules/vore/appearance/update_icons_vr.dm index 9185db35f38..15ebcc7c9f0 100644 --- a/code/modules/vore/appearance/update_icons_vr.dm +++ b/code/modules/vore/appearance/update_icons_vr.dm @@ -1,25 +1,3 @@ -var/global/list/wing_icon_cache = list() - -/mob/living/carbon/human/proc/get_ears_overlay() - if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) - var/icon/ears_s = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.icon_state) - if(ear_style.do_colouration) - ears_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), ear_style.color_blend_mode) - - if(ear_style.extra_overlay) - var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay) - overlay.Blend(rgb(src.r_ears2, src.g_ears2, src.b_ears2), ear_style.color_blend_mode) - ears_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - - if(ear_style.extra_overlay2) //MORE COLOURS IS BETTERER - var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay2) - overlay.Blend(rgb(src.r_ears3, src.g_ears3, src.b_ears3), ear_style.color_blend_mode) - ears_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - return ears_s - return null - /mob/living/carbon/human/proc/get_hair_accessory_overlay() if(hair_accessory_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) var/icon/hair_acc_s = icon(hair_accessory_style.icon, hair_accessory_style.icon_state) @@ -27,99 +5,3 @@ var/global/list/wing_icon_cache = list() hair_acc_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), hair_accessory_style.color_blend_mode) return hair_acc_s return null - - -/mob/living/carbon/human/proc/get_tail_image() - //If you are FBP with tail style and didn't set a custom one - var/datum/robolimb/model = isSynthetic() - if(istype(model) && model.includes_tail && !tail_style) - var/icon/tail_s = new/icon("icon" = synthetic.icon, "icon_state" = "tail") - tail_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD) - return image(tail_s) - - //If you have a custom tail selected - if(tail_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL && !isTaurTail(tail_style))) - var/icon/tail_s = new/icon("icon" = tail_style.icon, "icon_state" = wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state) - if(tail_style.do_colouration) - tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_style.color_blend_mode) - if(tail_style.extra_overlay) - var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay) - if(wagging && tail_style.ani_state) - overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay_w) - overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode) - tail_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - else - overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode) - tail_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - - if(tail_style.extra_overlay2) - var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2) - if(wagging && tail_style.ani_state) - overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay2_w) - overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode) - tail_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - else - overlay.Blend(rgb(src.r_tail3, src.g_tail3, src.b_tail3), tail_style.color_blend_mode) - tail_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - - if(isTaurTail(tail_style)) - var/datum/sprite_accessory/tail/taur/taurtype = tail_style - if(taurtype.can_ride && !riding_datum) - riding_datum = new /datum/riding/taur(src) - verbs |= /mob/living/carbon/human/proc/taur_mount - verbs |= /mob/living/proc/toggle_rider_reins - return image(tail_s, "pixel_x" = -16) - else - return image(tail_s) - return null - -/mob/living/carbon/human/proc/get_wing_image() - if(QDESTROYING(src)) - return - - //If you are FBP with wing style and didn't set a custom one - if((synthetic && synthetic.includes_wing && !wing_style) && !wings_hidden) - var/icon/wing_s = new/icon("icon" = synthetic.icon, "icon_state" = "wing") //I dunno. If synths have some custom wing? - wing_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD) - return image(wing_s) - - //If you have custom wings selected - if((wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) && !wings_hidden) - 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) - 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) - var/icon/overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay) - overlay.Blend(rgb(src.r_wing2, src.g_wing2, src.b_wing2), wing_style.color_blend_mode) - wing_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - - if(wing_style.extra_overlay2) - var/icon/overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay2) - if(wing_style.ani_state) - overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay2_w) - overlay.Blend(rgb(src.r_wing3, src.g_wing3, src.b_wing3), wing_style.color_blend_mode) - wing_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - else - overlay.Blend(rgb(src.r_wing3, src.g_wing3, src.b_wing3), wing_style.color_blend_mode) - wing_s.Blend(overlay, ICON_OVERLAY) - qdel(overlay) - - return image(wing_s) - - -// TODO - Move this to where it should go ~Leshana -/mob/proc/stop_flying() - if(QDESTROYING(src)) - return - flying = FALSE - return 1 - -/mob/living/carbon/human/stop_flying() - if((. = ..())) - update_wing_showing() \ No newline at end of file diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index db781017df9..8194188dfcf 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -24,7 +24,6 @@ var/absorbing_prey = 0 // Determines if the person is using the succubus drain or not. See station_special_abilities_vr. var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time. var/fuzzy = 1 // Preference toggle for sharp/fuzzy icon. - var/tail_alt = 0 // Tail layer toggle. var/permit_healbelly = TRUE var/can_be_drop_prey = FALSE var/can_be_drop_pred = TRUE // Mobs are pred by default. diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 74d6df80fca..43303f979c3 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -995,23 +995,6 @@ /obj/item/weapon/material/twohanded/fluff/New(var/newloc) ..(newloc," ") //See materials_vr_dmi for more information as to why this is a blank space. -//General use. -/obj/item/weapon/material/twohanded/fluff/riding_crop - name = "riding crop" - desc = "A steel rod, a little over a foot long with a widened grip and a thick, leather patch at the end. Made to smack naughty submissives." - //force_wielded = 0.05 //Stings, but does jack shit for damage, provided you don't hit someone 100 times. 1 damage with hardness of 60. - force_divisor = 0.05 //Required in order for the X attacks Y message to pop up. - unwielded_force_divisor = 1 // One here, too. - applies_material_colour = 0 - unbreakable = 1 - base_icon = "riding_crop" - icon_state = "riding_crop0" - attack_verb = list("cropped","spanked","swatted","smacked","peppered") -//1R1S: Malady Blanche -/obj/item/weapon/material/twohanded/fluff/riding_crop/malady - name = "Malady's riding crop" - desc = "An infernum made riding crop with Malady Blanche engraved in the shaft. It's a little worn from how many butts it has spanked." - //jacknoir413:Areax Third /obj/item/weapon/melee/baton/fluff/stunstaff name = "Electrostaff" diff --git a/vorestation.dme b/vorestation.dme index 49aff50d22d..65397ff3afe 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1340,6 +1340,7 @@ #include "code\game\objects\items\weapons\material\swords.dm" #include "code\game\objects\items\weapons\material\thrown.dm" #include "code\game\objects\items\weapons\material\twohanded.dm" +#include "code\game\objects\items\weapons\material\twohanded_vr.dm" #include "code\game\objects\items\weapons\material\whetstone.dm" #include "code\game\objects\items\weapons\melee\deflect.dm" #include "code\game\objects\items\weapons\melee\energy.dm" @@ -2953,11 +2954,11 @@ #include "code\modules\mob\new_player\preferences_setup_vr.dm" #include "code\modules\mob\new_player\skill.dm" #include "code\modules\mob\new_player\sprite_accessories.dm" -#include "code\modules\mob\new_player\sprite_accessories_vr.dm" #include "code\modules\mob\new_player\sprite_accessories_ear.dm" #include "code\modules\mob\new_player\sprite_accessories_extra.dm" #include "code\modules\mob\new_player\sprite_accessories_tail.dm" #include "code\modules\mob\new_player\sprite_accessories_taur.dm" +#include "code\modules\mob\new_player\sprite_accessories_vr.dm" #include "code\modules\mob\new_player\sprite_accessories_wing.dm" #include "code\modules\modular_computers\laptop_vendor.dm" #include "code\modules\modular_computers\computers\modular_computer\core.dm" @@ -3060,8 +3061,8 @@ #include "code\modules\organs\organ_stump.dm" #include "code\modules\organs\pain.dm" #include "code\modules\organs\robolimbs.dm" -#include "code\modules\organs\robolimbs_vr.dm" #include "code\modules\organs\robolimbs_custom.dm" +#include "code\modules\organs\robolimbs_vr.dm" #include "code\modules\organs\wound.dm" #include "code\modules\organs\internal\appendix.dm" #include "code\modules\organs\internal\augment.dm"