Skript
Skript copied to clipboard
List to List comparisons no longer function
Skript/Server Version
[03:05:30 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[03:05:30 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[03:05:30 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[03:05:30 INFO]: [Skript] Server Version: git-Paper-346 (MC: 1.20.4)
[03:05:30 INFO]: [Skript] Skript Version: 2.8.0-pre1 (selfbuilt-unknown)
[03:05:30 INFO]: [Skript] Installed Skript Addons:
[03:05:30 INFO]: [Skript] - skript-gui v1.3 (https://github.com/APickledWalrus/skript-gui)
[03:05:30 INFO]: [Skript] - skript-reflect v2.4-dev2 (https://github.com/SkriptLang/skript-reflect)
[03:05:30 INFO]: [Skript] Installed dependencies: None
Bug Description
When attempting to compare a list against another list, no matter what you do you can no longer be successful. This issue here is somewhat showed in the image below. However for those who don't like to read cramped text.
When you compare a list it'll iterate over each element within both list so stone -> stone then dirt dirt -> stone then dirt what happens here is stone is stone passes and moves on to dirt, dirt then fails on stone when it meets causing a comparison that is correct to never pass.
Expected Behavior
When comparing list only check for each object once (i.e. stone = stone, okay no longer check for the first instance of stone, move on to dirt is dirt)
Steps to Reproduce
on load:
set {_list::*} to stone and dirt
{_list::*} is {_list::*}
broadcast "List = List, Yay!!"
Errors or Screenshots
Other
reflect is a custom build that fixes issues caused in 2.8-pre1 nothing was changed
Agreement
- [X] I have read the guidelines above and affirm I am following them with this report.
Have replicated when writing tests for ExprDrops, ExprPercent. and the clamp function:
Discussion in discord for parity:
Starts at this message.
And finally, here's what causes it. Each element of first
is checked against all elements of second
:
(CondCompare#check(), line 346)