mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
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:
co-authored by
Luc
Ryan
SteelSlayer
parent
11717823df
commit
41a250c4a3
@@ -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"
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user