diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 297040931f5..5cb74fe4a3a 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -458,13 +458,18 @@ var/global/datum/controller/occupations/job_master if(istype(H)) //give humans wheelchairs, if they need them. var/obj/item/organ/external/l_foot = H.get_organ("l_foot") var/obj/item/organ/external/r_foot = H.get_organ("r_foot") - if(!l_foot || !r_foot) + var/obj/item/weapon/storage/S = locate() in H.contents + var/obj/item/wheelchair/R = locate() in S.contents + if(!l_foot || !r_foot || R) var/obj/structure/bed/chair/wheelchair/W = new /obj/structure/bed/chair/wheelchair(H.loc) H.buckled = W H.update_canmove() W.set_dir(H.dir) W.buckled_mob = H W.add_fingerprint(H) + if(R) + W.color = R.color + qdel(R) H << "You are [job.total_positions == 1 ? "the" : "a"] [alt_title ? alt_title : rank]." diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index 9ae19769eb1..bdd4b87b0e7 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -193,3 +193,31 @@ pulling = null usr.pulledby = null ..() + +/obj/item/wheelchair + name = "wheelchair" + desc = "A folded wheelchair that can be carried around." + icon = 'icons/obj/furniture.dmi' + icon_state = "wheelchair_folded" + item_state = "wheelchair" + w_class = ITEMSIZE_HUGE // Can't be put in backpacks. Oh well. + +/obj/item/wheelchair/attack_self(mob/user) + var/obj/structure/bed/chair/wheelchair/R = new /obj/structure/bed/chair/wheelchair(user.loc) + R.add_fingerprint(user) + R.name = src.name + R.color = src.color + qdel(src) + +/obj/structure/bed/chair/wheelchair/MouseDrop(over_object, src_location, over_location) + ..() + if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src)))) + if(!ishuman(usr)) return + if(buckled_mob) return 0 + visible_message("[usr] collapses \the [src.name].") + var/obj/item/wheelchair/R = new/obj/item/wheelchair(get_turf(src)) + R.name = src.name + R.color = src.color + spawn(0) + qdel(src) + return diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm index c30291c3a55..5e7fa24d9f7 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm @@ -90,4 +90,13 @@ /datum/gear/utility/pen display_name = "Fountain Pen" - path = /obj/item/weapon/pen/fountain \ No newline at end of file + path = /obj/item/weapon/pen/fountain + +/datum/gear/utility/wheelchair/color + display_name = "wheelchair" + path = /obj/item/wheelchair + cost = 4 + +/datum/gear/utility/wheelchair/color/New() + ..() + gear_tweaks = list(gear_tweak_free_color_choice) diff --git a/html/changelogs/PrismaticGynoid-wheelchairs.yml b/html/changelogs/PrismaticGynoid-wheelchairs.yml new file mode 100644 index 00000000000..3e37225596b --- /dev/null +++ b/html/changelogs/PrismaticGynoid-wheelchairs.yml @@ -0,0 +1,5 @@ +author: PrismaticGynoid +delete-after: True +changes: + - rscadd: "Wheelchairs can now be collapsed like rollerbeds for ease of storage and movement. Too big to put in backpacks though." + - rscadd: "Wheelchairs are now available in a color-customizable form via the loadout, under utility. Now you can ride in style, and keep your feet too." diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index 751f70c5cf3..b5a6d0dd871 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index a24f71fea6c..f854d73ea87 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/obj/furniture.dmi b/icons/obj/furniture.dmi index 39dbbdcc677..0e6659ae4f1 100644 Binary files a/icons/obj/furniture.dmi and b/icons/obj/furniture.dmi differ