mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-22 04:24:20 +01:00
salvage
Conflicts: code/game/jobs/access.dm code/game/objects/items/weapons/cards_ids.dm maps/tgstation.2.1.0.0.1.dmm
This commit is contained in:
@@ -352,6 +352,63 @@ proc/process_ghost_teleport_locs()
|
||||
icon_state = "yellow"
|
||||
requires_power = 0
|
||||
|
||||
/area/shuttle/salvage
|
||||
name = "\improper Salvage Ship"
|
||||
icon_state = "yellow"
|
||||
requires_power = 0
|
||||
|
||||
/area/shuttle/salvage/start
|
||||
name = "\improper Middle of Nowhere"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/arrivals
|
||||
name = "\improper Space Station Auxiliary Docking"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/derelict
|
||||
name = "\improper Derelict Station"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/djstation
|
||||
name = "\improper Ruskie DJ Station"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/north
|
||||
name = "\improper North of the Station"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/east
|
||||
name = "\improper East of the Station"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/south
|
||||
name = "\improper South of the Station"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/commssat
|
||||
name = "\improper The Communications Satellite"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/mining
|
||||
name = "\improper South-West of the Mining Asteroid"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/abandoned_ship
|
||||
name = "\improper Abandoned Ship"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/clown_asteroid
|
||||
name = "\improper Clown Asteroid"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/trading_post
|
||||
name = "\improper Trading Post"
|
||||
icon_state = "yellow"
|
||||
|
||||
/area/shuttle/salvage/transit
|
||||
name = "\improper hyperspace"
|
||||
icon_state = "shuttle"
|
||||
|
||||
/area/airtunnel1/ // referenced in airtunnel.dm:759
|
||||
|
||||
/area/dummy/ // Referenced in engine.dm:261
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
/var/const/access_paramedic = 66
|
||||
/var/const/access_blueshield = 67
|
||||
/var/const/access_customs = 68
|
||||
/var/const/access_salvage_captain = 69 // Salvage ship captain's quarters
|
||||
|
||||
//BEGIN CENTCOM ACCESS
|
||||
/*Should leave plenty of room if we need to add more access levels.
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
#define SALVAGE_SHIP_MOVE_TIME 300
|
||||
#define SALVAGE_SHIP_COOLDOWN 800
|
||||
|
||||
/obj/machinery/computer/salvage_ship
|
||||
name = "salvage ship terminal"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_state = "syndishuttle"
|
||||
req_access = list(access_salvage_captain)
|
||||
var/area/curr_location
|
||||
var/moving = 0
|
||||
var/lastMove = 0
|
||||
|
||||
|
||||
/obj/machinery/computer/salvage_ship/New()
|
||||
curr_location= locate(/area/shuttle/salvage/start)
|
||||
|
||||
|
||||
/obj/machinery/computer/salvage_ship/proc/salvage_move_to(area/destination as area)
|
||||
if(moving) return
|
||||
if(lastMove + SALVAGE_SHIP_COOLDOWN > world.time) return
|
||||
var/area/dest_location = locate(destination)
|
||||
if(curr_location == dest_location) return
|
||||
|
||||
moving = 1
|
||||
lastMove = world.time
|
||||
|
||||
if(curr_location.z != dest_location.z)
|
||||
var/area/transit_location = locate(/area/shuttle/salvage/transit)
|
||||
curr_location.move_contents_to(transit_location)
|
||||
curr_location = transit_location
|
||||
sleep(SALVAGE_SHIP_MOVE_TIME)
|
||||
|
||||
curr_location.move_contents_to(dest_location)
|
||||
curr_location = dest_location
|
||||
moving = 0
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/computer/salvage_ship/attackby(obj/item/I as obj, mob/user as mob)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/computer/salvage_ship/attack_ai(mob/user as mob)
|
||||
src.add_hiddenprint(user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/computer/salvage_ship/attack_paw(mob/user as mob)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/computer/salvage_ship/attack_hand(mob/user as mob)
|
||||
if(!allowed(user))
|
||||
user << "\red Access Denied"
|
||||
return
|
||||
|
||||
user.set_machine(src)
|
||||
|
||||
var/dat = {"Location: [curr_location]<br>
|
||||
Ready to move[max(lastMove + SALVAGE_SHIP_COOLDOWN - world.time, 0) ? " in [max(round((lastMove + SALVAGE_SHIP_COOLDOWN - world.time) * 0.1), 0)] seconds" : ": now"]<br>
|
||||
<a href='?src=\ref[src];start=1'>Middle of Nowhere</a><br>
|
||||
<a href='?src=\ref[src];arrivals=1'>Station Auxiliary Docking</a> |
|
||||
<a href='?src=\ref[src];north=1'>North of the Station</a> |
|
||||
<a href='?src=\ref[src];east=1'>East of the Station</a> |
|
||||
<a href='?src=\ref[src];south=1'>South of the Station</a><br>
|
||||
<a href='?src=\ref[src];mining=1'>South-west of the Mining Asteroid</a> |
|
||||
<a href='?src=\ref[src];trading_post=1'>Trading Post</a><br>
|
||||
<a href='?src=\ref[src];clown_asteroid=1'>Clown Asteroid</a> |
|
||||
<a href='?src=\ref[src];derelict=1'>Derelict Station</a> |
|
||||
<a href='?src=\ref[src];djstation=1'>Ruskie DJ Station</a><br>
|
||||
<a href='?src=\ref[src];commssat=1'>Communications Satellite</a> |
|
||||
<a href='?src=\ref[src];abandoned_ship=1'>Abandoned Ship</a><br>
|
||||
<a href='?src=\ref[user];mach_close=computer'>Close</a>"}
|
||||
|
||||
user << browse(dat, "window=computer;size=575x450")
|
||||
onclose(user, "computer")
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/computer/salvage_ship/Topic(href, href_list)
|
||||
if(!isliving(usr)) return
|
||||
var/mob/living/user = usr
|
||||
|
||||
if(in_range(src, user) || istype(user, /mob/living/silicon))
|
||||
user.set_machine(src)
|
||||
|
||||
if(href_list["salvage"])
|
||||
salvage_move_to(/area/shuttle/salvage/start)
|
||||
else if(href_list["start"])
|
||||
salvage_move_to(/area/shuttle/salvage/start)
|
||||
else if(href_list["arrivals"])
|
||||
salvage_move_to(/area/shuttle/salvage/arrivals)
|
||||
else if(href_list["derelict"])
|
||||
salvage_move_to(/area/shuttle/salvage/derelict)
|
||||
else if(href_list["djstation"])
|
||||
salvage_move_to(/area/shuttle/salvage/djstation)
|
||||
else if(href_list["north"])
|
||||
salvage_move_to(/area/shuttle/salvage/north)
|
||||
else if(href_list["east"])
|
||||
salvage_move_to(/area/shuttle/salvage/east)
|
||||
else if(href_list["south"])
|
||||
salvage_move_to(/area/shuttle/salvage/south)
|
||||
else if(href_list["commssat"])
|
||||
salvage_move_to(/area/shuttle/salvage/commssat)
|
||||
else if(href_list["mining"])
|
||||
salvage_move_to(/area/shuttle/salvage/mining)
|
||||
else if(href_list["abandoned_ship"])
|
||||
salvage_move_to(/area/shuttle/salvage/abandoned_ship)
|
||||
else if(href_list["clown_asteroid"])
|
||||
salvage_move_to(/area/shuttle/salvage/clown_asteroid)
|
||||
else if(href_list["trading_post"])
|
||||
salvage_move_to(/area/shuttle/salvage/trading_post)
|
||||
|
||||
add_fingerprint(usr)
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
/obj/machinery/computer/salvage_ship/bullet_act(var/obj/item/projectile/Proj)
|
||||
visible_message("[Proj] ricochets off [src]!")
|
||||
@@ -250,6 +250,16 @@
|
||||
name = "agent card"
|
||||
access = list(access_maint_tunnels, access_syndicate)
|
||||
origin_tech = "syndicate=3"
|
||||
var/registered_user=null
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/New(mob/user as mob)
|
||||
..()
|
||||
if(!isnull(user)) // Runtime prevention on laggy starts or where users log out because of lag at round start.
|
||||
registered_name = ishuman(user) ? user.real_name : user.name
|
||||
else
|
||||
registered_name = "Agent Card"
|
||||
assignment = "Agent"
|
||||
name = "[registered_name]'s ID Card ([assignment])"
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity)
|
||||
if(!proximity) return
|
||||
@@ -260,7 +270,6 @@
|
||||
if(user.mind.special_role)
|
||||
usr << "\blue The card's microscanners activate as you pass it over the ID, copying its access."
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/var/mob/registered_user = null
|
||||
/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob)
|
||||
if(!src.registered_name)
|
||||
//Stop giving the players unsanitized unputs! You are giving ways for players to intentionally crash clients! -Nodrak
|
||||
@@ -279,7 +288,10 @@
|
||||
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
|
||||
user << "\blue You successfully forge the ID card."
|
||||
registered_user = user
|
||||
else if(registered_user == user)
|
||||
else if(!registered_user || registered_user == user)
|
||||
|
||||
if(!registered_user) registered_user = user //
|
||||
|
||||
switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show"))
|
||||
if("Rename")
|
||||
var t = copytext(sanitize(input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)),1,26)
|
||||
@@ -371,3 +383,11 @@
|
||||
/obj/item/weapon/card/id/prisoner/seven
|
||||
name = "Prisoner #13-007"
|
||||
registered_name = "Prisoner #13-007"
|
||||
|
||||
/obj/item/weapon/card/id/salvage_captain
|
||||
name = "Captain's ID"
|
||||
registered_name = "Captain"
|
||||
icon_state = "centcom"
|
||||
desc = "Finders, keepers."
|
||||
access = list(access_salvage_captain)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user