Matt's Bugfix Galore (#9816)

This commit is contained in:
Matt Atlas
2020-08-29 16:24:10 +02:00
committed by GitHub
parent 7e4db0b830
commit 5d875f9bb5
40 changed files with 168 additions and 136 deletions
+2 -3
View File
@@ -1038,10 +1038,9 @@ Note that amputating the affected organ does in fact remove the infection from t
if(company)
model = company
var/datum/robolimb/R = all_robolimbs[company]
/*if(species && !(species.name in R.species_can_use && species.get_bodytype() != BODYTYPE_IPC))
R = basic_robolimb*/
if(R)
if (!force_skintone)
if(!force_skintone)
force_icon = R.icon
if(R.lifelike)
status |= ORGAN_LIFELIKE
+8 -1
View File
@@ -20,6 +20,8 @@
var/datum/robolimb/R = all_robolimbs[robotize_type]
if(R.paintable)
limb_exception = TRUE
if(R.company == PROSTHETIC_SYNTHSKIN)
limb_exception = TRUE
if(status & ORGAN_ROBOT && !(isipc(human)) && !limb_exception)
return
if(species && human.species && species.name != human.species.name)
@@ -142,8 +144,13 @@
if(force_icon)
mob_icon = new /icon(force_icon, "[icon_name][gendered_icon ? "_[gender]" : ""]")
if(painted && skin_color)
if((painted && skin_color) || robotize_type == PROSTHETIC_SYNTHSKIN)
mob_icon.Blend(skin_color, ICON_ADD)
if(!isnull(s_tone))
if(s_tone >= 0)
mob_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
else
mob_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
apply_markings(restrict_to_robotic = TRUE)
get_internal_organs_overlay()
else
+12 -14
View File
@@ -1,22 +1,19 @@
/proc/spawn_diona_nymph(var/turf/target)
if(!istype(target))
return 0
/turf/proc/spawn_diona_nymph()
//This is a terrible hack and I should be ashamed.
var/datum/seed/diona = SSplants.seeds["diona"]
if(!diona)
return 0
spawn(1) // So it has time to be thrown about by the gib() proc.
var/mob/living/carbon/alien/diona/D = new(target)
var/datum/ghosttrap/plant/P = get_ghost_trap("living plant")
P.request_player(D, "A diona nymph has split off from its gestalt. ")
spawn(60)
if(D)
if(!D.ckey || !D.client)
D.death()
return 1
INVOKE_ASYNC(src, .proc/create_diona_nymph)
/turf/proc/create_diona_nymph()
var/mob/living/carbon/alien/diona/D = new(src)
var/datum/ghosttrap/plant/P = get_ghost_trap("living plant")
P.request_player(D, "A diona nymph has split off from its gestalt. ")
sleep(120)
if(D)
if(!D.ckey || !D.client)
D.death()
//Probable future TODO: Refactor diona organs to be /obj/item/organ/external/bodypart/diona
//Having them not inherit from specific bodypart classes is a problem
@@ -27,7 +24,8 @@
/obj/item/organ/external/diona/removed(var/mob/living/user)
..()
if(spawn_diona_nymph(get_turf(src)))
var/turf/T = get_turf(src)
if(T.spawn_diona_nymph())
qdel(src)
/obj/item/organ/external/chest/diona