public override string Arm(ServerBattle battle, Say e, string arguments = null) { map = string.IsNullOrEmpty(arguments) ? MapPicker.GetRecommendedMap(battle.GetContext()) : MapPicker.FindResources(ResourceType.Map, arguments, battle.MinimalMapSupportLevel).FirstOrDefault(); if (map == null) { battle.Respond(e, "Cannot find such map."); return(null); } else if (map.InternalName == battle.MapName) { battle.Respond(e, "Already on this map."); return(null); } else if (!string.IsNullOrEmpty(arguments) && map.MapSupportLevel < MapSupportLevel.Supported) { alternativeMap = MapPicker.FindResources(ResourceType.Map, arguments, MapSupportLevel.Supported).FirstOrDefault(); } if (map.MapSupportLevel >= MapSupportLevel.Supported) { return($"Change map to {map.InternalName} {GlobalConst.BaseSiteUrl}/Maps/Detail/{map.ResourceID} ?"); } else { return($"Change to UNSUPPORTED map {map.InternalName} {GlobalConst.BaseSiteUrl}/Maps/Detail/{map.ResourceID} ?"); } }
public override string Arm(ServerBattle battle, Say e, string arguments = null) { map = string.IsNullOrEmpty(arguments) ? MapPicker.GetRecommendedMap(battle.GetContext()) : MapPicker.FindResources(ResourceType.Map, arguments).FirstOrDefault(); if (map == null) { battle.Respond(e, "Cannot find such map."); return(null); } return($"Change map to {map.InternalName} {GlobalConst.BaseSiteUrl}/Maps/Detail/{map.ResourceID} ?"); }
public override string Arm(ServerBattle battle, Say e, string arguments = null) { map = string.IsNullOrEmpty(arguments) ? MapPicker.GetRecommendedMap(battle.GetContext()) : MapPicker.FindResources(ResourceType.Map, arguments).FirstOrDefault(); if (map == null) { battle.Respond(e, "Cannot find such map."); return null; } return $"Change map to {map.InternalName} {GlobalConst.BaseSiteUrl}/Maps/Detail/{map.ResourceID} ?"; }
public override string Arm(ServerBattle battle, Say e, string arguments = null) { Map = string.IsNullOrEmpty(arguments) ? MapPicker.GetRecommendedMap(battle.GetContext(), (battle.MinimalMapSupportLevel > MapSupportLevel.Featured) ? battle.MinimalMapSupportLevel : MapSupportLevel.Featured) : MapPicker.FindResources(ResourceType.Map, arguments, battle.MinimalMapSupportLevel, true).FirstOrDefault(); if (Map == null) { var unsupportedMap = MapPicker.FindResources(ResourceType.Map, arguments, MapSupportLevel.None).FirstOrDefault(); if (unsupportedMap != null) { if (battle.IsAutohost) { battle.Respond(e, $"The map {unsupportedMap.InternalName} {GlobalConst.BaseSiteUrl}/Maps/Detail/{unsupportedMap.ResourceID} is not available on this autohost. Play it in a player hosted battle."); } else { battle.Respond(e, $"The map {unsupportedMap.InternalName} {GlobalConst.BaseSiteUrl}/Maps/Detail/{unsupportedMap.ResourceID} is not supported. Unsupported maps can only be played on passworded hosts."); } } else { battle.Respond(e, "Cannot find such a map."); } return(null); } else if (Map.InternalName == battle.MapName) { battle.Respond(e, "Already on this map."); return(null); } else if (!string.IsNullOrEmpty(arguments) && Map.MapSupportLevel < MapSupportLevel.Supported) { alternativeMap = MapPicker.FindResources(ResourceType.Map, arguments, MapSupportLevel.Supported, true).FirstOrDefault(); } if (Map.MapSupportLevel >= MapSupportLevel.Supported) { return($"Change map to {Map.InternalName}?"); } else { return($"Change to UNSUPPORTED map {Map.InternalName}?"); } }