mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 21:48:21 +01:00
Replaces the derelict, modifies the DJ station, adds a shuttle bay to Engineering.
Conflicts: baystation12.dme maps/tgstation2.dmm
This commit is contained in:
@@ -1431,6 +1431,7 @@
|
||||
#include "code\modules\scripting\Scanner\Tokens.dm"
|
||||
#include "code\modules\security levels\keycard authentication.dm"
|
||||
#include "code\modules\security levels\security levels.dm"
|
||||
#include "code\modules\shuttles\engineering.dm"
|
||||
#include "code\modules\store\items.dm"
|
||||
#include "code\modules\store\store.dm"
|
||||
#include "code\modules\supermatter\supermatter.dm"
|
||||
|
||||
@@ -1562,11 +1562,11 @@ var/list/ghostteleportlocs = list()
|
||||
//DJSTATION
|
||||
|
||||
/area/djstation
|
||||
name = "\improper Ruskie DJ Station"
|
||||
name = "\improper Listening Post"
|
||||
icon_state = "DJ"
|
||||
|
||||
/area/djstation/solars
|
||||
name = "\improper DJ Station Solars"
|
||||
name = "\improper Listening Post Solars"
|
||||
icon_state = "DJ"
|
||||
|
||||
//DERELICT
|
||||
@@ -1657,6 +1657,71 @@ var/list/ghostteleportlocs = list()
|
||||
name = "\improper Derelict Singularity Engine"
|
||||
icon_state = "engine"
|
||||
|
||||
//HALF-BUILT STATION (REPLACES DERELICT IN BAYCODE, ABOVE IS LEFT FOR DOWNSTREAM)
|
||||
|
||||
/area/shuttle/constructionsite
|
||||
name = "\improper Construction Site Shuttle"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/constructionsite/station
|
||||
name = "\improper Construction Site Shuttle"
|
||||
|
||||
/area/shuttle/constructionsite/site
|
||||
name = "\improper Construction Site Shuttle"
|
||||
|
||||
/area/constructionsite
|
||||
name = "\improper Construction Site"
|
||||
icon_state = "storage"
|
||||
|
||||
/area/constructionsite/storage
|
||||
name = "\improper Construction Site Storage Area"
|
||||
|
||||
/area/constructionsite/science
|
||||
name = "\improper Construction Site Research"
|
||||
|
||||
/area/constructionsite/bridge
|
||||
name = "\improper Construction Site Bridge"
|
||||
icon_state = "bridge"
|
||||
|
||||
/area/constructionsite/maintenance
|
||||
name = "\improper Construction Site Maintenance"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/constructionsite/hallway/aft
|
||||
name = "\improper Construction Site Aft Hallway"
|
||||
icon_state = "hallP"
|
||||
|
||||
/area/constructionsite/hallway/fore
|
||||
name = "\improper Construction Site Fore Hallway"
|
||||
icon_state = "hallS"
|
||||
|
||||
/area/constructionsite/atmospherics
|
||||
name = "\improper Construction Site Atmospherics"
|
||||
icon_state = "green"
|
||||
|
||||
/area/constructionsite/medical
|
||||
name = "\improper Construction Site Medbay"
|
||||
icon_state = "medbay"
|
||||
|
||||
/area/constructionsite/ai
|
||||
name = "\improper Construction Computer Core"
|
||||
icon_state = "ai"
|
||||
|
||||
/area/constructionsite/engineering
|
||||
name = "\improper Construction Site Engine Bay"
|
||||
icon_state = "engine"
|
||||
|
||||
/area/solar/constructionsite
|
||||
name = "\improper Construction Site Solars"
|
||||
icon_state = "aft"
|
||||
|
||||
//area/constructionsite
|
||||
// name = "\improper Construction Site Shuttle"
|
||||
|
||||
//area/constructionsite
|
||||
// name = "\improper Construction Site Shuttle"
|
||||
|
||||
|
||||
//Construction
|
||||
|
||||
/area/construction
|
||||
|
||||
@@ -205,6 +205,12 @@
|
||||
name = "Circuit board (Mining Shuttle)"
|
||||
build_path = "/obj/machinery/computer/mining_shuttle"
|
||||
origin_tech = "programming=2"
|
||||
|
||||
/obj/item/weapon/circuitboard/engineering_shuttle
|
||||
name = "Circuit board (Engineering Shuttle)"
|
||||
build_path = "/obj/machinery/computer/engineering_shuttle"
|
||||
origin_tech = "programming=2"
|
||||
|
||||
/obj/item/weapon/circuitboard/research_shuttle
|
||||
name = "Circuit board (Research Shuttle)"
|
||||
build_path = "/obj/machinery/computer/research_shuttle"
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
var/engineering_shuttle_tickstomove = 10
|
||||
var/engineering_shuttle_moving = 0
|
||||
var/engineering_shuttle_location = 1 //Starts at the construction site.
|
||||
|
||||
proc/move_engineering_shuttle()
|
||||
if(engineering_shuttle_moving) return
|
||||
engineering_shuttle_moving = 1
|
||||
spawn(engineering_shuttle_tickstomove*10)
|
||||
var/area/fromArea
|
||||
var/area/toArea
|
||||
if (engineering_shuttle_location == 1)
|
||||
fromArea = locate(/area/shuttle/constructionsite/site)
|
||||
toArea = locate(/area/shuttle/constructionsite/station)
|
||||
|
||||
else
|
||||
fromArea = locate(/area/shuttle/constructionsite/station)
|
||||
toArea = locate(/area/shuttle/constructionsite/site)
|
||||
|
||||
var/list/dstturfs = list()
|
||||
var/throwy = world.maxy
|
||||
|
||||
for(var/turf/T in toArea)
|
||||
dstturfs += T
|
||||
if(T.y < throwy)
|
||||
throwy = T.y
|
||||
|
||||
for(var/turf/T in dstturfs)
|
||||
var/turf/D = locate(T.x, throwy - 1, 1)
|
||||
for(var/atom/movable/AM as mob|obj in T)
|
||||
AM.Move(D)
|
||||
if(istype(T, /turf/simulated))
|
||||
del(T)
|
||||
|
||||
for(var/mob/living/carbon/bug in toArea)
|
||||
bug.gib()
|
||||
|
||||
for(var/mob/living/simple_animal/pest in toArea)
|
||||
pest.gib()
|
||||
|
||||
fromArea.move_contents_to(toArea)
|
||||
if (engineering_shuttle_location)
|
||||
engineering_shuttle_location = 0
|
||||
else
|
||||
engineering_shuttle_location = 1
|
||||
|
||||
for(var/mob/M in toArea)
|
||||
if(M.client)
|
||||
spawn(0)
|
||||
if(M.buckled)
|
||||
shake_camera(M, 3, 1)
|
||||
else
|
||||
shake_camera(M, 10, 1)
|
||||
if(istype(M, /mob/living/carbon))
|
||||
if(!M.buckled)
|
||||
M.Weaken(3)
|
||||
|
||||
engineering_shuttle_moving = 0
|
||||
return
|
||||
|
||||
/obj/machinery/computer/engineering_shuttle
|
||||
name = "engineering shuttle console"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_state = "shuttle"
|
||||
req_access = list(access_engine)
|
||||
circuit = "/obj/item/weapon/circuitboard/engineering_shuttle"
|
||||
var/hacked = 0
|
||||
var/location = 0
|
||||
|
||||
/obj/machinery/computer/engineering_shuttle/attack_hand(user as mob)
|
||||
if(..(user))
|
||||
return
|
||||
src.add_fingerprint(usr)
|
||||
var/dat
|
||||
|
||||
dat = "<center>Engineering Shuttle Control<hr>"
|
||||
|
||||
if(engineering_shuttle_moving)
|
||||
dat += "Location: <font color='red'>Moving</font> <br>"
|
||||
else
|
||||
dat += "Location: [engineering_shuttle_location ? "Outpost" : "Station"] <br>"
|
||||
|
||||
dat += "<b><A href='?src=\ref[src];move=[1]'>Send</A></b></center>"
|
||||
|
||||
|
||||
user << browse("[dat]", "window=engineeringshuttle;size=200x150")
|
||||
|
||||
/obj/machinery/computer/engineering_shuttle/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
usr.set_machine(src)
|
||||
src.add_fingerprint(usr)
|
||||
if(href_list["move"])
|
||||
if (!engineering_shuttle_moving)
|
||||
usr << "\blue Shuttle recieved message and will be sent shortly."
|
||||
move_engineering_shuttle()
|
||||
else
|
||||
usr << "\blue Shuttle is already moving."
|
||||
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/machinery/computer/engineering_shuttle/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
if (istype(W, /obj/item/weapon/card/emag))
|
||||
src.req_access = list()
|
||||
hacked = 1
|
||||
usr << "You fried the consoles ID checking system. It's now available to everyone!"
|
||||
else
|
||||
..()
|
||||
+5546
-5383
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user