mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-17 13:42:44 +00:00
Vox event icons, turfs and props. (#9020)
* Vox event icons, turfs and props. * Ported vox prosthetics from Bay. * Added icons for the vox simplemobs. * Vox now apply default colours and markings in set_species().
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
var/corpseidicon = null //For setting it to be a gold, silver, CentCom etc ID
|
||||
var/species = SPECIES_HUMAN //defaults to generic-ass humans
|
||||
var/random_species = FALSE //flip to TRUE to randomize species from the list below
|
||||
var/corpse_outfit /// Set to an outfit to equip on spawn.
|
||||
var/list/random_species_list = list(SPECIES_HUMAN,SPECIES_TAJ,SPECIES_UNATHI,SPECIES_SKRELL) //preset list that can be overriden downstream. only includes common humanoids for voidsuit compatibility's sake.
|
||||
// var/random_appearance = FALSE //TODO: make this work
|
||||
// var/cause_of_death = null //TODO: set up a cause-of-death system. needs to support both damage types and actual wound types, so a body can have been bitten/stabbed/clawed/shot/burned/lasered/etc. to death
|
||||
@@ -92,6 +93,9 @@
|
||||
M.set_id_info(W)
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
if(corpse_outfit)
|
||||
var/decl/hierarchy/outfit/outfit = GET_DECL(corpse_outfit)
|
||||
outfit.equip(M)
|
||||
|
||||
|
||||
// I'll work on making a list of corpses people request for maps, or that I think will be commonly used. Syndicate operatives for example.
|
||||
|
||||
@@ -34,10 +34,10 @@
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(istype(T))
|
||||
return T.attackby(O, user)
|
||||
|
||||
return T.attackby(O, user)
|
||||
|
||||
. = ..()
|
||||
|
||||
|
||||
|
||||
// Holder for vine plants.
|
||||
// Icons for plants are generated as overlays, so setting it to invisible wouldn't work.
|
||||
|
||||
@@ -1105,12 +1105,7 @@
|
||||
if(species.icon_scale_x != 1 || species.icon_scale_y != 1)
|
||||
update_transform()
|
||||
|
||||
if(species.base_color && default_colour)
|
||||
//Apply colour.
|
||||
r_skin = hex2num(copytext(species.base_color,2,4))
|
||||
g_skin = hex2num(copytext(species.base_color,4,6))
|
||||
b_skin = hex2num(copytext(species.base_color,6,8))
|
||||
else
|
||||
if(!default_colour || !species.apply_default_colours(src))
|
||||
r_skin = 0
|
||||
g_skin = 0
|
||||
b_skin = 0
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
experience."
|
||||
catalogue_data = list(/datum/category_item/catalogue/fauna/vox)
|
||||
|
||||
|
||||
slowdown = -0.5
|
||||
|
||||
speech_sounds = list('sound/voice/shriek1.ogg')
|
||||
@@ -171,3 +170,41 @@
|
||||
SPAN_NOTICE("\The [src]'s scaling bristles roughly."),
|
||||
self_message = SPAN_NOTICE("You bristle your scaling and deflate your internal bladders, restoring mobility but leaving yourself vulnerable to low pressure.")
|
||||
)
|
||||
|
||||
/datum/species/vox/apply_default_colours(var/mob/living/carbon/human/H)
|
||||
if(!H.h_style)
|
||||
H.h_style = "Short Vox Quills"
|
||||
var/hair_color = "#594219"
|
||||
H.r_hair = hex2num(copytext(hair_color,2,4))
|
||||
H.g_hair = hex2num(copytext(hair_color,4,6))
|
||||
H.b_hair = hex2num(copytext(hair_color,6,8))
|
||||
var/skin_color = "#526D29"
|
||||
H.r_skin = hex2num(copytext(skin_color,2,4))
|
||||
H.g_skin = hex2num(copytext(skin_color,4,6))
|
||||
H.b_skin = hex2num(copytext(skin_color,6,8))
|
||||
var/scutes_color = "#BC7D3E"
|
||||
var/obj/item/organ/external/head = H.get_organ(BP_HEAD)
|
||||
head.markings = list(
|
||||
"Vox Beak" = list(
|
||||
"color" = scutes_color,
|
||||
"datum" = body_marking_styles_list["Vox Beak"]
|
||||
)
|
||||
)
|
||||
for(var/bp in list(BP_L_ARM, BP_L_HAND, BP_R_ARM, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT))
|
||||
var/obj/item/organ/external/limb = H.get_organ(bp)
|
||||
if(limb)
|
||||
LAZYINITLIST(limb.markings)
|
||||
limb.markings["Vox Scutes"] = list(
|
||||
"color" = scutes_color,
|
||||
"datum" = body_marking_styles_list["Vox Scutes"]
|
||||
)
|
||||
var/claw_color = "#A0A654"
|
||||
for(var/bp in list(BP_L_HAND, BP_R_HAND, BP_L_FOOT, BP_R_FOOT, BP_TORSO))
|
||||
var/obj/item/organ/external/limb = H.get_organ(bp)
|
||||
if(limb)
|
||||
LAZYINITLIST(limb.markings)
|
||||
limb.markings["Vox Claws"] = list(
|
||||
"color" = claw_color,
|
||||
"datum" = body_marking_styles_list["Vox Claws"]
|
||||
)
|
||||
return TRUE
|
||||
|
||||
@@ -537,3 +537,12 @@
|
||||
|
||||
/datum/species/proc/handle_falling(mob/living/carbon/human/H, atom/hit_atom, damage_min, damage_max, silent, planetary)
|
||||
return FALSE
|
||||
|
||||
/datum/species/proc/apply_default_colours(var/mob/living/carbon/human/H)
|
||||
if(base_color)
|
||||
//Apply colour.
|
||||
H.r_skin = hex2num(copytext(base_color,2,4))
|
||||
H.g_skin = hex2num(copytext(base_color,4,6))
|
||||
H.b_skin = hex2num(copytext(base_color,6,8))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -106,4 +106,4 @@
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/ranged/kiting/threatening/event
|
||||
|
||||
/decl/mob_organ_names/combatdrone
|
||||
hit_zones = list("chassis", "comms array", "sensor suite", "left weapons module", "right weapons module", "maneuvering thruster")
|
||||
hit_zones = list("chassis", "comms array", "sensor suite", "left weapons module", "right weapons module", "maneuvering thruster")
|
||||
|
||||
@@ -57,4 +57,4 @@
|
||||
can_flee = FALSE // Fearless dumb machines.
|
||||
|
||||
/decl/mob_organ_names/hivebot
|
||||
hit_zones = list("central chassis", "positioning servo", "head", "sensor suite", "manipulator arm", "shoulder weapon mount", "weapons array", "front right leg", "front left leg", "rear left leg", "rear right leg")
|
||||
hit_zones = list("central chassis", "positioning servo", "head", "sensor suite", "manipulator arm", "shoulder weapon mount", "weapons array", "front right leg", "front left leg", "rear left leg", "rear right leg")
|
||||
|
||||
@@ -472,6 +472,18 @@ var/global/const/standard_monitor_styles = "blank=ipc_blank;\
|
||||
species_alternates = list(SPECIES_HUMAN = "Morgan Trading Co")
|
||||
suggested_species = SPECIES_TESHARI
|
||||
|
||||
|
||||
/datum/robolimb/vox
|
||||
company = "Arkmade"
|
||||
icon = 'icons/mob/human_races/cyberlimbs/vox/primalis.dmi'
|
||||
unavailable_to_build = TRUE
|
||||
species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_TAJ, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT)
|
||||
suggested_species = SPECIES_VOX
|
||||
|
||||
/datum/robolimb/vox/crap
|
||||
company = "Improvised"
|
||||
icon = 'icons/mob/human_races/cyberlimbs/vox/improvised.dmi'
|
||||
|
||||
/obj/item/disk/limb
|
||||
name = "Limb Blueprints"
|
||||
desc = "A disk containing the blueprints for prosthetics."
|
||||
|
||||
Reference in New Issue
Block a user