mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Prison Teleporter is now in the game. Can only teleport to Courtroom and does so 100% of the time.
Fixed a small redundancy in the AI Slipper. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@438 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -236,4 +236,10 @@
|
||||
name = "Teleporter"
|
||||
icon_state = "teleport"
|
||||
var/obj/item/locked = null
|
||||
var/id = null
|
||||
var/id = null
|
||||
|
||||
/obj/machinery/computer/teleporter/security
|
||||
name = "Teleporter"
|
||||
icon_state = "teleport"
|
||||
locked = null
|
||||
id = null
|
||||
@@ -353,10 +353,12 @@
|
||||
icon = 'stationobjs.dmi'
|
||||
density = 1
|
||||
anchored = 1.0
|
||||
var/lockeddown = 0
|
||||
|
||||
/obj/machinery/teleport/hub
|
||||
name = "hub"
|
||||
icon_state = "tele0"
|
||||
var/accurate = 0
|
||||
|
||||
/obj/machinery/teleport/station
|
||||
name = "station"
|
||||
|
||||
@@ -30,6 +30,12 @@
|
||||
item_state = "signaler"
|
||||
var/code = "electronic"
|
||||
|
||||
/obj/item/device/radio/courtroom_beacon
|
||||
name = "Tracking Beacon"
|
||||
icon_state = "beacon"
|
||||
item_state = "signaler"
|
||||
var/code = "electronic"
|
||||
|
||||
/obj/item/device/radio/electropack
|
||||
name = "Electropack"
|
||||
icon_state = "electropack0"
|
||||
|
||||
@@ -13,9 +13,6 @@
|
||||
var/cooldown_on = 0
|
||||
req_access = list(access_ai_upload)
|
||||
|
||||
/obj/machinery/ai_slipper/New()
|
||||
..()
|
||||
|
||||
/obj/machinery/turret/power_change()
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
|
||||
@@ -3,12 +3,19 @@
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/computer/teleporter/attackby(obj/item/weapon/W)
|
||||
src.attack_hand()
|
||||
|
||||
/obj/machinery/computer/teleporter/attack_paw()
|
||||
src.attack_hand()
|
||||
|
||||
/obj/machinery/computer/teleporter/security/attackby(obj/item/weapon/W)
|
||||
src.attack_hand()
|
||||
|
||||
/obj/machinery/computer/teleporter/security/attack_paw()
|
||||
src.attack_hand()
|
||||
|
||||
/obj/machinery/teleport/station/attack_ai()
|
||||
src.attack_hand()
|
||||
|
||||
@@ -69,6 +76,30 @@
|
||||
if(!T || istype(T, /area)) return null
|
||||
return T
|
||||
|
||||
/obj/machinery/computer/teleporter/security/attack_hand()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
|
||||
var/list/L = list()
|
||||
var/list/areaindex = list()
|
||||
|
||||
for(var/obj/item/device/radio/courtroom_beacon/R in world)
|
||||
var/turf/T = find_loc(R)
|
||||
if (!T) continue
|
||||
var/tmpname = T.loc.name
|
||||
if(areaindex[tmpname])
|
||||
tmpname = "[tmpname] ([++areaindex[tmpname]])"
|
||||
else
|
||||
areaindex[tmpname] = 1
|
||||
L[tmpname] = R
|
||||
|
||||
var/desc = input("Please select a location to lock in.", "Locking Computer") in L
|
||||
src.locked = L[desc]
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("\blue Locked In", 2)
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
|
||||
/obj/machinery/teleport/hub/Bumped(M as mob|obj)
|
||||
spawn( 0 )
|
||||
if (src.icon_state == "tele1")
|
||||
@@ -87,7 +118,7 @@
|
||||
O.show_message("\red Failure: Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")
|
||||
return
|
||||
if (istype(M, /atom/movable))
|
||||
if(prob(5)) //oh dear a problem, put em in deep space
|
||||
if(prob(5) && !accurate) //oh dear a problem, put em in deep space
|
||||
do_teleport(M, locate(rand(5, world.maxx - 5), rand(5, world.maxy - 5), 3), 2)
|
||||
else
|
||||
do_teleport(M, com.locked, 0) //dead-on precision
|
||||
|
||||
11611
maps/tgstation.1.3.1.dmm
11611
maps/tgstation.1.3.1.dmm
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user