From a9d8be4d16c90bc4c219318ffba8140e815c6f12 Mon Sep 17 00:00:00 2001 From: magatsuchi <88991542+magatsuchi@users.noreply.github.com> Date: Fri, 6 May 2022 01:02:42 -0500 Subject: [PATCH] adds new z-level trait to disable parallax (#66637) * first push woohoo * more stuff * Update code/datums/components/z_parallax.dm Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> * mothblockification * fuck * fuck 2 * uh * uh yeah style stuff ig * more changes * last changes * fuck * fuck 2 * i hate potatopotato * i hate potato * 2 * a * god * woops * Update code/modules/mapping/space_management/traits.dm Co-authored-by: Kylerace * Update code/modules/mapping/space_management/traits.dm Co-authored-by: Kylerace * Update code/modules/mapping/space_management/traits.dm Co-authored-by: Kylerace Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Kylerace --- _maps/icebox.json | 9 ++- code/__DEFINES/maps.dm | 4 ++ code/_onclick/hud/hud.dm | 2 + code/_onclick/hud/parallax.dm | 2 + code/controllers/subsystem/mapping.dm | 8 +++ code/datums/components/z_parallax.dm | 60 ++++++++++++++++++ code/game/machinery/computer/arcade/arcade.dm | 1 - .../objects/items/stacks/tiles/tile_types.dm | 17 ++++- code/game/turfs/open/floor/fancy_floor.dm | 6 ++ .../mapping/space_management/traits.dm | 30 +++++---- icons/obj/tiles.dmi | Bin 31108 -> 29262 bytes tgstation.dme | 1 + 12 files changed, 122 insertions(+), 18 deletions(-) create mode 100644 code/datums/components/z_parallax.dm diff --git a/_maps/icebox.json b/_maps/icebox.json index 5dd03f211a6..8d92973121d 100644 --- a/_maps/icebox.json +++ b/_maps/icebox.json @@ -18,7 +18,8 @@ "Linkage": null, "Gravity": true, "Ice Ruins Underground": true, - "Baseturf": "/turf/open/lava/plasma/ice_moon" + "Baseturf": "/turf/open/lava/plasma/ice_moon", + "No Parallax": true }, { "Down": -1, @@ -27,7 +28,8 @@ "Linkage": null, "Gravity": true, "Ice Ruins Underground": true, - "Baseturf": "/turf/open/openspace/icemoon/keep_below" + "Baseturf": "/turf/open/openspace/icemoon/keep_below", + "No Parallax": true }, { "Down": -1, @@ -36,7 +38,8 @@ "Gravity": true, "Ice Ruins": true, "Weather_Snowstorm": true, - "Baseturf": "/turf/open/openspace/icemoon/keep_below" + "Baseturf": "/turf/open/openspace/icemoon/keep_below", + "No Parallax": true } ], "minetype": "none", diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index 015b62621be..c21a10fb7f5 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -120,6 +120,9 @@ Always compile, always use that verb, and always make sure that it works for wha // string - type path of the z-level's baseturf (defaults to space) #define ZTRAIT_BASETURF "Baseturf" +///boolean - does this z disable parallax? +#define ZTRAIT_NOPARALLAX "No Parallax" + // default trait definitions, used by SSmapping ///Z level traits for CentCom #define ZTRAITS_CENTCOM list(ZTRAIT_CENTCOM = TRUE, ZTRAIT_NOPHASE = TRUE) @@ -130,6 +133,7 @@ Always compile, always use that verb, and always make sure that it works for wha ///Z level traits for Lavaland #define ZTRAITS_LAVALAND list(\ ZTRAIT_MINING = TRUE, \ + ZTRAIT_NOPARALLAX = TRUE, \ ZTRAIT_ASHSTORM = TRUE, \ ZTRAIT_LAVA_RUINS = TRUE, \ ZTRAIT_BOMBCAP_MULTIPLIER = 2, \ diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 2c3e1485cf3..feced69db09 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -117,6 +117,8 @@ GLOBAL_LIST_INIT(available_ui_styles, list( owner.overlay_fullscreen("see_through_darkness", /atom/movable/screen/fullscreen/see_through_darkness) + AddComponent(/datum/component/zparallax, owner.client) + /datum/hud/Destroy() if(mymob.hud_used == src) mymob.hud_used = null diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 47cb3645cf3..5274972a183 100755 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -47,6 +47,8 @@ /datum/hud/proc/apply_parallax_pref(mob/viewmob) var/mob/screenmob = viewmob || mymob + if(SSmapping.level_trait(screenmob.z, ZTRAIT_NOPARALLAX)) + return FALSE if (SSlag_switch.measures[DISABLE_PARALLAX] && !HAS_TRAIT(viewmob, TRAIT_BYPASS_MEASURES)) return FALSE diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index c798b316878..054f7b7c457 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -67,6 +67,7 @@ SUBSYSTEM_DEF(mapping) config = old_config initialize_biomes() loadWorld() + determine_fake_sale() repopulate_sorted_areas() process_teleport_locs() //Sets up the wizard teleport locations preloadTemplates() @@ -189,6 +190,13 @@ Used by the AI doomsday and the self-destruct nuke. var/turf/open/floor/circuit/C = N C.update_appearance() +/datum/controller/subsystem/mapping/proc/determine_fake_sale() + if(length(SSmapping.levels_by_all_traits(list(ZTRAIT_STATION, ZTRAIT_NOPARALLAX)))) + GLOB.arcade_prize_pool += /obj/item/stack/tile/fakeice/loaded + else + GLOB.arcade_prize_pool += /obj/item/stack/tile/fakespace/loaded + + /datum/controller/subsystem/mapping/Recover() flags |= SS_NO_INIT initialized = SSmapping.initialized diff --git a/code/datums/components/z_parallax.dm b/code/datums/components/z_parallax.dm new file mode 100644 index 00000000000..258d177440b --- /dev/null +++ b/code/datums/components/z_parallax.dm @@ -0,0 +1,60 @@ +/** + * Component that hooks into the client, listens for COMSIG_MOVABLE_Z_CHANGED, and depending on whether or not the + * Z-level has ZTRAIT_NOPARALLAX enabled, disable or reenable parallax. + */ + +/datum/component/zparallax + dupe_mode = COMPONENT_DUPE_UNIQUE + + var/client/tracked + var/mob/client_mob + +/datum/component/zparallax/Initialize(client/tracked) + . = ..() + if(!istype(tracked)) + stack_trace("Component zparallax has been initialized outside of a client. Deleting.") + return COMPONENT_INCOMPATIBLE + + src.tracked = tracked + client_mob = tracked.mob + + RegisterSignal(client_mob, COMSIG_MOB_LOGOUT, .proc/mob_change) + RegisterSignal(client_mob, COMSIG_MOVABLE_Z_CHANGED, .proc/ztrait_checks) + RegisterSignal(client_mob, COMSIG_MOB_LOGIN, .proc/refresh_client) + +/datum/component/zparallax/Destroy() + . = ..() + unregister_signals() + + tracked = null + client_mob = null + +/datum/component/zparallax/proc/unregister_signals() + if(!client_mob) + return + + UnregisterSignal(client_mob, list(COMSIG_MOB_LOGOUT, COMSIG_MOVABLE_Z_CHANGED)) + +/datum/component/zparallax/proc/refresh_client() + tracked = client_mob.client + +/datum/component/zparallax/proc/mob_change() + SIGNAL_HANDLER + + if(client_mob.key) + return + + unregister_signals() + + client_mob = tracked.mob + + RegisterSignal(client_mob, COMSIG_MOB_LOGOUT, .proc/mob_change) + RegisterSignal(client_mob, COMSIG_MOVABLE_Z_CHANGED, .proc/ztrait_checks) + RegisterSignal(client_mob, COMSIG_MOB_LOGIN, .proc/refresh_client) + +/datum/component/zparallax/proc/ztrait_checks() + SIGNAL_HANDLER + + var/datum/hud/hud = client_mob.hud_used + + hud.update_parallax_pref(client_mob) diff --git a/code/game/machinery/computer/arcade/arcade.dm b/code/game/machinery/computer/arcade/arcade.dm index 1f6e3ecb07d..a5060704ce7 100644 --- a/code/game/machinery/computer/arcade/arcade.dm +++ b/code/game/machinery/computer/arcade/arcade.dm @@ -35,7 +35,6 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/toy/talking/owl = 2, /obj/item/toy/talking/griffin = 2, /obj/item/coin/antagtoken = 2, - /obj/item/stack/tile/fakespace/loaded = 2, /obj/item/stack/tile/fakepit/loaded = 2, /obj/item/stack/tile/eighties/loaded = 2, /obj/item/toy/toy_xeno = 2, diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 3d8419283b4..4277eb55f5a 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -1,6 +1,6 @@ /** * TILE STACKS - * + * * Allows us to place a turf on a plating. */ /obj/item/stack/tile @@ -65,7 +65,7 @@ /** * Place our tile on a plating, or replace it. - * + * * Arguments: * * target_plating - Instance of the plating we want to place on. Replaced during sucessful executions. * * user - The mob doing the placing. @@ -970,6 +970,19 @@ /obj/item/stack/tile/fakepit/loaded amount = 30 +/obj/item/stack/tile/fakeice + name = "fake ice" + singular_name = "fake ice tile" + desc = "A piece of tile with a convincing ice pattern." + icon_state = "tile_ice" + inhand_icon_state = "tile-diamond" + turf_type = /turf/open/floor/fakeice + resistance_flags = FLAMMABLE + merge_type = /obj/item/stack/tile/fakeice + +/obj/item/stack/tile/fakeice/loaded + amount = 30 + //High-traction /obj/item/stack/tile/noslip name = "high-traction floor tile" diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm index d0be8a5e753..03c5442957e 100644 --- a/code/game/turfs/open/floor/fancy_floor.dm +++ b/code/game/turfs/open/floor/fancy_floor.dm @@ -772,6 +772,12 @@ underlay_appearance.icon_state = "basalt" return TRUE +/turf/open/floor/fakeice + desc = "Is it marble, polished to a mirror finish? Or just really, really grippy ice?" + icon = 'icons/turf/floors/ice_turf.dmi' + icon_state = "ice_turf-0" + base_icon_state = "ice_turf-0" + /turf/open/floor/fakespace icon = 'icons/turf/space.dmi' icon_state = "0" diff --git a/code/modules/mapping/space_management/traits.dm b/code/modules/mapping/space_management/traits.dm index cd53a3632da..b53e2ee332a 100644 --- a/code/modules/mapping/space_management/traits.dm +++ b/code/modules/mapping/space_management/traits.dm @@ -31,23 +31,29 @@ /// Get a list of all z which have the specified trait /datum/controller/subsystem/mapping/proc/levels_by_trait(trait) - . = list() - var/list/_z_list = z_list - for(var/A in _z_list) - var/datum/space_level/S = A - if (S.traits[trait]) - . += S.z_value + var/list/final_return = list() + for(var/datum/space_level/level as anything in z_list) + if (level.traits[trait]) + final_return += level.z_value + return final_return /// Get a list of all z which have any of the specified traits /datum/controller/subsystem/mapping/proc/levels_by_any_trait(list/traits) - . = list() - var/list/_z_list = z_list - for(var/A in _z_list) - var/datum/space_level/S = A + var/list/final_return = list() + for(var/datum/space_level/level as anything in z_list) for (var/trait in traits) - if (S.traits[trait]) - . += S.z_value + if (level.traits[trait]) + final_return += level.z_value break + return final_return + +/// Get a list of all z which have all of the specified traits +/datum/controller/subsystem/mapping/proc/levels_by_all_traits(list/traits) + var/list/final_return = list() + for(var/datum/space_level/level as anything in z_list) + if(level_has_all_traits(level.z_value, traits)) + final_return += level.z_value + return final_return /// Attempt to get the turf below the provided one according to Z traits /datum/controller/subsystem/mapping/proc/get_turf_below(turf/T) diff --git a/icons/obj/tiles.dmi b/icons/obj/tiles.dmi index ca3971556ae5f72e2087e4479a0e0896346e8bb7..cf7b64830c4cb3e681fe539283516bbd6638b0e0 100644 GIT binary patch literal 29262 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 literal 31108 zcmb@tbySpJ+crFeba#WGf{K7hONlf{2m;dG-8DgjbSRPoqI83FN=k7`2qWk2i-!aB z>QmNNugl3WUZDdhKZ;aI)87D$zS>_yY_ANiokcy1&bQaS zKEA2gv;L%k2AbDy&0FuA+PJ0MbAL>g`yX33=7v{cmg*p#+X zcZ+{)@Vz_Sj)R^-nuSYVl_6B@4R&#WQ1UOq^bSSLSqxnT?@1YW>Up@p5VNrbNvp{cpzQQR#CkDMh;gHJ&QYBI-k{+PA`vPXzccI2#eO z+PE5JiH=`GjlnKMx4BabX+#RDbKOzLihF{u|MG@itt|3NRZy;zx2DD?w!K-75+5%V znxy2~k8#IgepJO#-tO>Io`+@6NRlMh92X)_U={%pE-{}USS)4OPTZXj?UgDCXMpe+ zt;f9=lOMp+<4)F0!r$YMQn#HHNMX_?kqLR^DxsR57h~GrZrdAO8=c}I5uNKo&=CSs zDP$2`ZeA(8uZ*zxu2Zjt{jqle7A1JWWE&N`#1ixHWg9n(MVZN`#Nz
    Q||AlphKE@SG!_ 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%0DK*Ji1Q#T{baCJJfAjN3 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 diff --git a/tgstation.dme b/tgstation.dme index 2d098f298b9..ac13d97a207 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -810,6 +810,7 @@ #include "code\datums\components\vacuum.dm" #include "code\datums\components\wearertargeting.dm" #include "code\datums\components\wet_floor.dm" +#include "code\datums\components\z_parallax.dm" #include "code\datums\components\container_item\container_item.dm" #include "code\datums\components\container_item\tank_holder.dm" #include "code\datums\components\crafting\crafting.dm"