Adds reactive teleport armor construction, ports repulsive armor from TG (#15343)

* Adds reactive teleport armor construction, ports stuff from tg to do it

* Adds description to what disabled does in code

* Fixes ashwalker tendril anomaly

* SaberML code suggestions

Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com>

* True or false

* Keeps reactive armors from triggering from kisses

* removes stun check

* oops

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>

Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com>
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2021-03-30 06:55:31 -04:00
committed by GitHub
parent 504aba7ce0
commit 2e4e0d2e91
5 changed files with 142 additions and 23 deletions
+44
View File
@@ -51,3 +51,47 @@
icon_state = "vortex_core"
anomaly_type = /obj/effect/anomaly/bhole
origin_tech = "engineering=7"
/obj/item/assembly/signaler/anomaly/random
name = "Random anomaly core"
/obj/item/assembly/signaler/anomaly/random/New()
..()
var/list/types = list(/obj/item/assembly/signaler/anomaly/pyro, /obj/item/assembly/signaler/anomaly/grav, /obj/item/assembly/signaler/anomaly/flux, /obj/item/assembly/signaler/anomaly/bluespace, /obj/item/assembly/signaler/anomaly/vortex)
var/A = pick(types)
new A(loc)
qdel(src)
/obj/item/reactive_armour_shell
name = "reactive armour shell"
desc = "An experimental suit of armour, awaiting installation of an anomaly core."
icon_state = "reactiveoff"
icon = 'icons/obj/clothing/suits.dmi'
w_class = WEIGHT_CLASS_NORMAL
/obj/item/reactive_armour_shell/attackby(obj/item/I, mob/user, params)
var/static/list/anomaly_armour_types = list(
/obj/item/assembly/signaler/anomaly/grav = /obj/item/clothing/suit/armor/reactive/repulse,
/obj/item/assembly/signaler/anomaly/flux = /obj/item/clothing/suit/armor/reactive/tesla,
/obj/item/assembly/signaler/anomaly/bluespace = /obj/item/clothing/suit/armor/reactive/teleport,
/obj/item/assembly/signaler/anomaly/pyro = /obj/item/clothing/suit/armor/reactive/fire
)
if(istype(I, /obj/item/assembly/signaler/anomaly))
var/obj/item/assembly/signaler/anomaly/A = I
var/armour_path = /obj/item/clothing/suit/armor/reactive/stealth //Fallback
if(istype(I, /obj/item/assembly/signaler/anomaly/grav))
armour_path = /obj/item/clothing/suit/armor/reactive/repulse
if(istype(I, /obj/item/assembly/signaler/anomaly/flux))
armour_path = /obj/item/clothing/suit/armor/reactive/tesla
if(istype(I, /obj/item/assembly/signaler/anomaly/bluespace))
armour_path = /obj/item/clothing/suit/armor/reactive/teleport
if(istype(I, /obj/item/assembly/signaler/anomaly/pyro))
armour_path = /obj/item/clothing/suit/armor/reactive/fire
if(istype(I, /obj/item/assembly/signaler/anomaly/vortex))
armour_path = /obj/item/clothing/suit/armor/reactive/stealth // Vortex needs one, this is just temporary(TM) till one is coded for them.
to_chat(user, "<span class='notice'>You insert [A] into the chest plate, and the armour gently hums to life.</span>")
new armour_path(get_turf(src))
qdel(src)
qdel(A)
return ..()
@@ -257,3 +257,15 @@
build_path = /obj/item/gun/energy/immolator
locked = 1
category = list("Weapons")
/datum/design/reactive_armour
name = "Reactive Armor Shell"
desc = "A reactive armor shell, that can have an anomaly core inserted to make a reactive armor"
id = "reactivearmor"
req_tech = list("combat" = 6, "materials" = 7, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_PLASMA = 8000, MAT_TITANIUM = 14000, MAT_BLUESPACE = 6000) //Big strong armor needs big-ish investment
build_path = /obj/item/reactive_armour_shell
locked = TRUE
access_requirement = list(ACCESS_RD)
category = list("Weapons")