mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Issue #4 - Implement custom tails, ears, and taurs.
- Added datums and icons for custom ears. - Added datums and icons for custom tails. - Added datums and icons for taurs, now a subtype of tails. - Integrated into icon_updates() for in game appearance. - Integrated into preferences_setup() for character setup preview. - Added ears and tails to the character setup screen. - Enabled nagataur support for micro/macro step-over messages.
This commit is contained in:
@@ -2,6 +2,9 @@
|
|||||||
* VOREStation global lists
|
* VOREStation global lists
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
var/global/list/ear_styles_list = list() // Stores /datum/sprite_accessory/ears indexed by type
|
||||||
|
var/global/list/tail_styles_list = list() // Stores /datum/sprite_accessory/tail indexed by type
|
||||||
|
|
||||||
//stores numeric player size options indexed by name
|
//stores numeric player size options indexed by name
|
||||||
var/global/list/player_sizes_list = list(
|
var/global/list/player_sizes_list = list(
|
||||||
"Macro" = RESIZE_HUGE,
|
"Macro" = RESIZE_HUGE,
|
||||||
@@ -73,3 +76,20 @@ var/global/list/struggle_sounds = list(
|
|||||||
"Squish2" = 'sound/vore/squish2.ogg',
|
"Squish2" = 'sound/vore/squish2.ogg',
|
||||||
"Squish3" = 'sound/vore/squish3.ogg',
|
"Squish3" = 'sound/vore/squish3.ogg',
|
||||||
"Squish4" = 'sound/vore/squish4.ogg')
|
"Squish4" = 'sound/vore/squish4.ogg')
|
||||||
|
|
||||||
|
|
||||||
|
/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
|
||||||
|
return 1 // Hooks must return 1
|
||||||
|
|||||||
121
code/modules/client/preference_setup/vore/01_ears.dm
Normal file
121
code/modules/client/preference_setup/vore/01_ears.dm
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
// Super Global Stuff
|
||||||
|
/datum/category_collection/player_setup_collection/proc/copy_to_mob(var/mob/living/carbon/human/C)
|
||||||
|
for(var/datum/category_group/player_setup_category/PS in categories)
|
||||||
|
PS.copy_to_mob(C)
|
||||||
|
|
||||||
|
/datum/category_group/player_setup_category/proc/copy_to_mob(var/mob/living/carbon/human/C)
|
||||||
|
for(var/datum/category_item/player_setup_item/PI in items)
|
||||||
|
PI.copy_to_mob(C)
|
||||||
|
|
||||||
|
/datum/category_item/player_setup_item/proc/copy_to_mob(var/mob/living/carbon/human/C)
|
||||||
|
return
|
||||||
|
|
||||||
|
// Global stuff that will put us on the map
|
||||||
|
/datum/category_group/player_setup_category/vore
|
||||||
|
name = "VORE"
|
||||||
|
sort_order = 7
|
||||||
|
category_item_type = /datum/category_item/player_setup_item/vore
|
||||||
|
|
||||||
|
// Definition of the stuff for Ears
|
||||||
|
/datum/category_item/player_setup_item/vore/ears
|
||||||
|
name = "Ears"
|
||||||
|
sort_order = 1
|
||||||
|
|
||||||
|
/datum/category_item/player_setup_item/vore/ears/load_character(var/savefile/S)
|
||||||
|
S["ear_style"] >> pref.ear_style
|
||||||
|
S["tail_style"] >> pref.tail_style
|
||||||
|
S["r_tail"] >> pref.r_tail
|
||||||
|
S["g_tail"] >> pref.g_tail
|
||||||
|
S["b_tail"] >> pref.b_tail
|
||||||
|
|
||||||
|
/datum/category_item/player_setup_item/vore/ears/save_character(var/savefile/S)
|
||||||
|
S["ear_style"] << pref.ear_style
|
||||||
|
S["tail_style"] << pref.tail_style
|
||||||
|
S["r_tail"] << pref.r_tail
|
||||||
|
S["g_tail"] << pref.g_tail
|
||||||
|
S["b_tail"] << pref.b_tail
|
||||||
|
|
||||||
|
/datum/category_item/player_setup_item/vore/ears/sanitize_character()
|
||||||
|
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))
|
||||||
|
if(pref.ear_style)
|
||||||
|
pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style))
|
||||||
|
if(pref.tail_style)
|
||||||
|
pref.tail_style = sanitize_inlist(pref.tail_style, tail_styles_list, initial(pref.tail_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.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
|
||||||
|
|
||||||
|
/datum/category_item/player_setup_item/vore/ears/content(var/mob/user)
|
||||||
|
. += "<h2>VORE Station Settings</h2>"
|
||||||
|
|
||||||
|
pref.update_preview_icon()
|
||||||
|
if(pref.preview_icon_front && pref.preview_icon_side)
|
||||||
|
user << browse_rsc(pref.preview_icon_front, "preview_icon.png")
|
||||||
|
user << browse_rsc(pref.preview_icon_side, "preview_icon2.png")
|
||||||
|
. += "<b>Preview</b><br>"
|
||||||
|
. += "<img src=preview_icon.png height=64 width=64><img src=preview_icon2.png height=64 width=64><br>"
|
||||||
|
|
||||||
|
. += "<b>Ears</b><br>"
|
||||||
|
. += " Style: <a href='?src=\ref[src];ear_style=1'>[pref.ear_style ? "Custom" : "Normal"]</a><br>"
|
||||||
|
|
||||||
|
. += "<b>Tail</b><br>"
|
||||||
|
. += " Style: <a href='?src=\ref[src];tail_style=1'>[pref.tail_style ? "Custom" : "Normal"]</a><br>"
|
||||||
|
if(tail_styles_list[pref.tail_style])
|
||||||
|
var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style]
|
||||||
|
if (T.do_colouration)
|
||||||
|
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> \
|
||||||
|
<font face='fixedsys' size='3' color='\
|
||||||
|
#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail, 2)]'>\
|
||||||
|
<table style='display:inline;' bgcolor='\
|
||||||
|
#[num2hex(pref.r_tail, 2)][num2hex(pref.g_tail, 2)][num2hex(pref.b_tail)]'>\
|
||||||
|
<tr><td>__</td></tr></table> </font> "
|
||||||
|
|
||||||
|
/datum/category_item/player_setup_item/vore/ears/OnTopic(var/href,var/list/href_list, var/mob/user)
|
||||||
|
|
||||||
|
if(href_list["ear_style"])
|
||||||
|
// Construct the list of names allowed for this user.
|
||||||
|
var/list/pretty_ear_styles = list("Normal")
|
||||||
|
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))
|
||||||
|
pretty_ear_styles[instance.name] = path
|
||||||
|
|
||||||
|
// Present choice to user
|
||||||
|
var/selection = input(user, "Pick ears", "Character Preference") as null|anything in pretty_ear_styles
|
||||||
|
if(selection && selection != "Normal")
|
||||||
|
pref.ear_style = pretty_ear_styles[selection]
|
||||||
|
else
|
||||||
|
pref.ear_style = null
|
||||||
|
return TOPIC_REFRESH
|
||||||
|
|
||||||
|
else if(href_list["tail_style"])
|
||||||
|
// Construct the list of names allowed for this user.
|
||||||
|
var/list/pretty_tail_styles = list("Normal")
|
||||||
|
for(var/path in tail_styles_list)
|
||||||
|
var/datum/sprite_accessory/tail/instance = tail_styles_list[path]
|
||||||
|
if((!instance.ckeys_allowed) || (user.ckey in instance.ckeys_allowed))
|
||||||
|
pretty_tail_styles[instance.name] = path
|
||||||
|
|
||||||
|
// Present choice to user
|
||||||
|
var/selection = input(user, "Pick tails", "Character Preference") as null|anything in pretty_tail_styles
|
||||||
|
if(selection && selection != "Normal")
|
||||||
|
pref.tail_style = pretty_tail_styles[selection]
|
||||||
|
else
|
||||||
|
pref.tail_style = null
|
||||||
|
return TOPIC_REFRESH
|
||||||
|
|
||||||
|
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
|
||||||
|
return ..()
|
||||||
@@ -256,6 +256,11 @@ datum/preferences
|
|||||||
/datum/preferences/proc/copy_to(mob/living/carbon/human/character, safety = 0)
|
/datum/preferences/proc/copy_to(mob/living/carbon/human/character, safety = 0)
|
||||||
// Sanitizing rather than saving as someone might still be editing when copy_to occurs.
|
// Sanitizing rather than saving as someone might still be editing when copy_to occurs.
|
||||||
player_setup.sanitize_setup()
|
player_setup.sanitize_setup()
|
||||||
|
|
||||||
|
// VOREStation Edit - Start
|
||||||
|
player_setup.copy_to_mob(character)
|
||||||
|
// VOREStation Edit - End
|
||||||
|
|
||||||
if(be_random_name)
|
if(be_random_name)
|
||||||
real_name = random_name(identifying_gender,species)
|
real_name = random_name(identifying_gender,species)
|
||||||
|
|
||||||
|
|||||||
@@ -373,6 +373,12 @@ var/global/list/damage_icon_parts = list()
|
|||||||
|
|
||||||
face_standing.Blend(hair_s, ICON_OVERLAY)
|
face_standing.Blend(hair_s, ICON_OVERLAY)
|
||||||
|
|
||||||
|
// VOREStation Edit - START
|
||||||
|
var/icon/ears_s = get_ears_overlay()
|
||||||
|
if (ears_s)
|
||||||
|
face_standing.Blend(ears_s, ICON_OVERLAY)
|
||||||
|
// VOREStation Edit - END
|
||||||
|
|
||||||
overlays_standing[HAIR_LAYER] = image(face_standing)
|
overlays_standing[HAIR_LAYER] = image(face_standing)
|
||||||
|
|
||||||
if(update_icons) update_icons()
|
if(update_icons) update_icons()
|
||||||
@@ -963,6 +969,14 @@ var/global/list/damage_icon_parts = list()
|
|||||||
/mob/living/carbon/human/proc/update_tail_showing(var/update_icons=1)
|
/mob/living/carbon/human/proc/update_tail_showing(var/update_icons=1)
|
||||||
overlays_standing[TAIL_LAYER] = null
|
overlays_standing[TAIL_LAYER] = null
|
||||||
|
|
||||||
|
// VOREStation Edit - START
|
||||||
|
overlays_standing[TAIL_LAYER] = get_tail_image()
|
||||||
|
if(overlays_standing[TAIL_LAYER])
|
||||||
|
if(update_icons)
|
||||||
|
update_icons()
|
||||||
|
return
|
||||||
|
// VOREStation Edit - END
|
||||||
|
|
||||||
if(species.tail && !(wear_suit && wear_suit.flags_inv & HIDETAIL))
|
if(species.tail && !(wear_suit && wear_suit.flags_inv & HIDETAIL))
|
||||||
var/icon/tail_s = get_tail_icon()
|
var/icon/tail_s = get_tail_icon()
|
||||||
overlays_standing[TAIL_LAYER] = image(tail_s, icon_state = "[species.tail]_s")
|
overlays_standing[TAIL_LAYER] = image(tail_s, icon_state = "[species.tail]_s")
|
||||||
|
|||||||
@@ -246,9 +246,31 @@
|
|||||||
limb_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
|
limb_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
|
||||||
preview_icon.Blend(limb_icon, ICON_OVERLAY)
|
preview_icon.Blend(limb_icon, ICON_OVERLAY)
|
||||||
|
|
||||||
//Tail
|
//Tails
|
||||||
if(current_species && (current_species.tail))
|
|
||||||
var/icon/temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[current_species.tail]_s")
|
// VoreStation Edit - Start
|
||||||
|
var/show_species_tail = 1
|
||||||
|
if(src.tail_style && tail_styles_list[src.tail_style])
|
||||||
|
var/datum/sprite_accessory/tail/tail_meta = tail_styles_list[src.tail_style]
|
||||||
|
var/icon/tail_s = new/icon("icon" = tail_meta.icon, "icon_state" = tail_meta.icon_state)
|
||||||
|
if(tail_meta.do_colouration)
|
||||||
|
tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_meta.do_colouration)
|
||||||
|
if(tail_meta.extra_overlay)
|
||||||
|
var/icon/overlay = new/icon("icon" = tail_meta.icon, "icon_state" = tail_meta.extra_overlay)
|
||||||
|
tail_s.Blend(overlay, ICON_OVERLAY)
|
||||||
|
qdel(overlay)
|
||||||
|
|
||||||
|
show_species_tail = tail_meta.show_species_tail
|
||||||
|
if(istype(tail_meta, /datum/sprite_accessory/tail/taur))
|
||||||
|
preview_icon.Blend(tail_s, ICON_OVERLAY, -16)
|
||||||
|
else
|
||||||
|
preview_icon.Blend(tail_s, ICON_OVERLAY)
|
||||||
|
// VoreStation Edit - End
|
||||||
|
|
||||||
|
if(show_species_tail && current_species && (current_species.tail))
|
||||||
|
var/icon/temp = new/icon(
|
||||||
|
"icon" = (current_species.icobase_tail ? current_species.icobase : 'icons/effects/species.dmi'),
|
||||||
|
"icon_state" = "[current_species.tail]_s")
|
||||||
if(current_species && (current_species.appearance_flags & HAS_SKIN_COLOR))
|
if(current_species && (current_species.appearance_flags & HAS_SKIN_COLOR))
|
||||||
temp.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD)
|
temp.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD)
|
||||||
if(current_species && (current_species.appearance_flags & HAS_SKIN_TONE))
|
if(current_species && (current_species.appearance_flags & HAS_SKIN_TONE))
|
||||||
@@ -284,6 +306,19 @@
|
|||||||
facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD)
|
facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD)
|
||||||
eyes_s.Blend(facial_s, ICON_OVERLAY)
|
eyes_s.Blend(facial_s, ICON_OVERLAY)
|
||||||
|
|
||||||
|
// VoreStation Edit - Start
|
||||||
|
// Ear Items
|
||||||
|
var/datum/sprite_accessory/ears/ears_meta = ear_styles_list[src.ear_style]
|
||||||
|
if(ears_meta)
|
||||||
|
var/icon/ears_s = icon("icon" = ears_meta.icon, "icon_state" = ears_meta.icon_state)
|
||||||
|
if(ears_meta.do_colouration)
|
||||||
|
ears_s.Blend(rgb(src.r_hair, src.g_hair, src.b_hair), ears_meta.do_colouration)
|
||||||
|
if(ears_meta.extra_overlay)
|
||||||
|
var/icon/overlay = new/icon("icon" = ears_meta.icon, "icon_state" = ears_meta.extra_overlay)
|
||||||
|
ears_s.Blend(overlay, ICON_OVERLAY)
|
||||||
|
eyes_s.Blend(ears_s, ICON_OVERLAY)
|
||||||
|
// Vore Station Edit - End
|
||||||
|
|
||||||
var/icon/underwear_top_s = null
|
var/icon/underwear_top_s = null
|
||||||
if(underwear_top && current_species.appearance_flags & HAS_UNDERWEAR)
|
if(underwear_top && current_species.appearance_flags & HAS_UNDERWEAR)
|
||||||
underwear_top_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear_top)
|
underwear_top_s = new/icon("icon" = 'icons/mob/human.dmi', "icon_state" = underwear_top)
|
||||||
|
|||||||
25
code/modules/vore/appearance/preferences_vr.dm
Normal file
25
code/modules/vore/appearance/preferences_vr.dm
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
/**
|
||||||
|
* Additional variables that must be defined on /mob/living/carbon/human
|
||||||
|
* for use in code that is part of the vore modules.
|
||||||
|
*
|
||||||
|
* These variables are declared here (separately from the normal human_defines.dm)
|
||||||
|
* in order to isolate VOREStation changes and ease merging of other codebases.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Additional vars
|
||||||
|
/mob/living/carbon/human
|
||||||
|
|
||||||
|
// Horray Furries!
|
||||||
|
var/datum/sprite_accessory/ears/ear_style = null
|
||||||
|
var/datum/sprite_accessory/tail/tail_style = null
|
||||||
|
var/r_tail = 30
|
||||||
|
var/g_tail = 30
|
||||||
|
var/b_tail = 30
|
||||||
|
|
||||||
|
/datum/preferences
|
||||||
|
// Appearance
|
||||||
|
var/ear_style // Type of selected ear style
|
||||||
|
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
|
||||||
44
code/modules/vore/appearance/spider_taur_powers_vr.dm
Normal file
44
code/modules/vore/appearance/spider_taur_powers_vr.dm
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
// ---------------------------------------------
|
||||||
|
// -!-!-!-!-!-!-!-!- READ ME -!-!-!-!-!-!-!-!-!-
|
||||||
|
// ---------------------------------------------
|
||||||
|
|
||||||
|
//Beep beep hello
|
||||||
|
//
|
||||||
|
//Use this file to define the exclusive abilities of the spidertaur folk
|
||||||
|
//
|
||||||
|
//ahuhuhuhu
|
||||||
|
//-Antsnap
|
||||||
|
|
||||||
|
obj/item/clothing/suit/web_bindings
|
||||||
|
icon = 'icons/obj/clothing/suits.dmi'
|
||||||
|
name = "web bindings"
|
||||||
|
desc = "A webbed cocoon that completely restrains the wearer."
|
||||||
|
icon_state = "web_bindings"
|
||||||
|
item_state = "web_bindings"
|
||||||
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||||
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
|
||||||
|
|
||||||
|
/* //Commenting all this out, as people keep abusing it. Sorry!
|
||||||
|
mob/proc/weaveWeb()
|
||||||
|
set name = "Weave Web"
|
||||||
|
set category = "Species Powers"
|
||||||
|
if(nutrition >= 500) //People decided to abuse it. Sorry. It was asked to be made so it couldn't be spammed, and what do ya know, people are spamming it everywhere.
|
||||||
|
src.visible_message("\blue \the [src] weaves a web from their spinneret silk.")
|
||||||
|
nutrition -= 500
|
||||||
|
spawn(30) //3 seconds to form
|
||||||
|
new /obj/effect/spider/stickyweb(src.loc)
|
||||||
|
else
|
||||||
|
src << "You do not have enough nutrition to create webbing!"
|
||||||
|
*/
|
||||||
|
|
||||||
|
mob/proc/weaveWebBindings()
|
||||||
|
set name = "Weave Web Bindings"
|
||||||
|
set category = "Species Powers"
|
||||||
|
if(nutrition >= 30) //This isn't a huge problem. This is so you can bind people up.
|
||||||
|
src.visible_message("\blue \the [src] pulls silk from their spinneret and delicately weaves it into bindings.")
|
||||||
|
nutrition -= 30
|
||||||
|
spawn(30) //5 seconds to weave the bindings~
|
||||||
|
var/obj/item/clothing/suit/web_bindings/bindings = new() //This sprite is amazing, I must say.
|
||||||
|
src.put_in_hands(bindings)
|
||||||
|
else
|
||||||
|
src << "You do not have enough nutrition to create webbing!" //CK~
|
||||||
490
code/modules/vore/appearance/sprite_accessories_vr.dm
Normal file
490
code/modules/vore/appearance/sprite_accessories_vr.dm
Normal file
@@ -0,0 +1,490 @@
|
|||||||
|
/*
|
||||||
|
Hello and welcome to VOREStation sprite_accessories: For a more general overview
|
||||||
|
please read sprite_accessories.dm. This file is for ears, tails, and taur bodies!
|
||||||
|
|
||||||
|
This is intended to be friendly for people with little to no actual coding experience.
|
||||||
|
|
||||||
|
!!WARNING!!: changing existing accessory information can be VERY hazardous to savefiles,
|
||||||
|
to the point where you may completely corrupt a server's savefiles. Please refrain
|
||||||
|
from doing this unless you absolutely know what you are doing, and have defined a
|
||||||
|
conversion in savefile.dm
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Add Additional variable onto sprite_accessory
|
||||||
|
/datum/sprite_accessory
|
||||||
|
// Ckey of person allowed to use this, if defined.
|
||||||
|
var/list/ckeys_allowed = null
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////
|
||||||
|
/ =--------------------= /
|
||||||
|
/ == Ear Definitions == /
|
||||||
|
/ =--------------------= /
|
||||||
|
////////////////////////////
|
||||||
|
*/
|
||||||
|
/datum/sprite_accessory/ears
|
||||||
|
name = "You should not see this..."
|
||||||
|
icon = 'icons/mob/vore/ears_vr.dmi'
|
||||||
|
do_colouration = 0 //Set to ICON_MULTIPLY or ICON_ADD to convert greyscale to the haircolor
|
||||||
|
|
||||||
|
var/extra_overlay // Icon state of an additional overlay to blend in.
|
||||||
|
var/desc = "You should not see this..."
|
||||||
|
|
||||||
|
// Ears avaliable to anyone
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/squirrel_orange
|
||||||
|
name = "squirel, orange"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "squirrel-orange"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/squirrel_red
|
||||||
|
name = "squirrel, red"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "squirrel-red"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/squirrel
|
||||||
|
name = "squirrel, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "squirrel"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/kitty
|
||||||
|
name = "kitty, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "kitty"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
extra_overlay = "kittyinner"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/bunny
|
||||||
|
name = "bunny, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bunny"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/bunny_white
|
||||||
|
name = "bunny, white"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bunny"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/bear_brown
|
||||||
|
name = "bear, brown"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bear-brown"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/bear
|
||||||
|
name = "bear, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bear"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/wolf_grey
|
||||||
|
name = "wolf, grey"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf-grey"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/wolf_green
|
||||||
|
name = "wolf, green"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf-green"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/wisewolf
|
||||||
|
name = "wolf, wise"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf-wise"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/wolf
|
||||||
|
name = "wolf, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
extra_overlay = "wolfinner"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/mouse_grey
|
||||||
|
name = "mouse, grey"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "mouse-grey"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/mouse
|
||||||
|
name = "mouse, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "mouse"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
extra_overlay = "mouseinner"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/bee
|
||||||
|
name = "bee antennae"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bee"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/oni_h1
|
||||||
|
name = "oni horns"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "oni-h1"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/demon_horns1
|
||||||
|
name = "demon horns"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "demon-horns1"
|
||||||
|
|
||||||
|
// Special snowflake ears go below here.
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/molenar_kitsune
|
||||||
|
name = "quintail kitsune ears (Molenar)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "molenar-kitsune"
|
||||||
|
ckeys_allowed = list("molenar")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/molenar_deathclaw
|
||||||
|
name = "deathclaw ears (Molenar)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "molenar-deathclaw"
|
||||||
|
ckeys_allowed = list("molenar")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/runac
|
||||||
|
name = "fennecsune ears (Runac)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "runac"
|
||||||
|
ckeys_allowed = list("rebcom1807")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/kerena
|
||||||
|
name = "wingwolf ears (Kerena)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "kerena"
|
||||||
|
ckeys_allowed = list("somekindofpony")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/rosey
|
||||||
|
name = "tritail kitsune ears (Rosey)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "rosey"
|
||||||
|
ckeys_allowed = list("joey4298")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/ears/aronai
|
||||||
|
name = "aronai ears/head (Aronai)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "aronai"
|
||||||
|
ckeys_allowed = list("arokha")
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////
|
||||||
|
/ =--------------------= /
|
||||||
|
/ == Tail Definitions == /
|
||||||
|
/ =--------------------= /
|
||||||
|
////////////////////////////
|
||||||
|
*/
|
||||||
|
/datum/sprite_accessory/tail
|
||||||
|
name = "You should not see this..."
|
||||||
|
icon = 'icons/mob/vore/tails_vr.dmi'
|
||||||
|
do_colouration = 0 //Set to ICON_MULTIPLY or ICON_ADD to convert greyscale to the haircolor
|
||||||
|
|
||||||
|
var/extra_overlay // Icon state of an additional overlay to blend in.
|
||||||
|
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..."
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/invisible
|
||||||
|
name = "hide species-sprite tail"
|
||||||
|
icon = null
|
||||||
|
icon_state = null
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/squirrel_orange
|
||||||
|
name = "squirel, orange"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "squirrel-orange"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/squirrel_red
|
||||||
|
name = "squirrel, red"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "squirrel-red"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/squirrel
|
||||||
|
name = "squirrel, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "squirrel"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/kitty
|
||||||
|
name = "kitty, hair-colored, downwards"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "kittydown"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/kittyup
|
||||||
|
name = "kitty, hair-colored, upwards"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "kittyup"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/tiger_white
|
||||||
|
name = "tiger, hair-colored, white stripes"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "tiger"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
extra_overlay = "tigerinnerwhite"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/tiger_black
|
||||||
|
name = "tiger, hair-colored, black stripes"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "tiger"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
extra_overlay = "tigerinnerblack"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/stripey
|
||||||
|
name = "stripey taj, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "stripeytail"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/stripeytail_brown
|
||||||
|
name = "stripey taj, brown"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "stripeytail-brown"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/bunny
|
||||||
|
name = "bunny, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bunny"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/bear_brown
|
||||||
|
name = "bear, brown"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bear-brown"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/bear
|
||||||
|
name = "bear, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bear"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/wolf_grey
|
||||||
|
name = "wolf, grey"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf-grey"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/wolf_green
|
||||||
|
name = "wolf, green"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf-green"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/wisewolf
|
||||||
|
name = "wolf, wise"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf-wise"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/blackwolf
|
||||||
|
name = "wolf, black"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/wolf
|
||||||
|
name = "wolf, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "wolf"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
extra_overlay = "wolfinner"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/mouse_grey
|
||||||
|
name = "mouse, grey"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "mouse-grey"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/crossfox
|
||||||
|
name = "cross fox"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "crossfox"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/mouse
|
||||||
|
name = "mouse, hair-colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "mouse"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
extra_overlay = "mouseinner"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/bee
|
||||||
|
name = "bee thorax (+wings)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bee"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/succubus_purple
|
||||||
|
name = "succubus, purple (+wings)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "succubus-purple"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/succubus_red
|
||||||
|
name = "succubus, red (+wings)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "succubus-red"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/succubus_black
|
||||||
|
name = "succubus, black (+wings)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "succubus-black"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/bat_black
|
||||||
|
name = "bat wings, black"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bat-black"
|
||||||
|
show_species_tail = 1
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/bat_red
|
||||||
|
name = "bat wings, red"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "bat-red"
|
||||||
|
show_species_tail = 1
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/snag
|
||||||
|
name = "xenomorph tail w/ backplate"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "snag"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/xenotail
|
||||||
|
name = "xenomorph tail"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "xenotail"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/molenar_kitsune
|
||||||
|
name = "quintail kitsune tails (Molenar)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "molenar-kitsune"
|
||||||
|
ckeys_allowed = list("molenar")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/molenar_deathclaw
|
||||||
|
name = "deathclaw bits (Molenar)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "molenar-deathclaw"
|
||||||
|
ckeys_allowed = list("molenar","jertheace")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/runac
|
||||||
|
name = "fennecsune tails (Runac)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "runac"
|
||||||
|
ckeys_allowed = list("rebcom1807")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/kerena
|
||||||
|
name = "wingwolf tail (+wings) (Kerena)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "kerena"
|
||||||
|
ckeys_allowed = list("somekindofpony")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/rosey
|
||||||
|
name = "tritail kitsune tails (Rosey)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "rosey"
|
||||||
|
ckeys_allowed = list("joey4298")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/scree
|
||||||
|
name = "green taj tail (+wings) (Scree)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "scree"
|
||||||
|
ckeys_allowed = list("scree")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/aronai
|
||||||
|
name = "aronai tail (Aronai)"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "aronai"
|
||||||
|
ckeys_allowed = list("arokha")
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/feathered
|
||||||
|
name = "feathered wings"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "feathered"
|
||||||
|
|
||||||
|
// TODO - Leshana - What is this?
|
||||||
|
/datum/sprite_accessory/tail/special
|
||||||
|
name = "Blank tail. Do not select."
|
||||||
|
icon = 'icons/effects/species.dmi'
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/unathi
|
||||||
|
name = "unathi tail"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "sogtail_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/tajaran
|
||||||
|
name = "tajaran tail"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "tajtail_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/sergal
|
||||||
|
name = "sergal tail"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "sergtail_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/akula
|
||||||
|
name = "akula tail"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "sharktail_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/nevrean
|
||||||
|
name = "nevrean tail"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "nevrean_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/unathihc
|
||||||
|
name = "unathi tail, hair colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "sogtail_s"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/tajaranhc
|
||||||
|
name = "tajaran tail, hair colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "tajtail_s"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/sergalhc
|
||||||
|
name = "sergal tail, hair colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "sergtail_s"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/akulahc
|
||||||
|
name = "akula tail, hair colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "sharktail_s"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/special/nevreanhc
|
||||||
|
name = "nevrean tail, hair colored"
|
||||||
|
desc = ""
|
||||||
|
icon_state = "nevrean_s"
|
||||||
|
do_colouration = ICON_ADD
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
////////////////////////////
|
||||||
|
/ =--------------------= /
|
||||||
|
/ == Taur Definitions == /
|
||||||
|
/ =--------------------= /
|
||||||
|
////////////////////////////
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Taur sprites are now a subtype of tail since they are mutually exclusive anyway.
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/taur
|
||||||
|
name = "You should not see this..."
|
||||||
|
icon = 'icons/mob/vore/taurs_vr.dmi'
|
||||||
|
do_colouration = ICON_MULTIPLY // In fact, it should use tail color!
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/taur/wolf
|
||||||
|
name = "Wolf"
|
||||||
|
icon_state = "wolf_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/taur/naga
|
||||||
|
name = "Naga"
|
||||||
|
icon_state = "naga_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/taur/horse
|
||||||
|
name = "Horse"
|
||||||
|
icon_state = "horse_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/taur/cow
|
||||||
|
name = "Cow"
|
||||||
|
icon_state = "cow_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/taur/lizard
|
||||||
|
name = "Lizard"
|
||||||
|
icon_state = "lizard_s"
|
||||||
|
|
||||||
|
/datum/sprite_accessory/tail/taur/spider
|
||||||
|
name = "Spider"
|
||||||
|
icon_state = "spider_s"
|
||||||
30
code/modules/vore/appearance/update_icons_vr.dm
Normal file
30
code/modules/vore/appearance/update_icons_vr.dm
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
#define isTaurTail(A) istype(A, /datum/sprite_accessory/tail/taur)
|
||||||
|
|
||||||
|
/mob/living/carbon/human/proc/get_ears_overlay()
|
||||||
|
if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR)) && (src.species.get_bodytype() in ear_style.species_allowed))
|
||||||
|
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_hair, src.g_hair, src.b_hair), ear_style.do_colouration)
|
||||||
|
if(ear_style.extra_overlay)
|
||||||
|
var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay)
|
||||||
|
ears_s.Blend(overlay, ICON_OVERLAY)
|
||||||
|
return ears_s
|
||||||
|
return null
|
||||||
|
|
||||||
|
|
||||||
|
/mob/living/carbon/human/proc/get_tail_image()
|
||||||
|
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" = tail_style.icon_state)
|
||||||
|
if(tail_style.do_colouration)
|
||||||
|
tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_style.do_colouration)
|
||||||
|
if(tail_style.extra_overlay)
|
||||||
|
var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay)
|
||||||
|
tail_s.Blend(overlay, ICON_OVERLAY)
|
||||||
|
qdel(overlay)
|
||||||
|
|
||||||
|
if(isTaurTail(tail_style))
|
||||||
|
return image(tail_s, "pixel_x" = -16)
|
||||||
|
else
|
||||||
|
return image(tail_s)
|
||||||
|
return null
|
||||||
@@ -120,4 +120,4 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
|||||||
S["weight_gain"] << weight_gain
|
S["weight_gain"] << weight_gain
|
||||||
S["weight_loss"] << weight_loss
|
S["weight_loss"] << weight_loss
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
|||||||
now_pushing = 0
|
now_pushing = 0
|
||||||
if(src.get_effective_size() > tmob.get_effective_size())
|
if(src.get_effective_size() > tmob.get_effective_size())
|
||||||
var/mob/living/carbon/human/M = src
|
var/mob/living/carbon/human/M = src
|
||||||
if(0) // POLARISTODO istaur(src) && M.taur_style == 2)
|
if(istype(M) && istype(M.tail_style, /datum/sprite_accessory/tail/taur/naga))
|
||||||
src << "You carefully slither around [tmob]."
|
src << "You carefully slither around [tmob]."
|
||||||
tmob << "[src]'s huge tail slithers past beside you!"
|
tmob << "[src]'s huge tail slithers past beside you!"
|
||||||
else
|
else
|
||||||
@@ -118,7 +118,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
|||||||
tmob << "[src] steps over you carefully!"
|
tmob << "[src] steps over you carefully!"
|
||||||
if(tmob.get_effective_size() > src.get_effective_size())
|
if(tmob.get_effective_size() > src.get_effective_size())
|
||||||
var/mob/living/carbon/human/M = tmob
|
var/mob/living/carbon/human/M = tmob
|
||||||
if(0) // POLARISTODO istaur(src) && M.taur == 2)
|
if(istype(M) && istype(M.tail_style, /datum/sprite_accessory/tail/taur/naga))
|
||||||
src << "You jump over [tmob]'s thick tail."
|
src << "You jump over [tmob]'s thick tail."
|
||||||
tmob << "[src] bounds over your tail."
|
tmob << "[src] bounds over your tail."
|
||||||
else
|
else
|
||||||
@@ -144,7 +144,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
|||||||
tmob.Stun(4)
|
tmob.Stun(4)
|
||||||
|
|
||||||
var/mob/living/carbon/human/M = src
|
var/mob/living/carbon/human/M = src
|
||||||
if(0) // POLARISTODO istaur(src) && M.taur_style == 2)
|
if(istype(M) && istype(M.tail_style, /datum/sprite_accessory/tail/taur/naga))
|
||||||
src << "You carefully squish [tmob] under your tail!"
|
src << "You carefully squish [tmob] under your tail!"
|
||||||
tmob << "[src] pins you under their tail!"
|
tmob << "[src] pins you under their tail!"
|
||||||
else
|
else
|
||||||
@@ -159,7 +159,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
|||||||
tmob.apply_damage(10, HALLOSS)
|
tmob.apply_damage(10, HALLOSS)
|
||||||
|
|
||||||
var/mob/living/carbon/human/M = src
|
var/mob/living/carbon/human/M = src
|
||||||
if(0) // POLARISTODO istaur(src) && M.taur_style == 2)
|
if(istype(M) && istype(M.tail_style, /datum/sprite_accessory/tail/taur/naga))
|
||||||
src << "You steamroller over [tmob] with your heavy tail!"
|
src << "You steamroller over [tmob] with your heavy tail!"
|
||||||
tmob << "[src] ploughs you down mercilessly with their heavy tail!"
|
tmob << "[src] ploughs you down mercilessly with their heavy tail!"
|
||||||
else
|
else
|
||||||
@@ -176,13 +176,13 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2
|
|||||||
if(istype(M) && !M.shoes)
|
if(istype(M) && !M.shoes)
|
||||||
// User is a human (capable of scooping) and not wearing shoes! Scoop into foot slot!
|
// User is a human (capable of scooping) and not wearing shoes! Scoop into foot slot!
|
||||||
equip_to_slot_if_possible(tmob.get_scooped(M), slot_shoes, 0, 1)
|
equip_to_slot_if_possible(tmob.get_scooped(M), slot_shoes, 0, 1)
|
||||||
if(0) // POLARISTODO M.taur == 2)
|
if(istype(M.tail_style, /datum/sprite_accessory/tail/taur/naga))
|
||||||
src << "You wrap up [tmob] with your powerful tail!"
|
src << "You wrap up [tmob] with your powerful tail!"
|
||||||
tmob << "[src] binds you with their powerful tail!"
|
tmob << "[src] binds you with their powerful tail!"
|
||||||
else
|
else
|
||||||
src << "You clench your toes around [tmob]'s body!"
|
src << "You clench your toes around [tmob]'s body!"
|
||||||
tmob << "[src] grabs your body with their toes!"
|
tmob << "[src] grabs your body with their toes!"
|
||||||
else if(0) // POLARISTODO istaur(src) && M.taur_style == 2)
|
else if(istype(M) && istype(M.tail_style, /datum/sprite_accessory/tail/taur/naga))
|
||||||
src << "You carefully squish [tmob] under your tail!"
|
src << "You carefully squish [tmob] under your tail!"
|
||||||
tmob << "[src] pins you under their tail!"
|
tmob << "[src] pins you under their tail!"
|
||||||
else
|
else
|
||||||
|
|||||||
BIN
icons/mob/vore/ears_vr.dmi
Normal file
BIN
icons/mob/vore/ears_vr.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
BIN
icons/mob/vore/tails_vr.dmi
Normal file
BIN
icons/mob/vore/tails_vr.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
BIN
icons/mob/vore/taurs_vr.dmi
Normal file
BIN
icons/mob/vore/taurs_vr.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
@@ -1029,6 +1029,7 @@
|
|||||||
#include "code\modules\client\preference_setup\loadout\loadout_xeno.dm"
|
#include "code\modules\client\preference_setup\loadout\loadout_xeno.dm"
|
||||||
#include "code\modules\client\preference_setup\occupation\occupation.dm"
|
#include "code\modules\client\preference_setup\occupation\occupation.dm"
|
||||||
#include "code\modules\client\preference_setup\skills\skills.dm"
|
#include "code\modules\client\preference_setup\skills\skills.dm"
|
||||||
|
#include "code\modules\client\preference_setup\vore\01_ears.dm"
|
||||||
#include "code\modules\clothing\chameleon.dm"
|
#include "code\modules\clothing\chameleon.dm"
|
||||||
#include "code\modules\clothing\clothing.dm"
|
#include "code\modules\clothing\clothing.dm"
|
||||||
#include "code\modules\clothing\ears\skrell.dm"
|
#include "code\modules\clothing\ears\skrell.dm"
|
||||||
@@ -1896,6 +1897,10 @@
|
|||||||
#include "code\modules\virus2\items_devices.dm"
|
#include "code\modules\virus2\items_devices.dm"
|
||||||
#include "code\modules\vore\hook-defs_vr.dm"
|
#include "code\modules\vore\hook-defs_vr.dm"
|
||||||
#include "code\modules\vore\trycatch_vr.dm"
|
#include "code\modules\vore\trycatch_vr.dm"
|
||||||
|
#include "code\modules\vore\appearance\preferences_vr.dm"
|
||||||
|
#include "code\modules\vore\appearance\spider_taur_powers_vr.dm"
|
||||||
|
#include "code\modules\vore\appearance\sprite_accessories_vr.dm"
|
||||||
|
#include "code\modules\vore\appearance\update_icons_vr.dm"
|
||||||
#include "code\modules\vore\eating\belly_vr.dm"
|
#include "code\modules\vore\eating\belly_vr.dm"
|
||||||
#include "code\modules\vore\eating\bellymodes_vr.dm"
|
#include "code\modules\vore\eating\bellymodes_vr.dm"
|
||||||
#include "code\modules\vore\eating\living_vr.dm"
|
#include "code\modules\vore\eating\living_vr.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user