Merge pull request #3692 from PrismaticGynoid/wheelchairs

Better Wheelchairs
This commit is contained in:
Anewbe
2017-08-14 21:57:27 -04:00
committed by GitHub
9 changed files with 63 additions and 4 deletions
+6 -1
View File
@@ -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 << "<B>You are [job.total_positions == 1 ? "the" : "a"] [alt_title ? alt_title : rank].</B>"
+12 -1
View File
@@ -430,6 +430,10 @@
else
W.forceMove(src.loc)
for(var/obj/structure/B in items)
if(istype(B,/obj/structure/bed))
qdel(B)
//Update any existing objectives involving this mob.
for(var/datum/objective/O in all_objectives)
// We don't want revs to get objectives that aren't for heads of staff. Letting
@@ -521,6 +525,9 @@
for(var/obj/item/W in items)
W.forceMove(get_turf(src))
for(var/obj/structure/bed/S in src.contents)
S.forceMove(get_turf(src))
go_out()
add_fingerprint(usr)
@@ -563,6 +570,8 @@
if(ishuman(usr) && applies_stasis)
var/mob/living/carbon/human/H = occupant
H.Stasis(1000)
if(usr.buckled && istype(usr.buckled, /obj/structure/bed/chair/wheelchair))
usr.buckled.loc = usr.loc
icon_state = occupied_icon_state
@@ -660,6 +669,8 @@
if(ishuman(M) && applies_stasis)
var/mob/living/carbon/human/H = M
H.Stasis(1000)
if(M.buckled && istype(M.buckled, /obj/structure/bed/chair/wheelchair))
M.buckled.loc = M.loc
// Book keeping!
var/turf/location = get_turf(src)
@@ -667,4 +678,4 @@
message_admins("<span class='notice'>[key_name_admin(M)] has entered a stasis pod.</span>")
//Despawning occurs when process() is called with an occupant without a client.
add_fingerprint(M)
add_fingerprint(M)
@@ -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
@@ -90,4 +90,13 @@
/datum/gear/utility/pen
display_name = "Fountain Pen"
path = /obj/item/weapon/pen/fountain
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)
@@ -35,7 +35,7 @@
var/obj/item/organ/external/E = get_organ(organ_name)
if(!E || E.is_stump())
tally += 4
if(E.splinted)
else if(E.splinted)
tally += 0.5
else if(E.status & ORGAN_BROKEN)
tally += 1.5
@@ -0,0 +1,6 @@
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."
- bugfix: "Wheelchair users can now enter the gateway and residential elevator without being forced to leave behind their mobility aid."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB