예제 #1
0
        public void get_Agregar_Hechizo_Stats(byte nivel, HechizoStats stats)
        {
            if (statsHechizos.ContainsKey(nivel))
            {
                statsHechizos.Remove(nivel);
            }

            statsHechizos.Add(nivel, stats);
        }
예제 #2
0
        private HechizoStats get_Datos_Hechizo(int id_hechizo, int nivel_hechizo)
        {
            XElement      xml           = XElement.Parse(Resources.hechizos);
            HechizoStats  hechizo_stats = new HechizoStats();
            List <string> datos_hechizo = Extensiones.get_Dividir_Matrices(xml.Elements("HECHIZO").Where(e => int.Parse(e.Element("id").Value) == id_hechizo).Elements("nivel" + nivel_hechizo).Select(e => e.Value).FirstOrDefault(), '[', ']', ',');

            hechizo_stats.coste_pa       = datos_hechizo[2] == "null" ? Convert.ToByte(0) : byte.Parse(datos_hechizo[2]);
            hechizo_stats.alcanze_minimo = datos_hechizo[3] == "null" ? Convert.ToByte(0) : byte.Parse(datos_hechizo[3]);
            hechizo_stats.alcanze_maximo = datos_hechizo[4] == "null" ? Convert.ToByte(0) : byte.Parse(datos_hechizo[4]);

            hechizo_stats.es_lanzado_linea       = datos_hechizo[7] == "null" ? false : bool.Parse(datos_hechizo[7]);
            hechizo_stats.es_lanzado_con_vision  = datos_hechizo[8] == "null" ? false : bool.Parse(datos_hechizo[8]);
            hechizo_stats.es_celda_vacia         = datos_hechizo[9] == "null" ? false : bool.Parse(datos_hechizo[9]);
            hechizo_stats.es_alcanze_modificable = datos_hechizo[10] == "null" ? false : bool.Parse(datos_hechizo[10]);

            hechizo_stats.lanzamientos_por_turno    = datos_hechizo[12] == "null" ? Convert.ToByte(0) : byte.Parse(datos_hechizo[12]);
            hechizo_stats.lanzamientos_por_objetivo = datos_hechizo[13] == "null" ? Convert.ToByte(0) : byte.Parse(datos_hechizo[13]);
            hechizo_stats.intervalo     = datos_hechizo[14] == "null" ? Convert.ToByte(0) : byte.Parse(datos_hechizo[14]);
            hechizo_stats.areaAfectados = datos_hechizo[15] == "null" ? new Zonas[0] : Zonas.get_Analizar_Zonas(datos_hechizo[15]);

            return(hechizo_stats);
        }
예제 #3
0
        public static IEnumerable <Celda> Get_Lista_Celdas_Rango_Hechizo(int celda_actual, HechizoStats spellLevel, Mapa mapa, int rango_adicional = 0)
        {
            int   rango_maximo = spellLevel.alcanze_maximo + (spellLevel.es_alcanze_modificable ? rango_adicional : 0);
            Celda celda        = mapa.celdas[celda_actual];

            if (spellLevel.es_lanzado_linea)
            {
                return(Shaper.Cruz(celda.x, celda.y, spellLevel.alcanze_minimo, rango_maximo, mapa));
            }
            else
            {
                return(Shaper.Anillo(celda.x, celda.y, spellLevel.alcanze_minimo, rango_maximo, mapa));
            }
        }