diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index e870d1507d7..0598b6604ca 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -101,7 +101,7 @@ disp2 = "STATN" else disp1 = "SPPLY" - disp2 = "DOCK" + disp2 = "AWAY" update_display(disp1, disp2) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index df9981a9337..bd1f2e8534e 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -151,6 +151,7 @@ var/ordernum=0 /proc/supply_can_move() if(supply_shuttle_moving) return 0 +//I know this is an absolutly horrendous way to do this, very inefficient, but it's the only reliable way I can think of. //Check for mobs for(var/mob/living/M in world) var/area/A = get_area(M) @@ -417,10 +418,10 @@ This method wont take into account storage items developed in the future and doe dat = src.temp else dat += {"
Supply shuttle
- \nLocation: [supply_shuttle_moving ? "Moving to station ([supply_shuttle_timeleft] Mins.)":supply_shuttle_at_station ? "Station":"Dock"]
+ \nLocation: [supply_shuttle_moving ? "Moving to station ([supply_shuttle_timeleft] Mins.)":supply_shuttle_at_station ? "Station":"Away"]

\nSupply points: [supply_shuttle_points]
\n
- [supply_shuttle_moving ? "\n*Must be at dock to order items*
\n
":supply_shuttle_at_station ? "\n*Must be at dock to order items*
\n
":"\nOrder items
\n
"] - [supply_shuttle_moving ? "\n*Shuttle already called*
\n
":supply_shuttle_at_station ? "\nSend to Dock
\n
":"\nSend to station
\n
"] + [supply_shuttle_moving ? "\n*Must be away to order items*
\n
":supply_shuttle_at_station ? "\n*Must be away to order items*
\n
":"\nOrder items
\n
"] + [supply_shuttle_moving ? "\n*Shuttle already called*
\n
":supply_shuttle_at_station ? "\nSend away
\n
":"\nSend to station
\n
"] \nView requests
\n
\nView orders
\n
\nClose"} @@ -473,6 +474,7 @@ This method wont take into account storage items developed in the future and doe if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.machine = src + //From Station to Centcomm if (href_list["sendtodock"]) if(!supply_shuttle_at_station || supply_shuttle_moving) return @@ -498,6 +500,7 @@ This method wont take into account storage items developed in the future and doe send_supply_shuttle() + //From Centcomm to Station else if (href_list["sendtostation"]) if(supply_shuttle_at_station || supply_shuttle_moving) return @@ -628,9 +631,11 @@ This method wont take into account storage items developed in the future and doe if (supply_shuttle_moving) return - if (!supply_can_move()) - usr << "\red The supply shuttle can not transport station employees, exosuits, classified nuclear codes, or homing beacons." - return + var/area/the_shuttles_way = locate(SUPPLY_STATION_AREATYPE) + + //Do I really need to explain this loop? + for(var/mob/living/unlucky_person in the_shuttles_way) + unlucky_person.gib() var/shuttleat = supply_shuttle_at_station ? SUPPLY_STATION_AREATYPE : SUPPLY_DOCK_AREATYPE var/shuttleto = !supply_shuttle_at_station ? SUPPLY_STATION_AREATYPE : SUPPLY_DOCK_AREATYPE diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index b7a0fdc4d76..5f3c07144b5 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -123,7 +123,7 @@ Topic(href, href_list) ..() - if(get_dist(src, usr) > 1) + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=infra") onclose(usr, "infra") return diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index d92fc53a80d..e19dd999730 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -119,7 +119,7 @@ Topic(href, href_list) ..() - if(get_dist(src, usr) > 1) + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=prox") onclose(usr, "prox") return diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index b925c1770f6..296d80680d1 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -76,9 +76,9 @@ Topic(href, href_list) ..() - if(get_dist(src, usr) > 1) - usr << browse(null, "window=signal") - onclose(usr, "signal") + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + usr << browse(null, "window=radio") + onclose(usr, "radio") return if (href_list["freq"]) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 747e87e000f..5b8963e7cb1 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -86,7 +86,7 @@ Topic(href, href_list) ..() - if(get_dist(src, usr) > 1) + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=timer") onclose(usr, "timer") return diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 0e7d305fb86..17e40de2800 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -339,7 +339,7 @@ else ..(W,user) - if ((istype(W,/obj/item/weapon/pickaxe/diamonddrill))) + if ((istype(W,/obj/item/weapon/pickaxe/diamonddrill)) || (istype(W,/obj/item/weapon/pickaxe/borgdrill))) var/turf/T = user.loc if (!( istype(T, /turf) )) return diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 7d7f7efdc18..bcd36a3e277 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -40,10 +40,7 @@ /client/Southwest() if(iscarbon(usr)) var/mob/living/carbon/C = usr - if(!C.get_active_hand()) - usr << "\red You have nothing in your hand to throw." - return - toggle_throw_mode() + C.toggle_throw_mode() else usr << "\red This mob type cannot throw items." return @@ -115,10 +112,12 @@ /client/verb/toggle_throw_mode() set hidden = 1 - if(!istype(mob, /mob/living/carbon)) return - if((mob.stat || mob.restrained()) || !(isturf(mob.loc))) return - mob:toggle_throw_mode() - return + if(!istype(mob, /mob/living/carbon)) + return + if (!mob.stat && isturf(mob.loc) && !mob.restrained()) + mob:toggle_throw_mode() + else + return /client/verb/drop_item()