mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 04:22:39 +01:00
Matt's Bugfix Galore (#9816)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user