mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 11:13:16 +00:00
- Another fix for turrets.
ATTENTION MAPPERS! If turret control thingy is not in the same area as the turrets, set its control_area variable to either area name or area typepath. If it's in the same area, you can leave control_area null. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1505 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -150,7 +150,7 @@
|
|||||||
if(src.cover==null)
|
if(src.cover==null)
|
||||||
src.cover = new /obj/machinery/turretcover(src.loc)
|
src.cover = new /obj/machinery/turretcover(src.loc)
|
||||||
protected_area = get_protected_area()
|
protected_area = get_protected_area()
|
||||||
if(!protected_area || protected_area.turretTargets.len<=0 || !enabled)
|
if(!enabled || !protected_area || protected_area.turretTargets.len<=0)
|
||||||
if(!isDown() && !isPopping())
|
if(!isDown() && !isPopping())
|
||||||
popDown()
|
popDown()
|
||||||
return
|
return
|
||||||
@@ -283,8 +283,21 @@
|
|||||||
var/enabled = 1
|
var/enabled = 1
|
||||||
var/lethal = 0
|
var/lethal = 0
|
||||||
var/locked = 1
|
var/locked = 1
|
||||||
|
var/control_area //can be area name, path or nothing.
|
||||||
req_access = list(access_ai_upload)
|
req_access = list(access_ai_upload)
|
||||||
|
|
||||||
|
/obj/machinery/turretid/New()
|
||||||
|
..()
|
||||||
|
if(!control_area)
|
||||||
|
control_area = get_area(src)
|
||||||
|
else if(istext(control_area))
|
||||||
|
for(var/area/A in world)
|
||||||
|
if(A.name && A.name==control_area)
|
||||||
|
control_area = A
|
||||||
|
break
|
||||||
|
//don't have to check if control_area is path, since get_area_all_atoms can take path.
|
||||||
|
return
|
||||||
|
|
||||||
/obj/machinery/turretid/attackby(obj/item/weapon/W, mob/user)
|
/obj/machinery/turretid/attackby(obj/item/weapon/W, mob/user)
|
||||||
if(stat & BROKEN) return
|
if(stat & BROKEN) return
|
||||||
if (istype(user, /mob/living/silicon))
|
if (istype(user, /mob/living/silicon))
|
||||||
@@ -370,16 +383,9 @@
|
|||||||
else
|
else
|
||||||
icon_state = "motion0"
|
icon_state = "motion0"
|
||||||
|
|
||||||
var/loc = src.loc
|
if(control_area)
|
||||||
if (istype(loc, /turf))
|
for (var/obj/machinery/turret/aTurret in get_area_all_atoms(control_area))
|
||||||
loc = loc:loc
|
aTurret.setState(enabled, lethal)
|
||||||
if (!istype(loc, /area))
|
|
||||||
world << text("Turret badly positioned - loc.loc is [loc].")
|
|
||||||
return
|
|
||||||
var/area/area = loc
|
|
||||||
|
|
||||||
for (var/obj/machinery/turret/aTurret in get_area_all_atoms(area))
|
|
||||||
aTurret.setState(enabled, lethal)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3381,7 +3381,7 @@
|
|||||||
"bna" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/grille,/turf/space,/area)
|
"bna" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/grille,/turf/space,/area)
|
||||||
"bnb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/atmospherics/pipe/simple,/obj/grille,/obj/grille,/turf/space,/area)
|
"bnb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/atmospherics/pipe/simple,/obj/grille,/obj/grille,/turf/space,/area)
|
||||||
"bnc" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer)
|
"bnc" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer)
|
||||||
"bnd" = (/obj/machinery/light/small,/obj/machinery/turretid{pixel_x = -24},/obj/machinery/ai_status_display{pixel_y = -28},/obj/machinery/camera{c_tag = "AI Upload Foyer"; dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/landmark/start{name = "Cyborg"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/turret_protected/ai_upload_foyer)
|
"bnd" = (/obj/machinery/light/small,/obj/machinery/turretid{control_area = "AI Upload Chamber"; pixel_x = -24},/obj/machinery/ai_status_display{pixel_y = -28},/obj/machinery/camera{c_tag = "AI Upload Foyer"; dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/landmark/start{name = "Cyborg"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/turret_protected/ai_upload_foyer)
|
||||||
"bne" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/turret_protected/ai_upload_foyer)
|
"bne" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/turret_protected/ai_upload_foyer)
|
||||||
"bnf" = (/obj/machinery/light/small,/obj/machinery/power/apc{dir = 4; name = "Upload Foyer APC"; pixel_x = 27; pixel_y = -2},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/landmark/start{name = "Cyborg"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/turret_protected/ai_upload_foyer)
|
"bnf" = (/obj/machinery/light/small,/obj/machinery/power/apc{dir = 4; name = "Upload Foyer APC"; pixel_x = 27; pixel_y = -2},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/landmark/start{name = "Cyborg"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/turret_protected/ai_upload_foyer)
|
||||||
"bng" = (/obj/machinery/atmospherics/pipe/simple{dir = 9},/turf/simulated/wall/r_wall,/area/security/nuke_storage)
|
"bng" = (/obj/machinery/atmospherics/pipe/simple{dir = 9},/turf/simulated/wall/r_wall,/area/security/nuke_storage)
|
||||||
|
|||||||
Reference in New Issue
Block a user