mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
[MIRROR] Fixes contractor drop pods not being clickable due to suspected BYOND issue. [MDB IGNORE] (#8454)
* Fixes contractor drop pods not being clickable due to suspected BYOND issue. (#61723) Fixes #61695 When breaking the entire problem down, I identified the point in time at which the pod stopped being clickable Spawning in pods manually and running their various procs couldn't replicate the issue. As a result, I eliminated pod code as the root cause and focused on the pod_landingzone that control them. I considered the debris as a possible cause following: #61695 However, removing the debris actually removed ALL clickable area for the pods. The debris overlap was the only part that let me click on the pods. So then I set to hacking away at any animation code. At one point I removed both the animates animate(pod.get_filter("motionblur"), y = 0, time = pod.delays[POD_FALLING], flags = ANIMATION_PARALLEL) animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING, flags = ANIMATION_PARALLEL) //Make the pod fall! At an angle! from /obj/effect/pod_landingzone/proc/beginLaunch and the problem still persisted. When I removed pod.add_filter("motionblur",1,list("type"="motion_blur", "x"=0, "y"=3)) after this (the effect was permanently on the pod which made it pretty obvious as a possible cause) the problem vanished entirely. Without the motion blur filter applied, pods now function properly. As a result, I believe this is a BYOND issue. Someone with more brains than me can probably work out a test case. Until someone with more brains than me comes along to fix it, removing the motion blur filter is my solution. * Fixes contractor drop pods not being clickable due to suspected BYOND issue. Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
This commit is contained in:
@@ -612,8 +612,6 @@
|
||||
/obj/effect/pod_landingzone/proc/beginLaunch(effectCircle) //Begin the animation for the pod falling. The effectCircle param determines whether the pod gets to come in from any descent angle
|
||||
pod.addGlow()
|
||||
pod.update_appearance()
|
||||
if (pod.style != STYLE_INVISIBLE)
|
||||
pod.add_filter("motionblur",1,list("type"="motion_blur", "x"=0, "y"=3))
|
||||
pod.forceMove(drop_location())
|
||||
for (var/mob/living/M in pod) //Remember earlier (initialization) when we moved mobs into the pod_landingzone so they wouldnt get lost in nullspace? Time to get them out
|
||||
M.reset_perspective(null)
|
||||
@@ -625,8 +623,7 @@
|
||||
pod.transform = matrix().Turn(rotation)
|
||||
pod.layer = FLY_LAYER
|
||||
if (pod.style != STYLE_INVISIBLE)
|
||||
animate(pod.get_filter("motionblur"), y = 0, time = pod.delays[POD_FALLING], flags = ANIMATION_PARALLEL)
|
||||
animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING, flags = ANIMATION_PARALLEL) //Make the pod fall! At an angle!
|
||||
animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING) //Make the pod fall! At an angle!
|
||||
addtimer(CALLBACK(src, .proc/endLaunch), pod.delays[POD_FALLING], TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation
|
||||
|
||||
/obj/effect/pod_landingzone/proc/setupSmoke(rotation)
|
||||
|
||||
Reference in New Issue
Block a user