Ports TG supermatter effects / warp effect (#20808)

* [WIP] Ports TG supermatter effects / warp effect

* remove this as it doesnt work

* also remove this test

* Now with real pulsing effects!

* smoother animation

* adds effect to gravity generator / bsg

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* Move to effect, singularity has effect

* remove effect from size one singularites / narsi

* now works through walls, yipeee

* merge conflict return I did not want

* Apply suggestions from code review

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

* Bug fixes and visual tweaks

* Apply suggestions from code review

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

* Update plane_master.dm

---------

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2023-06-01 14:29:00 -05:00
committed by GitHub
co-authored by Luc Ryan SteelSlayer
parent 11717823df
commit 41a250c4a3
10 changed files with 203 additions and 4 deletions
+12
View File
@@ -97,12 +97,16 @@
name = "gravitational anomaly"
icon_state = "shield2"
density = FALSE
appearance_flags = PIXEL_SCALE|LONG_GLIDE
var/boing = FALSE
var/knockdown = FALSE
aSignal = /obj/item/assembly/signaler/anomaly/grav
var/obj/effect/warp_effect/supermatter/warp
/obj/effect/anomaly/grav/Initialize(mapload, new_lifespan, _drops_core = TRUE, event_spawned = TRUE)
. = ..()
warp = new(src)
vis_contents += warp
if(!event_spawned) //So an anomaly in the hallway is assured to have some risk to it, but not make sm / vetus too much pain
return
for(var/I in 1 to 3)
@@ -111,6 +115,11 @@
if(prob(75))
new /obj/item/shard(loc)
/obj/effect/anomaly/grav/Destroy()
vis_contents -= warp
QDEL_NULL(warp) // don't want to leave it hanging
return ..()
/obj/effect/anomaly/grav/anomalyEffect()
..()
boing = TRUE
@@ -127,6 +136,9 @@
var/mob/living/target = locate() in view(4, src)
if(target && !target.stat)
O.throw_at(target, 5, 10, dodgeable = FALSE)
//anomaly quickly contracts then slowly expands it's ring
animate(warp, time = 6, transform = matrix().Scale(0.5,0.5))
animate(time = 14, transform = matrix())
/obj/effect/anomaly/grav/Crossed(atom/movable/AM)
. = ..()
@@ -364,6 +364,19 @@
pixel_y = -32
duration = 42
/obj/effect/temp_visual/bsg_kaboom/Initialize(mapload)
. = ..()
new /obj/effect/warp_effect/bsg(loc)
/obj/effect/warp_effect/bsg
/obj/effect/warp_effect/bsg/Initialize(mapload)
. = ..()
var/matrix/M = matrix() * 0.5
transform = M
animate(src, transform = M * 8, time = 0.8 SECONDS, alpha = 0)
QDEL_IN(src, 0.8 SECONDS)
/obj/effect/temp_visual/rcd_effect
icon = 'icons/effects/effects_rcd.dmi'
icon_state = "rcd"
+13
View File
@@ -0,0 +1,13 @@
/obj/effect/warp_effect
plane = GRAVITY_PULSE_PLANE
appearance_flags = PIXEL_SCALE|LONG_GLIDE
icon = 'icons/effects/seismic_stomp_effect.dmi'
icon_state = "stomp_effect"
pixel_y = -16
pixel_x = -16
/obj/effect/warp_effect/ex_act(severity)
return
/obj/effect/warp_effect/singularity_act()
return FALSE