mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 07:20:09 +01:00
Planes & Layers part 2: Plane Masters (#18749)
Part 2 of the PR series to bring /tg/'s and bay's plane masters to Aurora, the lack of which is blocking several features we want. This ports over the easier to understand Bay version of plane masters, which is detailed in the relevant readme file in the code. Example effect code for a warp effect is also in, which has been implemented for gravity catapults. Relies on #18741 --------- Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it> Co-authored-by: Cody Brittain <cbrittain10@live.com> Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
This commit is contained in:
co-authored by
Cody Brittain
Matt Atlas
parent
bb03336315
commit
c1d241594b
@@ -77,3 +77,12 @@
|
||||
|
||||
/obj/effect/constructing_effect/proc/end()
|
||||
qdel(src)
|
||||
|
||||
/// Example of a warp filter
|
||||
/obj/effect/effect/warp
|
||||
plane = WARP_EFFECT_PLANE
|
||||
appearance_flags = PIXEL_SCALE
|
||||
icon = 'icons/effects/352x352.dmi'
|
||||
icon_state = "singularity_s11"
|
||||
pixel_x = -176
|
||||
pixel_y = -176
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
icon='icons/effects/beam.dmi'
|
||||
icon_state="b_beam"
|
||||
blend_mode = BLEND_ADD
|
||||
layer = EFFECTS_ABOVE_LIGHTING_LAYER
|
||||
plane = EFFECTS_ABOVE_LIGHTING_PLANE
|
||||
animate_movement = FALSE
|
||||
var/tmp/atom/BeamSource
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
name = "bluespace"
|
||||
icon = 'icons/turf/space.dmi'
|
||||
icon_state = "bluespacify"
|
||||
plane = EFFECTS_ABOVE_LIGHTING_PLANE
|
||||
layer = SUPERMATTER_WALL_LAYER
|
||||
|
||||
/obj/effect/overlay/temp
|
||||
|
||||
@@ -477,6 +477,9 @@
|
||||
|
||||
SEND_SIGNAL(src, COMSIG_ITEM_DROPPED, user)
|
||||
|
||||
if(user && (z_flags & ZMM_MANGLE_PLANES))
|
||||
addtimer(CALLBACK(user, /mob/proc/check_emissive_equipment), 0, TIMER_UNIQUE)
|
||||
|
||||
/obj/item/proc/remove_item_verbs(mob/user)
|
||||
if(ismech(user)) //very snowflake, but necessary due to how mechs work
|
||||
return
|
||||
@@ -550,6 +553,9 @@
|
||||
item_equipped_event.raise_event(src, user, slot)
|
||||
SEND_SIGNAL(src, COMSIG_ITEM_REMOVE, src)
|
||||
|
||||
if(user && (z_flags & ZMM_MANGLE_PLANES))
|
||||
addtimer(CALLBACK(user, /mob/proc/check_emissive_equipment), 0, TIMER_UNIQUE)
|
||||
|
||||
//sometimes we only want to grant the item's action if it's equipped in a specific slot.
|
||||
/obj/item/proc/item_action_slot_check(mob/user, slot)
|
||||
return TRUE
|
||||
|
||||
@@ -29,6 +29,7 @@ pixel_x = 8;
|
||||
canhear_range = 2
|
||||
atom_flags = ATOM_FLAG_NO_BLOOD
|
||||
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED | OBJ_FLAG_CONDUCTABLE
|
||||
z_flags = ZMM_MANGLE_PLANES
|
||||
var/number = 0
|
||||
var/obj/machinery/abstract/intercom_listener/power_interface
|
||||
var/global/list/screen_overlays
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
icon_state = "white"
|
||||
anchored = TRUE
|
||||
simulated = FALSE
|
||||
layer = EFFECTS_ABOVE_LIGHTING_LAYER
|
||||
plane = EFFECTS_ABOVE_LIGHTING_PLANE
|
||||
alpha = 100
|
||||
var/datum/weakref/source
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
return
|
||||
cut_overlays()
|
||||
var/mutable_appearance/MA = new(I)
|
||||
MA.layer = EFFECTS_ABOVE_LIGHTING_LAYER
|
||||
MA.plane = EFFECTS_ABOVE_LIGHTING_PLANE
|
||||
MA.appearance_flags = RESET_ALPHA
|
||||
MA.alpha = 170
|
||||
MA.pixel_x = 0
|
||||
|
||||
@@ -95,6 +95,7 @@
|
||||
. = overlay_cache[scanned]
|
||||
else
|
||||
var/image/I = image(scanned.icon, scanned.loc, scanned.icon_state, UNDER_HUD_LAYER, scanned.dir)
|
||||
I.plane = HUD_PLANE
|
||||
|
||||
//Pipes are special
|
||||
if(istype(scanned, /obj/machinery/atmospherics/pipe))
|
||||
|
||||
@@ -50,10 +50,11 @@
|
||||
icon_state = "starprojection"
|
||||
mouse_opacity = TRUE
|
||||
duration = 30 SECONDS
|
||||
layer = EFFECTS_ABOVE_LIGHTING_LAYER
|
||||
plane = EFFECTS_ABOVE_LIGHTING_PLANE
|
||||
light_power = 1
|
||||
light_range = 1
|
||||
light_color = LIGHT_COLOR_HALOGEN
|
||||
z_flags = ZMM_MANGLE_PLANES
|
||||
var/global/image/glow_state
|
||||
|
||||
/obj/effect/temp_visual/constellation/Initialize()
|
||||
|
||||
@@ -304,7 +304,8 @@
|
||||
update_icon()
|
||||
|
||||
/obj/item/weldingtool/use_tool(atom/target, mob/living/user, delay, amount, volume, datum/callback/extra_checks)
|
||||
var/image/welding_sparks = image('icons/effects/effects.dmi', welding_state, EFFECTS_ABOVE_LIGHTING_LAYER)
|
||||
var/image/welding_sparks = image('icons/effects/effects.dmi', welding_state)
|
||||
welding_sparks.plane = EFFECTS_ABOVE_LIGHTING_PLANE
|
||||
target.add_overlay(welding_sparks)
|
||||
. = ..()
|
||||
target.cut_overlay(welding_sparks)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
/obj/effect/overlay/street_light
|
||||
icon = 'icons/obj/structure/urban/poles.dmi'
|
||||
icon_state = "street_light"
|
||||
layer = EFFECTS_ABOVE_LIGHTING_LAYER
|
||||
plane = EFFECTS_ABOVE_LIGHTING_PLANE
|
||||
|
||||
/obj/effect/overlay/street_light/classic
|
||||
icon_state = "classic_lamp_light"
|
||||
|
||||
Reference in New Issue
Block a user