diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index aaf689a4dc..59592984e5 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -570,6 +570,7 @@
+
diff --git a/OpenRA.Mods.RA/Scripting/Global/DateGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/DateGlobal.cs
new file mode 100644
index 0000000000..a36c39a11c
--- /dev/null
+++ b/OpenRA.Mods.RA/Scripting/Global/DateGlobal.cs
@@ -0,0 +1,28 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
+ * This file is part of OpenRA, which is free software. It is made
+ * available to you under the terms of the GNU General Public License
+ * as published by the Free Software Foundation. For more information,
+ * see COPYING.
+ */
+#endregion
+
+using System;
+using Eluant;
+using OpenRA.Scripting;
+
+namespace OpenRA.Mods.RA.Scripting
+{
+ [ScriptGlobal("Date")]
+ public class DateGlobal : ScriptGlobal
+ {
+ public DateGlobal(ScriptContext context) : base(context) { }
+
+ [Desc("True on the 31st of October.")]
+ public bool Halloween
+ {
+ get { return DateTime.Today.Month == 10 && DateTime.Today.Day == 31; }
+ }
+ }
+}
diff --git a/mods/ra/maps/desert-shellmap/desert-shellmap.lua b/mods/ra/maps/desert-shellmap/desert-shellmap.lua
index 9255aaff4a..64e24a5489 100644
--- a/mods/ra/maps/desert-shellmap/desert-shellmap.lua
+++ b/mods/ra/maps/desert-shellmap/desert-shellmap.lua
@@ -1,6 +1,4 @@
-local ants = Utils.RandomInteger(0, 51) == 0
-
-if ants then
+if Date.Halloween then
UnitTypes = { "ant", "ant", "ant" }
BeachUnitTypes = { "ant", "ant" }
ParadropUnitTypes = { "ant", "ant", "ant", "ant", "ant" }