public void ClearArea(string areaTag, ActiveArea area, CLRScriptBase s)
        {
            if (area == null)
            {
                area = GetAreaByTag(areaTag);
            }
            if (InfestedAreas.Contains(area))
            {
                InfestedAreas.Remove(area);
            }
            if (InfestedAreaLevels.ContainsKey(areaTag))
            {
                InfestedAreaLevels.Remove(areaTag);
            }
            if (InfestedAreas.Count < 1)
            {
                QuestStore.LoadedInfestations.Remove(this);
                this.Delete();
            }
            int  count = 0;
            uint wp    = s.GetLocalObject(area.Id, WayPointArrayName + count.ToString());

            s.DeleteLocalString(area.Id, InfestNameVar);
            while (s.GetIsObjectValid(wp) != CLRScriptBase.FALSE)
            {
                int    groupNum = 1;
                string oldGroup = s.GetLocalString(wp, InfestPrefix + GroupVarName + groupNum.ToString());
                while (oldGroup != "")
                {
                    s.SetLocalString(wp, GroupVarName + groupNum.ToString(), oldGroup);
                    groupNum++;
                    oldGroup = s.GetLocalString(wp, InfestPrefix + GroupVarName + groupNum.ToString());
                }
                if (s.GetLocalInt(wp, "ACR_SPAWN_TYPE") != 0)
                {
                    count++;
                    wp = s.GetLocalObject(area.Id, WayPointArrayName + count.ToString());
                    continue;
                }
                int    var    = 1;
                string oldVar = s.GetLocalString(wp, InfestPrefix + SingleVarName + var.ToString());
                while (oldVar != "")
                {
                    s.SetLocalString(wp, SingleVarName + var.ToString(), oldVar);
                    var++;
                    oldVar = s.GetLocalString(wp, InfestPrefix + SingleVarName + var.ToString());
                }
                var    = 1;
                oldVar = s.GetLocalString(wp, InfestPrefix + RandomVarName + var.ToString());
                while (oldVar != "")
                {
                    s.SetLocalString(wp, RandomVarName + var.ToString(), oldVar);
                    var++;
                    oldVar = s.GetLocalString(wp, InfestPrefix + RandomVarName + var.ToString());
                }
                count++;
                wp = s.GetLocalObject(area.Id, WayPointArrayName + count.ToString());
            }
        }