Ejemplo n.º 1
0
        private bool get_Intentar_Mover_Interactivo(KeyValuePair <short, ObjetoInteractivo> interactivo)
        {
            interactivo_recolectando = interactivo.Value;
            byte distancia_detener = 1;
            ObjetosInventario arma = cuenta.juego.personaje.inventario.get_Objeto_en_Posicion(InventarioPosiciones.ARMA);

            if (arma != null)
            {
                distancia_detener = get_Distancia_herramienta(arma.id_modelo);
            }

            ResultadoMovimientos resultado_movimiento = cuenta.juego.manejador.movimientos.get_Mover_A_Celda(interactivo_recolectando.celda, mapa.celdas_ocupadas(), true, distancia_detener);

            switch (resultado_movimiento)
            {
            case ResultadoMovimientos.EXITO:
            case ResultadoMovimientos.MISMA_CELDA:
                get_Intentar_Recolectar_Interactivo();
                return(true);

            default:
                get_Cancelar_Interactivo();
                return(false);
            }
        }
Ejemplo n.º 2
0
        private void mapa_Control_Celda_Clic(CeldaMapa celda, MouseButtons botones)
        {
            short celda_actual = cuenta.personaje.celda.id, celda_destino = celda.id;

            if (botones == MouseButtons.Left && celda_actual != 0 && celda_destino != 0)
            {
                ResultadoMovimientos resultado = cuenta.personaje.manejador.movimientos.get_Mover_A_Celda(celda_destino, true);

                switch (resultado)
                {
                case ResultadoMovimientos.EXITO:
                    cuenta.logger.log_informacion("UI_MAPA", "Personaje desplazado a la casilla: " + celda_destino);
                    break;

                case ResultadoMovimientos.MISMA_CELDA:
                    cuenta.logger.log_Error("UI_MAPA", "El jugador está en la misma a la seleccionada");
                    break;

                default:
                    cuenta.logger.log_Error("UI_MAPA", "Error desplazando el personaje a la casilla: " + celda_destino + " resultado: " + resultado);
                    break;
                }
            }
            else
            {
                cuenta.logger.log_Error("UI_MAPA", "Error al intentar mover el personaje" + celda_actual);
            }
        }
Ejemplo n.º 3
0
        private bool get_Mover_Para_Cambiar_mapa(Cell celda, bool ignoreGroupOnSun = false)
        {
            var cellsNotPermitted = mapa.celdas_ocupadas().Where(c => c.cellType != CellTypes.TELEPORT_CELL).ToList();

            if (ignoreGroupOnSun)
            {
                cellsNotPermitted = new List <Cell>();
            }
            var t = new Random().Next(650, 1500);

            Task.Delay(t);

            ResultadoMovimientos resultado = get_Mover_A_Celda(celda, cellsNotPermitted);

            switch (resultado)
            {
            case ResultadoMovimientos.EXITO:
                cuenta.Logger.LogInfo("MOUVEMENT", $"{mapa.GetCoordinates} changement de map via la cellule {celda.cellId} ");
                return(true);

            default:
                cuenta.Logger.LogError("MOUVEMENT", $"Chemin vers {celda.cellId} résultat échoué ou bloqué : {resultado}");
                Task.Delay(4600);
                this.get_Mover_Para_Cambiar_mapa(celda, ignoreGroupOnSun);
                return(false);
            }
        }
Ejemplo n.º 4
0
        // Token: 0x0600018C RID: 396 RVA: 0x00007240 File Offset: 0x00005640
        internal override Task <ResultadosAcciones> proceso(Cuenta cuenta)
        {
            Mapa  mapa  = cuenta.juego.mapa;
            Celda celda = mapa.get_Celda_Id(this.celda_id);
            bool  flag  = celda == null;
            Task <ResultadosAcciones> result;

            if (flag)
            {
                result = AccionesScript.resultado_fallado;
            }
            else
            {
                ResultadoMovimientos resultadoMovimientos  = cuenta.juego.manejador.movimientos.get_Mover_A_Celda(celda, cuenta.juego.mapa.celdas_ocupadas(), false, 0);
                ResultadoMovimientos resultadoMovimientos2 = resultadoMovimientos;
                if (resultadoMovimientos2 != ResultadoMovimientos.EXITO)
                {
                    if (resultadoMovimientos2 != ResultadoMovimientos.MISMA_CELDA)
                    {
                        result = AccionesScript.resultado_fallado;
                    }
                    else
                    {
                        result = AccionesScript.resultado_hecho;
                    }
                }
                else
                {
                    result = AccionesScript.resultado_procesado;
                }
            }
            return(result);
        }
Ejemplo n.º 5
0
        // Token: 0x06000483 RID: 1155 RVA: 0x00012700 File Offset: 0x00010B00
        private void mapa_Control_Celda_Clic(CeldaMapa celda, MouseButtons botones, bool abajo)
        {
            Mapa  mapa   = this.cuenta.juego.mapa;
            Celda celda2 = this.cuenta.juego.personaje.celda;
            Celda celda3 = mapa.get_Celda_Id(celda.id);
            bool  flag   = botones == MouseButtons.Left && celda2.id != 0 && celda3.id != 0 && !abajo;

            if (flag)
            {
                ResultadoMovimientos resultadoMovimientos  = this.cuenta.juego.manejador.movimientos.get_Mover_A_Celda(celda3, mapa.celdas_ocupadas(), false, 0);
                ResultadoMovimientos resultadoMovimientos2 = resultadoMovimientos;
                if (resultadoMovimientos2 != ResultadoMovimientos.EXITO)
                {
                    if (resultadoMovimientos2 != ResultadoMovimientos.MISMA_CELDA)
                    {
                        this.cuenta.logger.log_Error("MAP", string.Format("Erreur lors du déplacement du personnage sur la cellule.: {0}", celda3.id));
                    }
                    else
                    {
                        this.cuenta.logger.log_Error("MAP", "Déjà un joueur sur la cell-ID");
                    }
                }
                else
                {
                    this.cuenta.logger.log_informacion("MAP", string.Format("Personnage déplacé à la cellule: {0}", celda3.id));
                }
            }
        }
Ejemplo n.º 6
0
        // Token: 0x06000444 RID: 1092 RVA: 0x0000F6D0 File Offset: 0x0000DAD0
        private bool get_Intentar_Mover_Interactivo(KeyValuePair <short, ObjetoInteractivo> interactivo)
        {
            this.interactivo_recolectando = interactivo.Value;
            byte distancia_detener = 1;
            ObjetosInventario objetosInventario = this.cuenta.juego.personaje.inventario.get_Objeto_en_Posicion(InventarioPosiciones.CAC);
            bool flag = objetosInventario != null;

            if (flag)
            {
                distancia_detener = this.get_Distancia_herramienta(objetosInventario.id_modelo);
            }
            ResultadoMovimientos resultadoMovimientos  = this.cuenta.juego.manejador.movimientos.get_Mover_A_Celda(this.interactivo_recolectando.celda, this.mapa.celdas_ocupadas(), true, distancia_detener);
            ResultadoMovimientos resultadoMovimientos2 = resultadoMovimientos;
            bool result;

            if (resultadoMovimientos2 > ResultadoMovimientos.MISMA_CELDA)
            {
                this.get_Cancelar_Interactivo();
                result = false;
            }
            else
            {
                this.get_Intentar_Recolectar_Interactivo();
                result = true;
            }
            return(result);
        }
Ejemplo n.º 7
0
        // Token: 0x06000174 RID: 372 RVA: 0x00006CA8 File Offset: 0x000050A8
        internal override Task <ResultadosAcciones> proceso(Cuenta cuenta)
        {
            Mapa             mapa = cuenta.juego.mapa;
            List <Monstruos> list = mapa.get_Grupo_Monstruos(this.monstruos_minimos, this.monstruos_maximos, this.monstruo_nivel_minimo, this.monstruo_nivel_maximo, this.monstruos_prohibidos, this.monstruos_obligatorios);
            bool             flag = list.Count > 0;

            if (flag)
            {
                foreach (Monstruos monstruos in list)
                {
                    ResultadoMovimientos resultadoMovimientos = cuenta.juego.manejador.movimientos.get_Mover_A_Celda(monstruos.celda, new List <Celda>(), false, 0);
                    Console.WriteLine(resultadoMovimientos);
                    switch (resultadoMovimientos)
                    {
                    case ResultadoMovimientos.EXITO:
                        cuenta.logger.log_Script("SCRIPT", string.Format("[MAP] Deplacement vers la cellId {0}, total de monstres: {1}, niveau du groupe: {2}", monstruos.celda.id, monstruos.get_Total_Monstruos, monstruos.get_Total_Nivel_Grupo));
                        return(AccionesScript.resultado_procesado);

                    case ResultadoMovimientos.MISMA_CELDA:
                    case ResultadoMovimientos.PATHFINDING_ERROR:
                        cuenta.logger.log_Peligro("SCRIPT", "Le chemin pour aller au monstre est bloqué ...");
                        continue;
                    }
                    return(AccionesScript.resultado_fallado);
                }
            }
            return(AccionesScript.resultado_hecho);
        }
Ejemplo n.º 8
0
        private bool get_Mover_Para_Cambiar_mapa(Celda celda)
        {
            ResultadoMovimientos resultado = get_Mover_A_Celda(celda, mapa.celdas_ocupadas());

            switch (resultado)
            {
            case ResultadoMovimientos.EXITO:
                cuenta.logger.log_informacion("MOVIMIENTOS", $"Mapa actual: {mapa.id} desplazando para cambiar el mapa a la casilla: {celda.id}");
                return(true);

            default:
                cuenta.logger.log_Error("MOVIMIENTOS", $"camino hacia {celda.id} fallado o bloqueado resultado: {resultado}");
                return(false);
            }
        }
Ejemplo n.º 9
0
        private bool get_Mover_Para_Cambiar_mapa(Celda celda)
        {
            ResultadoMovimientos resultado = get_Mover_A_Celda(celda, mapa.celdas_ocupadas().Where(c => c.tipo != TipoCelda.CELDA_TELEPORT).ToList());

            switch (resultado)
            {
            case ResultadoMovimientos.EXITO:
                cuenta.logger.log_informacion("MOUVEMENT", $"{mapa.coordenadas} changement de map via la cellule {celda.id} ");
                return(true);

            default:
                cuenta.logger.log_Error("MOUVEMENT", $"Chemin vers {celda.id} résultat échoué ou bloqué : {resultado}");
                return(false);
            }
        }
Ejemplo n.º 10
0
        private bool get_Mover_Para_Cambiar_mapa(Celda celda)
        {
            ResultadoMovimientos resultado = get_Mover_A_Celda(celda, mapa.celdas_ocupadas());

            switch (resultado)
            {
            case ResultadoMovimientos.EXITO:
                cuenta.logger.log_informacion("MOVIMIENTO", $"Map Actuel: {mapa.id} changement de map via la cellule {celda.id} ");
                return(true);

            default:
                cuenta.logger.log_Error("MOVIMIENTO", $"Chemin vers {celda.id} résultat échoué ou bloqué : {resultado}");
                return(false);
            }
        }
Ejemplo n.º 11
0
        private bool get_Intentar_Mover_Interactivo(KeyValuePair <short, ObjetoInteractivo> interactivo)
        {
            interactivo_recolectando = interactivo.Value;

            ResultadoMovimientos resultado = cuenta.juego.manejador.movimientos.get_Mover_A_Celda(interactivo_recolectando.celda, mapa.celdas_ocupadas, true);

            switch (resultado)
            {
            case ResultadoMovimientos.EXITO:
            case ResultadoMovimientos.MISMA_CELDA:
                get_Intentar_Recolectar_Interactivo();
                return(true);

            default:
                get_Cancelar_Interactivo();
                return(false);
            }
        }
Ejemplo n.º 12
0
        // Token: 0x06000458 RID: 1112 RVA: 0x00010010 File Offset: 0x0000E410
        private bool get_Mover_Para_Cambiar_mapa(Celda celda)
        {
            ResultadoMovimientos resultadoMovimientos = this.get_Mover_A_Celda(celda, this.mapa.celdas_ocupadas(), false, 0);

            Console.WriteLine("resultado");
            Console.WriteLine(resultadoMovimientos);
            ResultadoMovimientos resultadoMovimientos2 = resultadoMovimientos;
            ResultadoMovimientos resultadoMovimientos3 = resultadoMovimientos2;
            bool result;

            if (resultadoMovimientos3 != ResultadoMovimientos.EXITO)
            {
                this.cuenta.logger.log_Error("MOUVEMENTS", string.Format("Erreur: essaye cette CELL_ID {0} pour changer de map", celda.id));
                result = false;
            }
            else
            {
                this.cuenta.logger.log_informacion("MOUVEMENTS", string.Format("Map actuel: {0} GO a la celllule {1} pour changer de map", this.mapa.id, celda.id));
                result = true;
            }
            return(result);
        }
Ejemplo n.º 13
0
        private async void mapa_Control_Celda_Clic(CeldaMapa celda, MouseButtons botones, bool abajo)
        {
            Map  mapa = cuenta.game.map;
            Cell celda_actual = cuenta.game.character.celda, celda_destino = mapa.GetCellFromId(celda.id);

            if (botones == MouseButtons.Left && celda_actual.cellId != 0 && celda_destino.cellId != 0 && !abajo)
            {
                ResultadoMovimientos result = cuenta.game.manager.movimientos.get_Mover_A_Celda(celda_destino, mapa.celdas_ocupadas());
                // await Task.Delay(500);
                if (cuenta.hasGroup && cuenta.isGroupLeader)
                {
                    foreach (Account groupMember in cuenta.group.members)
                    {
                        if (groupMember.game.map.mapId == cuenta.game.map.mapId)
                        {
                            Cell destination = groupMember.game.map.GetCellFromId(celda_destino.cellId);
                            result = groupMember.game.manager.movimientos.get_Mover_A_Celda(destination, groupMember.game.map.celdas_ocupadas());
                        }
                    }
                }
                switch (result)
                {
                case ResultadoMovimientos.EXITO:
                    cuenta.Logger.LogInfo("UI_MAPA", $"Personaje desplazado a la casilla: {celda_destino.cellId}");
                    break;

                case ResultadoMovimientos.SameCell:
                    cuenta.Logger.LogError("UI_MAPA", "El jugador está en la misma a la seleccionada");
                    break;

                default:
                    cuenta.Logger.LogError("UI_MAPA", $"Error desplazando el personaje a la casilla: {celda_destino.cellId}");
                    break;
                }
            }
        }