From 396a56466f9a44fc95245f1426fdba58d08e116d Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Sat, 12 Oct 2013 14:43:18 -0400 Subject: [PATCH] New ghosts --- code/modules/client/preferences.dm | 1 + code/modules/mob/dead/observer/observer.dm | 11 +++++++++++ code/modules/mob/new_player/new_player.dm | 5 +++++ code/modules/mob/new_player/preferences_setup.dm | 3 +-- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 71dcf49c2ae..299f5c413ce 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -69,6 +69,7 @@ datum/preferences var/language = "None" //Secondary language //Mob preview + var/icon/preview_icon = null var/icon/preview_icon_front = null var/icon/preview_icon_side = null diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 95d2ab907f6..3150c816a35 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -30,6 +30,16 @@ T = get_turf(body) //Where is the body located? attack_log = body.attack_log //preserve our attack logs by copying them to our ghost + if (ishuman(body)) + var/mob/living/carbon/human/H = body + icon = H.stand_icon + overlays = H.overlays_standing + else + icon = body.icon + icon_state = body.icon_state + overlays = body.overlays + + alpha = 127 gender = body.gender if(body.mind && body.mind.name) name = body.mind.name @@ -86,6 +96,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/Move(NewLoc, direct) + dir = direct if(NewLoc) loc = NewLoc for(var/obj/effect/step_trigger/S in NewLoc) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 1257706f5a8..e61cc8fd7f5 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -121,6 +121,11 @@ var/obj/O = locate("landmark*Observer-Start") src << "\blue Now teleporting." observer.loc = O.loc + + client.prefs.update_preview_icon() + observer.icon = client.prefs.preview_icon + observer.alpha = 127 + if(client.prefs.be_random_name) client.prefs.real_name = random_name(client.prefs.gender) observer.real_name = client.prefs.real_name diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index c188b372b2a..37af046a616 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -131,7 +131,7 @@ datum/preferences proc/update_preview_icon() //seriously. This is horrendous. del(preview_icon_front) del(preview_icon_side) - var/icon/preview_icon = null + del(preview_icon) var/g = "m" if(gender == FEMALE) g = "f" @@ -572,6 +572,5 @@ datum/preferences preview_icon_front = new(preview_icon, dir = SOUTH) preview_icon_side = new(preview_icon, dir = WEST) - del(preview_icon) del(eyes_s) del(clothes_s) \ No newline at end of file