few small fixes and improvements for proteans

This commit is contained in:
Heroman3003
2023-01-22 11:34:03 +10:00
committed by CHOMPStation2
parent 9eb8a03eb9
commit cb32a65c87
5 changed files with 19 additions and 9 deletions

View File

@@ -244,8 +244,8 @@
var/list/choices var/list/choices
var/datum/species/spec = GLOB.all_species[pref.species] var/datum/species/spec = GLOB.all_species[pref.species]
if (spec.selects_bodytype == SELECTS_BODYTYPE_SHAPESHIFTER && istype(spec, /datum/species/shapeshifter)) if (spec.selects_bodytype == SELECTS_BODYTYPE_SHAPESHIFTER && istype(spec, /datum/species/shapeshifter))
var/datum/species/shapeshifter/spec_shifter = spec var/datum/species/spec_shifter = spec
choices = spec_shifter.valid_transform_species choices = spec_shifter.get_valid_shapeshifter_forms()
else else
choices = GLOB.custom_species_bases choices = GLOB.custom_species_bases
if(pref.species != SPECIES_CUSTOM) if(pref.species != SPECIES_CUSTOM)

View File

@@ -4,7 +4,6 @@
b_skin = 179 b_skin = 179
var/vantag_pref = VANTAG_NONE //What's my status? var/vantag_pref = VANTAG_NONE //What's my status?
var/impersonate_bodytype //For impersonating a bodytype
var/ability_flags = 0 //Shadekin abilities/potentially other species-based? var/ability_flags = 0 //Shadekin abilities/potentially other species-based?
var/sensorpref = 5 //Suit sensor loadout pref var/sensorpref = 5 //Suit sensor loadout pref
var/wings_hidden = FALSE var/wings_hidden = FALSE

View File

@@ -171,6 +171,7 @@ VS Edit - anyone can select these. */
species_cannot_use = GLOB.all_species.Copy() species_cannot_use = GLOB.all_species.Copy()
species_cannot_use -= SPECIES_TESHARI //VOREStation add - let 'em be selected. species_cannot_use -= SPECIES_TESHARI //VOREStation add - let 'em be selected.
species_cannot_use -= SPECIES_CUSTOM //VOREStation add - let 'em be selected. species_cannot_use -= SPECIES_CUSTOM //VOREStation add - let 'em be selected.
species_cannot_use -= SPECIES_PROTEAN //VOREStation add - let 'em be selected.
..() ..()
/obj/item/weapon/disk/limb/dsi_teshari /obj/item/weapon/disk/limb/dsi_teshari

View File

@@ -25,7 +25,12 @@
if(!istype(refactory)) if(!istype(refactory))
to_chat(caller,"<span class='warning'>You don't have a working refactory module!</span>") to_chat(caller,"<span class='warning'>You don't have a working refactory module!</span>")
return return
<<<<<<< HEAD:modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_powers.dm
var/choice = tgui_input_list(caller,"Pick the bodypart to change:", "Refactor - One Bodypart", species.has_limbs) var/choice = tgui_input_list(caller,"Pick the bodypart to change:", "Refactor - One Bodypart", species.has_limbs)
=======
var/choice = tgui_input_list(src,"Pick the bodypart to change:", "Refactor - One Bodypart", species.has_limbs)
>>>>>>> 465a66032f... Merge pull request #14355 from Seris02/proteanhelp:code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm
if(!choice) if(!choice)
return return
@@ -66,7 +71,7 @@
var/datum/robolimb/M = chargen_robolimbs[company] var/datum/robolimb/M = chargen_robolimbs[company]
if(!(choice in M.parts)) if(!(choice in M.parts))
continue continue
if(impersonate_bodytype in M.species_cannot_use) if(species?.base_species in M.species_cannot_use)
continue continue
if(M.whitelisted_to && !(ckey in M.whitelisted_to)) if(M.whitelisted_to && !(ckey in M.whitelisted_to))
continue continue
@@ -127,7 +132,7 @@
var/datum/robolimb/M = chargen_robolimbs[company] var/datum/robolimb/M = chargen_robolimbs[company]
if(!(BP_TORSO in M.parts)) if(!(BP_TORSO in M.parts))
continue continue
if(impersonate_bodytype in M.species_cannot_use) if(species?.base_species in M.species_cannot_use)
continue continue
if(M.whitelisted_to && !(ckey in M.whitelisted_to)) if(M.whitelisted_to && !(ckey in M.whitelisted_to))
continue continue
@@ -283,7 +288,6 @@
var/new_species = tgui_input_list(usr, "Please select a species to emulate.", "Shapeshifter Body", GLOB.playable_species) var/new_species = tgui_input_list(usr, "Please select a species to emulate.", "Shapeshifter Body", GLOB.playable_species)
if(new_species) if(new_species)
impersonate_bodytype = new_species
species?.base_species = new_species // Really though you better have a species species?.base_species = new_species // Really though you better have a species
regenerate_icons() //Expensive, but we need to recrunch all the icons we're wearing regenerate_icons() //Expensive, but we need to recrunch all the icons we're wearing

View File

@@ -10,6 +10,9 @@
knockout_message = "collapses inwards, forming a disordered puddle of gray goo." knockout_message = "collapses inwards, forming a disordered puddle of gray goo."
remains_type = /obj/effect/decal/cleanable/ash remains_type = /obj/effect/decal/cleanable/ash
selects_bodytype = SELECTS_BODYTYPE_SHAPESHIFTER
base_species = SPECIES_HUMAN
blood_color = "#505050" //This is the same as the 80,80,80 below, but in hex blood_color = "#505050" //This is the same as the 80,80,80 below, but in hex
flesh_color = "#505050" flesh_color = "#505050"
base_color = "#FFFFFF" //Color mult, start out with this base_color = "#FFFFFF" //Color mult, start out with this
@@ -126,9 +129,12 @@
saved_nif.quick_implant(H) saved_nif.quick_implant(H)
/datum/species/protean/get_bodytype(var/mob/living/carbon/human/H) /datum/species/protean/get_bodytype(var/mob/living/carbon/human/H)
if(H) if(!H || base_species == name) return ..()
return H.impersonate_bodytype || ..() var/datum/species/S = GLOB.all_species[base_species]
return ..() return S.get_bodytype(H)
/datum/species/protean/get_valid_shapeshifter_forms(var/mob/living/carbon/human/H)
return GLOB.playable_species
/datum/species/protean/handle_post_spawn(var/mob/living/carbon/human/H) /datum/species/protean/handle_post_spawn(var/mob/living/carbon/human/H)
..() ..()