Syndicate Depot, Turret Fixes, Telesci Proofing

- Adds the Syndicate depot, an outpost heavily guarded by turrets, and
proofed against telescience.

- Fixes gun_turrets not ID'ing syndicate agents properly, adds support
for different bullets.

- Adds support to make an area un-accessible to telescience. I wish
there was a better way to handle that in the telescience computer, but
noone I consulted could seem to figure a way out. Simply set the area
tag in question's tele_proof to 1 to disable telescience in that area.
This commit is contained in:
SamCroswell
2014-12-18 19:16:07 -05:00
parent 7e8ac435a2
commit f0801b2416
4 changed files with 12076 additions and 12065 deletions
+15 -7
View File
@@ -56,6 +56,8 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
var/list/all_doors = list() //Added by Strumpetplaya - Alarm Change - Contains a list of doors adjacent to this area
var/air_doors_activated = 0
var/tele_proof = 0
/*Adding a wizard area teleport list because motherfucking lag -- Urist*/
/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/
var/list/teleportlocs = list()
@@ -468,6 +470,12 @@ var/list/ghostteleportlocs = list()
name = "\improper Syndicate Elite Squad"
icon_state = "syndie-elite"
/area/syndicate_depot
name = "\improper Suspicious Supply Depot"
icon_state = "red"
tele_proof = 1
requires_power = 0
//EXTRA
/area/asteroid // -- TLE
@@ -654,27 +662,27 @@ var/list/ghostteleportlocs = list()
name = "\improper Aft Starboard Solars Landing Area"
icon_state = "southeast"
requires_power = 0
/area/xenos_station/east
name = "\improper East Landing Area"
icon_state = "east"
requires_power = 0
/area/xenos_station/west
name = "\improper West Landing Area"
icon_state = "west"
requires_power = 0
/area/xenos_station/researchoutpost
name = "\improper Research Outpost Landing Area"
icon_state = "north"
requires_power = 0
/area/xenos_station/miningoutpost
name = "\improper Mining Outpost Landing Area"
icon_state = "south"
requires_power = 0
requires_power = 0
//PRISON
/area/prison
name = "\improper Prison Station"
@@ -994,7 +1002,7 @@ var/list/ghostteleportlocs = list()
/area/blueshield
name = "\improper Blueshield's Office"
icon_state = "blueold"
/area/centcomdocks
name = "\improper Central Command Docks"
icon_state = "centcom"
+23 -6
View File
@@ -190,13 +190,13 @@
targeting_active = 1
target()
targeting_active = 0
if(prob(15))
if(prob(50))
playsound(get_turf(src), 'sound/effects/turret/move1.wav', 60, 1)
else
playsound(get_turf(src), 'sound/effects/turret/move2.wav', 60, 1)
else if(!isPopping())//else, pop down
if(!isDown())
popDown()
@@ -487,14 +487,15 @@
/obj/machinery/gun_turret //related to turrets but work way differentely because of being mounted on a moving ship.
name = "machine gun turret"
desc = "Syndicate defense turret. It really packs a bunch."
desc = "Syndicate heavy defense turret. It really packs a bunch."
density = 1
anchored = 1
var/state = 0 //Like stat on mobs, 0 is alive, 1 is damaged, 2 is dead
var/list/faction = list("syndicate")
var/faction = "syndicate"
var/atom/cur_target = null
var/scan_range = 9 //You will never see them coming
var/health = 200 //Because it lacks a cover, and is mostly to keep people from touching the syndie shuttle.
var/bullet_type = /obj/item/projectile/bullet
icon = 'icons/obj/turrets.dmi'
icon_state = "syndieturret0"
@@ -622,11 +623,27 @@
return
if (targloc == curloc)
return
playsound(get_turf(src), 'sound/weapons/Gunshot.ogg', 60, 1)
var/obj/item/projectile/A = new /obj/item/projectile/bullet(curloc)
playsound(get_turf(src), 'sound/weapons/Gunshot3.ogg', 60, 1)
var/obj/item/projectile/A = new bullet_type(curloc)
A.current = curloc
A.yo = targloc.y - curloc.y
A.xo = targloc.x - curloc.x
spawn(0)
A.process()
return
/obj/machinery/gun_turret/interior
name = "machine gun turret (.45)"
desc = "Syndicate interior defense turret chambered for .45 rounds. Designed to down intruders without damaging the hull."
bullet_type = /obj/item/projectile/bullet/midbullet
/obj/machinery/gun_turret/exterior
name = "machine gun turret (7.62)"
desc = "Syndicate exterior defense turret chambered for 7.62 rounds. Designed to down intruders with heavy calliber bullets."
bullet_type = /obj/item/projectile/bullet
/obj/machinery/gun_turret/grenade
name = "mounted grenade launcher (40mm)"
desc = "Syndicate 40mm grenade launcher defense turret. If you've had this much time to look at it, you're probably already dead."
bullet_type = /obj/item/projectile/bullet/a40mm
+15
View File
@@ -297,6 +297,21 @@
telefail()
temp_msg = "ERROR! Sector is less than 1, <BR>greater than [src.emagged ? "7" : "6"], or equal to 2."
return
var/truePower = Clamp(power + power_off, 1, 1000)
var/trueRotation = rotation + rotation_off
var/trueAngle = Clamp(angle, 1, 90)
var/datum/projectile_data/proj_data = projectile_trajectory(telepad.x, telepad.y, trueRotation, trueAngle, truePower)
var/turf/target = locate(Clamp(round(proj_data.dest_x, 1), 1, world.maxx), Clamp(round(proj_data.dest_y, 1), 1, world.maxy), z_co)
var/area/A = get_area(target)
if(A.tele_proof == 1)
telefail()
temp_msg = "ERROR! Target destination unreachable due to interference."
return
if(teles_left > 0)
doteleport(user)
else
+12023 -12052
View File
File diff suppressed because it is too large Load Diff