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:
@@ -237,3 +237,9 @@
|
|||||||
icon_state = "teleport"
|
icon_state = "teleport"
|
||||||
var/obj/item/locked = null
|
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'
|
icon = 'stationobjs.dmi'
|
||||||
density = 1
|
density = 1
|
||||||
anchored = 1.0
|
anchored = 1.0
|
||||||
|
var/lockeddown = 0
|
||||||
|
|
||||||
/obj/machinery/teleport/hub
|
/obj/machinery/teleport/hub
|
||||||
name = "hub"
|
name = "hub"
|
||||||
icon_state = "tele0"
|
icon_state = "tele0"
|
||||||
|
var/accurate = 0
|
||||||
|
|
||||||
/obj/machinery/teleport/station
|
/obj/machinery/teleport/station
|
||||||
name = "station"
|
name = "station"
|
||||||
|
|||||||
@@ -30,6 +30,12 @@
|
|||||||
item_state = "signaler"
|
item_state = "signaler"
|
||||||
var/code = "electronic"
|
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
|
/obj/item/device/radio/electropack
|
||||||
name = "Electropack"
|
name = "Electropack"
|
||||||
icon_state = "electropack0"
|
icon_state = "electropack0"
|
||||||
|
|||||||
@@ -13,9 +13,6 @@
|
|||||||
var/cooldown_on = 0
|
var/cooldown_on = 0
|
||||||
req_access = list(access_ai_upload)
|
req_access = list(access_ai_upload)
|
||||||
|
|
||||||
/obj/machinery/ai_slipper/New()
|
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/turret/power_change()
|
/obj/machinery/turret/power_change()
|
||||||
if(stat & BROKEN)
|
if(stat & BROKEN)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -3,12 +3,19 @@
|
|||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/attackby(obj/item/weapon/W)
|
/obj/machinery/computer/teleporter/attackby(obj/item/weapon/W)
|
||||||
src.attack_hand()
|
src.attack_hand()
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/attack_paw()
|
/obj/machinery/computer/teleporter/attack_paw()
|
||||||
src.attack_hand()
|
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()
|
/obj/machinery/teleport/station/attack_ai()
|
||||||
src.attack_hand()
|
src.attack_hand()
|
||||||
|
|
||||||
@@ -69,6 +76,30 @@
|
|||||||
if(!T || istype(T, /area)) return null
|
if(!T || istype(T, /area)) return null
|
||||||
return T
|
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)
|
/obj/machinery/teleport/hub/Bumped(M as mob|obj)
|
||||||
spawn( 0 )
|
spawn( 0 )
|
||||||
if (src.icon_state == "tele1")
|
if (src.icon_state == "tele1")
|
||||||
@@ -87,7 +118,7 @@
|
|||||||
O.show_message("\red Failure: Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")
|
O.show_message("\red Failure: Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")
|
||||||
return
|
return
|
||||||
if (istype(M, /atom/movable))
|
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)
|
do_teleport(M, locate(rand(5, world.maxx - 5), rand(5, world.maxy - 5), 3), 2)
|
||||||
else
|
else
|
||||||
do_teleport(M, com.locked, 0) //dead-on precision
|
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