public PullTask(PPather pather, NodeTask node) : base(pather, node) { Value v_names = node.GetValueOfId("Names"); if (v_names != null) { names = v_names.GetStringCollectionValues(); if (names.Count == 0) { names = null; } } Value v_ignore = node.GetValueOfId("Ignore"); if (v_ignore != null) { ignore = v_ignore.GetStringCollectionValues(); if (ignore.Count == 0) { ignore = null; } } Value v_factions = node.GetValueOfId("Factions"); if (v_factions != null) { factions = v_factions.GetIntCollectionValues(); if (factions.Count == 0) { factions = null; } if (factions != null) { foreach (int faction in factions) { PPather.WriteLine(" faction '" + faction + "'"); } } } MinLevel = node.GetValueOfId("MinLevel").GetIntValue(); MaxLevel = node.GetValueOfId("MaxLevel").GetIntValue(); Distance = node.GetValueOfId("Distance").GetFloatValue(); if (Distance == 0.0f) { Distance = 1E30f; } if (MaxLevel == 0) { MaxLevel = 10000; } //PPather.WriteLine(" Max level " + MaxLevel); //PPather.WriteLine(" Min level " + MinLevel); SetKillCount(); UseMount = node.GetBoolValueOfId("UseMount"); skipMobsWithAdds = node.GetBoolValueOfId("SkipMobsWithAdds"); if (skipMobsWithAdds) { addsDistance = node.GetFloatValueOfId("AddsDistance"); addsCount = node.GetIntValueOfId("AddsCount"); if (addsDistance == 0) { addsDistance = 15; } if (addsCount == 0) { addsCount = 2; } } }