diff --git a/RuriLib/Blocks/BlockUtility.cs b/RuriLib/Blocks/BlockUtility.cs
index e805283..e4746c8 100644
--- a/RuriLib/Blocks/BlockUtility.cs
+++ b/RuriLib/Blocks/BlockUtility.cs
@@ -71,6 +71,9 @@ namespace RuriLib
/// Removes an element from a list variable.
Remove,
+ /// Removes duplicate elements from a list variable, keeping only the first one.
+ RemoveDuplicates,
+
/// Picks a random element from a list variable.
Random
}
@@ -489,6 +492,10 @@ namespace RuriLib
variable.Value.RemoveAt(index);
break;
+ case ListAction.RemoveDuplicates:
+ data.Variables.Set(new CVar(variableName, list.Distinct().ToList(), isCapture));
+ break;
+
case ListAction.Random:
data.Variables.Set(new CVar(variableName, list[data.rand.Next(list.Count)], isCapture));
break;