From f2721ca8a6382df54bbf9a4ed3f40c4ee58ff915 Mon Sep 17 00:00:00 2001 From: Hubblenaut Date: Tue, 3 Jun 2014 01:50:01 +0200 Subject: [PATCH] Wheelchairs spawn on footless characters Conflicts: code/modules/client/preferences.dm --- code/game/jobs/job_controller.dm | 4 ++++ code/modules/client/preferences.dm | 13 ++++++++++++- code/modules/mob/new_player/new_player.dm | 4 ++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 86331b0e28b..733a050ef21 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -397,6 +397,10 @@ var/global/datum/controller/occupations/job_master S = locate("start*[rank]") // use old stype if(istype(S, /obj/effect/landmark/start) && istype(S.loc, /turf)) H.loc = S.loc + // Moving wheelchair if they have one + if(H.buckled && istype(H.buckled, /obj/structure/stool/bed/chair/wheelchair)) + H.buckled.loc = H.loc + H.buckled.dir = H.dir var/datum/money_account/M = create_account(H.real_name, rand(50,500)*10, null) if(H.mind) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 0955b2bd8b7..07e7dae20e8 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1409,6 +1409,17 @@ datum/preferences if(disabilities & DISABILITY_FLAG_DEAF) character.sdisabilities|=DEAF + // Wheelchair necessary? + var/datum/organ/external/l_foot = character.get_organ("l_foot") + var/datum/organ/external/r_foot = character.get_organ("r_foot") + if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED)) + var/obj/structure/stool/bed/chair/wheelchair/W = new /obj/structure/stool/bed/chair/wheelchair (character.loc) + character.buckled = W + character.update_canmove() + W.dir = character.dir + W.buckled_mob = character + W.add_fingerprint(character) + if(underwear > underwear_m.len || underwear < 1) underwear = 0 //I'm sure this is 100% unnecessary, but I'm paranoid... sue me. //HAH NOW NO MORE MAGIC CLONING UNDIES character.underwear = underwear @@ -1459,4 +1470,4 @@ datum/preferences popup.set_content(dat) popup.open(0) proc/close_load_dialog(mob/user) - user << browse(null, "window=saves") \ No newline at end of file + user << browse(null, "window=saves") diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 9b28f2071e8..27d50934019 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -311,6 +311,10 @@ EquipCustomItems(character) character.loc = pick(latejoin) character.lastarea = get_area(loc) + // Moving wheelchair if they have one + if(character.buckled && istype(character.buckled, /obj/structure/stool/bed/chair/wheelchair)) + character.buckled.loc = character.loc + character.buckled.dir = character.dir ticker.mode.latespawn(character)