mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-28 22:48:38 +01:00
Base features for Precursotech and Anomalotech Expansion
This commit is contained in:
@@ -79,5 +79,28 @@
|
||||
name = T_BOARD_MECHA("Odysseus central control")
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/imperion
|
||||
name = "Alien Circuit"
|
||||
origin_tech = list(TECH_DATA = 5, TECH_BLUESPACE = 3, TECH_PRECURSOR = 1)
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "circuit"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/imperion/main
|
||||
desc = "It is marked with a <span class='alien'>strange glyph</span>."
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/imperion/peripherals
|
||||
desc = "It is marked with a <span class='alien'>pulsing glyph</span>."
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/imperion/targeting
|
||||
desc = "It is marked with an <span class='alien'>ominous glyph</span>."
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/imperion/phasing
|
||||
desc = "It is marked with a <span class='alien'>disturbing glyph</span>."
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/imperion/damaged
|
||||
name = "Damaged Alien Circuit"
|
||||
desc = "It is marked with a <span class='alien'>constantly shifting glyph</span>."
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 1, TECH_PRECURSOR = 2)
|
||||
|
||||
//Undef the macro, shouldn't be needed anywhere else
|
||||
#undef T_BOARD_MECHA
|
||||
|
||||
@@ -105,6 +105,31 @@ Protectiveness | Armor %
|
||||
if(!material) // No point checking for reflection.
|
||||
return ..()
|
||||
|
||||
if(material.negation && prob(material.negation)) // Strange and Alien materials, or just really strong materials.
|
||||
user.visible_message("<span class='danger'>\The [src] completely absorbs [attack_text]!</span>")
|
||||
return TRUE
|
||||
|
||||
if(material.spatial_instability && prob(material.spatial_instability))
|
||||
user.visible_message("<span class='danger'>\The [src] flashes [user] clear of [attack_text]!</span>")
|
||||
var/list/turfs = new/list()
|
||||
for(var/turf/T in orange(round(material.spatial_instability / 10) + 1, user))
|
||||
if(istype(T,/turf/space)) continue
|
||||
if(T.density) continue
|
||||
if(T.x>world.maxx-6 || T.x<6) continue
|
||||
if(T.y>world.maxy-6 || T.y<6) continue
|
||||
turfs += T
|
||||
if(!turfs.len) turfs += pick(/turf in orange(6))
|
||||
var/turf/picked = pick(turfs)
|
||||
if(!isturf(picked)) return
|
||||
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, user.loc)
|
||||
spark_system.start()
|
||||
playsound(user.loc, 'sound/effects/teleport.ogg', 50, 1)
|
||||
|
||||
user.loc = picked
|
||||
return PROJECTILE_FORCE_MISS
|
||||
|
||||
if(material.reflectivity)
|
||||
if(istype(damage_source, /obj/item/projectile/energy) || istype(damage_source, /obj/item/projectile/beam))
|
||||
var/obj/item/projectile/P = damage_source
|
||||
|
||||
@@ -114,4 +114,12 @@
|
||||
for(var/i = 1 to rand(1, 4))
|
||||
var/new_tech = pick(techs)
|
||||
techs -= new_tech
|
||||
origin_tech[new_tech] = rand(5, 9)
|
||||
origin_tech[new_tech] = rand(5, 9)
|
||||
|
||||
origin_tech[TECH_PRECURSOR] = rand(0,2)
|
||||
|
||||
/obj/item/prop/alien/phasecoil
|
||||
name = "reverberating device"
|
||||
desc = "A device pulsing with an ominous energy."
|
||||
icon_state = "circuit_phase"
|
||||
origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_PHORON = 3, TECH_POWER = 5, TECH_MAGNET = 5, TECH_DATA = 5, TECH_PRECURSOR = 2, TECH_ARCANE = 1)
|
||||
|
||||
Reference in New Issue
Block a user