mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 05:00:55 +01:00
Pixel adjustments to mobs are now sourced / Refactors riding (#89320)
Fixes #85980 - Pixel adjustments are now sourced When tweaking a mob's pixel w, x, y, z, is is now done via `add_offsets` and must have a source string associated - Refactors riding Refactors how riding component selects the offsets to use. It's now all done via the getter rather than a weird mix of a var, a cache, and a getter. - Moves a bunch of animations to use `pixel_w` / `pixel_z` Largely to prevent conflicts with adjustments to a mob's pixel position, but also as many animations are not actual movements, but visual movements. Floating is one such example. It just works 🆑 Melbert fix: Fixed grab offsets not showing for anything but passive grab fix: Fix jank with mob offsets when riding things refactor: Refactored riding component, particularly how it selects layer and offsets. Report any oddities refactor: Refactored pixel offsets of mobs. Report any oddities /🆑
This commit is contained in:
@@ -493,8 +493,7 @@
|
||||
mod.wearer.add_filter("mod_ball", 1, alpha_mask_filter(icon = icon('icons/mob/clothing/modsuit/mod_modules.dmi', "ball_mask"), flags = MASK_INVERSE))
|
||||
mod.wearer.add_filter("mod_blur", 2, angular_blur_filter(size = 15))
|
||||
mod.wearer.add_filter("mod_outline", 3, outline_filter(color = "#000000AA"))
|
||||
mod.wearer.base_pixel_y -= 4
|
||||
animate(mod.wearer, animate_time, pixel_y = mod.wearer.base_pixel_y, flags = ANIMATION_PARALLEL)
|
||||
mod.wearer.add_offsets(REF(src), y_add = -4)
|
||||
mod.wearer.SpinAnimation(1.5)
|
||||
mod.wearer.add_traits(user_traits, REF(src))
|
||||
mod.wearer.RemoveElement(/datum/element/footstep, FOOTSTEP_MOB_HUMAN, 1, -6)
|
||||
@@ -506,8 +505,7 @@
|
||||
/obj/item/mod/module/sphere_transform/on_deactivation(display_message = TRUE, deleting = FALSE)
|
||||
if(!deleting)
|
||||
playsound(src, 'sound/items/modsuit/ballin.ogg', 100, TRUE, frequency = -1)
|
||||
mod.wearer.base_pixel_y += 4
|
||||
animate(mod.wearer, animate_time, pixel_y = mod.wearer.base_pixel_y)
|
||||
mod.wearer.remove_offsets(REF(src))
|
||||
addtimer(CALLBACK(mod.wearer, TYPE_PROC_REF(/datum, remove_filter), list("mod_ball", "mod_blur", "mod_outline")), animate_time)
|
||||
mod.wearer.remove_traits(user_traits, REF(src))
|
||||
mod.wearer.remove_movespeed_mod_immunities(REF(src), /datum/movespeed_modifier/damage_slowdown)
|
||||
|
||||
Reference in New Issue
Block a user