Merge remote-tracking branch 'upstream/master' into rebase-to-vg

This commit is contained in:
PJB3005
2017-02-12 16:35:57 +01:00
182 changed files with 2195 additions and 91090 deletions
+16 -3
View File
@@ -389,7 +389,9 @@
launch_status = UNLAUNCHED
/obj/docking_port/mobile/pod/request()
if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA)
var/obj/machinery/computer/shuttle/S = getControlConsole()
if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA || (S && S.emagged))
if(launch_status == UNLAUNCHED)
launch_status = EARLY_LAUNCHED
return ..()
@@ -418,6 +420,11 @@
/obj/machinery/computer/shuttle/pod/update_icon()
return
/obj/machinery/computer/shuttle/pod/emag_act(mob/user)
if(!emagged)
emagged = TRUE
user << "<span class='warning'>You fry the pod's alert level checking system.</span>"
/obj/docking_port/stationary/random
name = "escape pod"
id = "pod"
@@ -469,6 +476,7 @@
density = 0
icon = 'icons/obj/storage.dmi'
icon_state = "safe"
var/unlocked = FALSE
/obj/item/weapon/storage/pod/New()
..()
@@ -488,13 +496,18 @@
return
/obj/item/weapon/storage/pod/MouseDrop(over_object, src_location, over_location)
if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA)
if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA || unlocked)
. = ..()
else
usr << "The storage unit will only unlock during a Red or Delta security alert."
/obj/item/weapon/storage/pod/attack_hand(mob/user)
return
return MouseDrop(user)
/obj/item/weapon/storage/pod/onShuttleMove()
unlocked = TRUE
// If the pod was launched, the storage will always open.
return ..()
/obj/docking_port/mobile/emergency/backup
+9
View File
@@ -700,4 +700,13 @@
else
dst = destination
. += " towards [dst ? dst.name : "unknown location"] ([timeLeft(600)] minutes)"
// attempts to locate /obj/machinery/computer/shuttle with matching ID inside the shuttle
/obj/docking_port/mobile/proc/getControlConsole()
for(var/obj/machinery/computer/shuttle/S in areaInstance)
if(S.shuttleId == id)
return S
return null
#undef DOCKING_PORT_HIGHLIGHT
+55
View File
@@ -216,3 +216,58 @@
var/obj/item/weapon/card/id/ID = user.get_idcard()
if(ID && (access_cent_bar in ID.access))
return TRUE
//Luxury Shuttle Blockers
/obj/effect/forcefield/luxury_shuttle
var/threshhold = 500
var/static/list/approved_passengers = list()
/obj/effect/forcefield/luxury_shuttle/CanPass(atom/movable/mover, turf/target, height=0)
if(mover in approved_passengers)
return 1
if(!isliving(mover)) //No stowaways
return 0
var/total_cash = 0
var/list/counted_money = list()
for(var/obj/item/weapon/coin/C in mover.GetAllContents())
total_cash += C.value
counted_money += C
if(total_cash >= threshhold)
break
for(var/obj/item/stack/spacecash/S in mover.GetAllContents())
total_cash += S.value * S.amount
counted_money += S
if(total_cash >= threshhold)
break
if(total_cash >= threshhold)
for(var/obj/I in counted_money)
qdel(I)
mover << "Thank you for your payment! Please enjoy your flight."
approved_passengers += mover
return 1
else
mover << "You don't have enough money to enter the main shuttle. You'll have to fly coach."
return 0
/mob/living/simple_animal/hostile/bear/fightpit
name = "fight pit bear"
desc = "This bear's trained through ancient Russian secrets to fear the walls of its glass prison."
environment_smash = 0
/obj/effect/decal/hammerandsickle
name = "hammer and sickle"
desc = "Communism powerful force."
icon = 'icons/effects/96x96.dmi'
icon_state = "communist"
layer = ABOVE_OPEN_TURF_LAYER
pixel_x = -32
pixel_y = -32
/obj/effect/decal/hammerandsickle/shuttleRotate(rotation)
setDir(angle2dir(rotation+dir2angle(dir))) // No parentcall, rest of the rotate code breaks the pixel offset.