mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-19 19:15:11 +01:00
Various species related fixes (#18600)
* Gives High Zorren the proper species sound * Fennec too * Mouse too * Vulp Sounds * Fixes tesh picking up
This commit is contained in:
@@ -364,6 +364,7 @@ var/list/holder_mob_icon_cache = list()
|
||||
if(grabber.incapacitated()) return
|
||||
|
||||
var/obj/item/holder/H = new holder_type(get_turf(src), src)
|
||||
H.sync(src)
|
||||
grabber.put_in_hands(H)
|
||||
|
||||
if(self_grab)
|
||||
@@ -377,11 +378,6 @@ var/list/holder_mob_icon_cache = list()
|
||||
add_attack_logs(grabber, H.held_mob, "Scooped up", FALSE) // Not important enough to notify admins, but still helpful.
|
||||
return H
|
||||
|
||||
/obj/item/holder/human
|
||||
icon = 'icons/mob/holder_complex.dmi'
|
||||
var/list/generate_for_slots = list(slot_l_hand_str, slot_r_hand_str, slot_back_str)
|
||||
slot_flags = SLOT_BACK
|
||||
|
||||
/obj/item/holder/proc/sync(var/mob/living/M)
|
||||
dir = 2
|
||||
overlays.Cut()
|
||||
|
||||
@@ -897,6 +897,8 @@
|
||||
min_age = 20
|
||||
max_age = 80
|
||||
|
||||
species_sounds = "Vulpine"
|
||||
|
||||
blurb = "The fennec-like, blue-blooded Zorren are native to Virgo 4/Menhir and are descendants of a precursor species \
|
||||
that is thought to be responsible for the near-collapse of the biosphere of the planet. \
|
||||
With societies organised around hierarchal caste systems (such as the Royal Zorren) or freedom and strength (such as the Free Tribe Zorren), \
|
||||
@@ -960,6 +962,11 @@
|
||||
inherent_verbs = list(/mob/living/carbon/human/proc/lick_wounds,
|
||||
/mob/living/carbon/human/proc/tie_hair)
|
||||
|
||||
pain_verb_1p = list("yelp", "growl")
|
||||
pain_verb_3p = list("yelps", "growls")
|
||||
|
||||
species_sounds = "Canine"
|
||||
|
||||
wikilink="https://wiki.vore-station.net/Backstory#Vulpkanin"
|
||||
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/vulpkanin)
|
||||
@@ -1126,7 +1133,7 @@
|
||||
burn_mod = 1.35
|
||||
mob_size = MOB_MEDIUM
|
||||
pass_flags = PASSTABLE
|
||||
holder_type = /obj/item/holder/human
|
||||
holder_type = /obj/item/holder/micro
|
||||
// short_sighted = 1
|
||||
has_vibration_sense = TRUE
|
||||
blood_volume = 400
|
||||
@@ -1403,6 +1410,8 @@
|
||||
min_age = 18
|
||||
max_age = 80
|
||||
|
||||
species_sounds = "Vulpine"
|
||||
|
||||
//primitive_form = "" //We don't have fennec-monkey sprites.
|
||||
spawn_flags = SPECIES_IS_RESTRICTED
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR
|
||||
@@ -1473,6 +1482,8 @@
|
||||
min_age = 18
|
||||
max_age = 80
|
||||
|
||||
species_sounds = "Mouse"
|
||||
|
||||
blurb = "The Altevian are a species of tall, rodent humanoids that are akin to rats for their features. \
|
||||
The Altevian, unlike most species, do not have a home planet, nor system, adopting a fully nomadic lifestyle \
|
||||
for their survival across the stars. Instead, they have opted to live in massive super capital-class colony-ships \
|
||||
|
||||
@@ -5,11 +5,42 @@
|
||||
desc = "Another crewmember, small enough to fit in your hand."
|
||||
icon_state = "micro"
|
||||
icon_override = 'icons/inventory/head/mob.dmi'
|
||||
slot_flags = SLOT_FEET | SLOT_HEAD | SLOT_ID | SLOT_HOLSTER
|
||||
slot_flags = SLOT_FEET | SLOT_HEAD | SLOT_ID | SLOT_HOLSTER | SLOT_BACK
|
||||
w_class = ITEMSIZE_SMALL
|
||||
item_icons = null // No in-hand sprites (for now, anyway, we could totally add some)
|
||||
pixel_y = 0 // Override value from parent.
|
||||
|
||||
/obj/item/holder/micro/Initialize(mapload, mob/held)
|
||||
. = ..()
|
||||
var/mob/living/carbon/human/H = held_mob
|
||||
if(istype(H) && H.species.get_bodytype() == SPECIES_TESHARI)
|
||||
item_icons = list(
|
||||
slot_l_hand_str = 'icons/mob/items/lefthand_toys.dmi',
|
||||
slot_r_hand_str = 'icons/mob/items/righthand_toys.dmi',
|
||||
slot_back_str = 'icons/mob/toy_worn.dmi',
|
||||
slot_head_str = 'icons/mob/toy_worn.dmi')
|
||||
|
||||
// Leaving the following two set makes the sprite not visible
|
||||
icon_override = null
|
||||
sprite_sheets = null
|
||||
icon_state = "teshariplushie_white"
|
||||
item_state = "teshariplushie_white"
|
||||
// Add back slot
|
||||
slot_flags = SLOT_FEET | SLOT_HEAD | SLOT_ID | SLOT_BACK
|
||||
|
||||
/obj/item/holder/micro/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer,var/icon/clip_mask = null)
|
||||
var/mob/living/carbon/human/H = held_mob
|
||||
// Only proceed if dealing with a tesh (or something shaped like a tesh)
|
||||
if(istype(H) && H.species.get_bodytype() == SPECIES_TESHARI)
|
||||
var/colortemp = color //save original color var to a temp var
|
||||
//convert numerical RGB to Hex #000000 format - is this necessary?
|
||||
//then 'inject' changed color (from skin color) into original proc call
|
||||
color = addtext("#", num2hex(H.r_skin, 2), num2hex(H.g_skin, 2), num2hex(H.b_skin, 2))
|
||||
. = ..()
|
||||
color = colortemp //reset color var to it's old value after original proc call before proceeding - otherwise we change hand-slot icon color too!
|
||||
else
|
||||
. = ..()
|
||||
|
||||
/obj/item/holder/examine(mob/user)
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
. = list()
|
||||
|
||||
@@ -190,33 +190,33 @@
|
||||
*/
|
||||
/mob/living/proc/attempt_to_scoop(mob/living/M, mob/living/G, ignore_size = FALSE) //second one is for the Grabber, only exists for animals to self-grab
|
||||
if(src == M)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!(pickup_pref && M.pickup_pref && M.pickup_active))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!(M.a_intent == I_HELP))
|
||||
return 0
|
||||
return FALSE
|
||||
var/size_diff = M.get_effective_size(FALSE) - get_effective_size(TRUE)
|
||||
if(!holder_default && holder_type)
|
||||
holder_default = holder_type
|
||||
if(!istype(M))
|
||||
return 0
|
||||
return FALSE
|
||||
if(isanimal(M))
|
||||
var/mob/living/simple_mob/SA = M
|
||||
if(!SA.has_hands)
|
||||
return 0
|
||||
return FALSE
|
||||
if(mob_size < MOB_SMALL && src == M)
|
||||
return 0
|
||||
return FALSE
|
||||
if(size_diff >= 0.50 || mob_size < MOB_SMALL || size_diff >= get_effective_size() || ignore_size)
|
||||
if(buckled)
|
||||
to_chat(src,span_notice("You have to unbuckle \the [src] before you pick them up."))
|
||||
return 0
|
||||
return FALSE
|
||||
holder_type = /obj/item/holder/micro
|
||||
var/obj/item/holder/m_holder = get_scooped(M, G)
|
||||
holder_type = holder_default
|
||||
if (m_holder)
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
return 0; // Unable to scoop, let other code run
|
||||
return FALSE; // Unable to scoop, let other code run
|
||||
|
||||
#define STEP_TEXT_OWNER(x) "[replacetext(x,"%prey",tmob)]"
|
||||
#define STEP_TEXT_PREY(x) "[replacetext(x,"%owner",src)]"
|
||||
|
||||
Reference in New Issue
Block a user