Anomaly core modules for modsuits (#23154)

* firewall

* shielded part 1

* WIP: Anomaly core modules for modsuits

* icons, vortex

* cryogrenade, nerfs teslawall

* message admins moment

* Update uplink_nuclear.dm

* rnd designs

* now uses the flayer icon state

* Apply suggestions from code review

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* early returns, barricade types, and comments, oh my

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* updates desc, remove comment, removes /hardsuit/

---------

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2024-01-21 14:17:18 -05:00
committed by GitHub
parent db578cdc6f
commit 192b8224b8
33 changed files with 699 additions and 243 deletions

View File

@@ -198,6 +198,7 @@
/obj/item/projectile/beam/immolator
name = "immolation beam"
immolate = 1
/obj/item/projectile/beam/immolator/strong
name = "heavy immolation beam"
@@ -226,13 +227,6 @@
impact_light_range = 2.5
impact_light_color_override = LIGHT_COLOR_FIRE
/obj/item/projectile/beam/immolator/on_hit(atom/target, blocked = 0)
. = ..()
if(isliving(target))
var/mob/living/M = target
M.adjust_fire_stacks(1)
M.IgniteMob()
/obj/item/projectile/beam/instakill
name = "instagib laser"
icon_state = "purple_laser"

View File

@@ -59,13 +59,7 @@
damage_type = TOX
/obj/item/projectile/bullet/incendiary
/obj/item/projectile/bullet/incendiary/on_hit(atom/target, blocked = 0)
. = ..()
if(iscarbon(target))
var/mob/living/carbon/M = target
M.adjust_fire_stacks(4)
M.IgniteMob()
immolate = 1
/obj/item/projectile/bullet/incendiary/firebullet
damage = 10
@@ -132,11 +126,8 @@
damage = 27
armour_penetration_flat = 40
/obj/item/projectile/bullet/midbullet3/fire/on_hit(atom/target, blocked = 0)
if(..(target, blocked))
var/mob/living/M = target
M.adjust_fire_stacks(1)
M.IgniteMob()
/obj/item/projectile/bullet/midbullet3/fire
immolate = 1
/obj/item/projectile/bullet/midbullet3/overgrown
icon = 'icons/obj/ammo.dmi'

View File

@@ -108,6 +108,9 @@
M.KnockDown(4 SECONDS)
else
to_chat(M, "<span class='userdanger'>You see a flash of briliant blue light as [src] explodes, burning you!</span>")
if(immolate)
M.adjust_fire_stacks(immolate)
M.IgniteMob()
else
to_chat(M, "<span class='userdanger'>You feel the heat of the explosion of [src], but the blast mostly misses you.</span>")
add_attack_logs(src, M, "Hit lightly by [src]")
@@ -144,7 +147,7 @@
A.duration += 10 SECONDS
qdel(src)
return
new /obj/effect/abstract/arc_revolver(target, charge_number)
new /obj/effect/abstract/arc_revolver(target, charge_number, immolate)
qdel(src)
@@ -156,12 +159,14 @@
var/list/chains = list()
var/successfulshocks = 0
var/wait_for_three = 0
var/our_immolate = 0
/obj/effect/abstract/arc_revolver/Initialize(mapload, charge_number)
/obj/effect/abstract/arc_revolver/Initialize(mapload, charge_number, immolate)
. = ..()
charge_numbers += charge_number
START_PROCESSING(SSfastprocess, src)
GLOB.arc_emitters += src
our_immolate = immolate / 5
build_chains()
/obj/effect/abstract/arc_revolver/proc/build_chains()
@@ -232,6 +237,9 @@
)
var/damage = (2 - isliving(B.origin) + 2 - isliving(B.target)) //Damage is upped depending if the origin is a mob or not. Wall to wall hurts more than mob to wall, or mob to mob
L.adjustFireLoss(damage) //time to die
if(our_immolate)
L.adjust_fire_stacks(our_immolate)
L.IgniteMob()
. = 1
/obj/effect/abstract/arc_revolver/proc/removechains()