mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
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:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user