private async Task <ResultadoLanzandoHechizo> get_Lanzar_Hechizo_Simple(PeleaHechizos hechizo) { if (pelea.get_Puede_Lanzar_hechizo(hechizo.id) != FallosLanzandoHechizo.NINGUNO) { return(ResultadoLanzandoHechizo.NO_LANZADO); } Luchadores enemigo = get_Objetivo_Mas_Cercano(hechizo); if (enemigo != null) { FallosLanzandoHechizo resultado = pelea.get_Puede_Lanzar_hechizo(hechizo.id, pelea.jugador_luchador.celda, enemigo.celda, mapa); if (resultado == FallosLanzandoHechizo.NINGUNO) { await pelea.get_Lanzar_Hechizo(hechizo.id, enemigo.celda.id); return(ResultadoLanzandoHechizo.LANZADO); } if (resultado == FallosLanzandoHechizo.NO_ESTA_EN_RANGO) { return(await get_Mover_Lanzar_hechizo_Simple(hechizo, enemigo)); } } else if (hechizo.focus == HechizoFocus.CELDA_VACIA) { return(await lanzar_Hechizo_Celda_Vacia(hechizo)); } return(ResultadoLanzandoHechizo.NO_LANZADO); }
// Token: 0x0600019E RID: 414 RVA: 0x00007500 File Offset: 0x00005900 private async Task <ResultadoLanzandoHechizo> get_Lanzar_Hechizo_Simple(HechizoPelea hechizo) { bool flag = this.pelea.get_Puede_Lanzar_hechizo(hechizo.id) > FallosLanzandoHechizo.NINGUNO; ResultadoLanzandoHechizo result; if (flag) { result = ResultadoLanzandoHechizo.NO_LANZADO; } else { Luchadores enemigo = this.get_Objetivo_Mas_Cercano(hechizo); bool flag2 = enemigo != null; if (flag2) { FallosLanzandoHechizo resultado = this.pelea.get_Puede_Lanzar_hechizo(hechizo.id, this.pelea.jugador_luchador.celda, enemigo.celda, this.mapa); bool flag3 = resultado == FallosLanzandoHechizo.NINGUNO; if (flag3) { this.cuenta.logger.log_Fight("COMBAT", "Lancement du sort " + hechizo.nombre + " ..."); await this.pelea.get_Lanzar_Hechizo(hechizo.id, enemigo.celda.id); return(ResultadoLanzandoHechizo.LANZADO); } if (resultado == FallosLanzandoHechizo.NO_ESTA_EN_RANGO) { this.cuenta.logger.log_Fight("COMBAT", "Lancement du sort " + hechizo.nombre + " ..."); return(await this.get_Mover_Lanzar_hechizo_Simple(hechizo, enemigo)); } } else if (hechizo.focus == HechizoFocus.CELL_VIDE) { this.cuenta.logger.log_Fight("COMBAT", "Lancement du sort " + hechizo.nombre + " ..."); return(await this.lanzar_Hechizo_Celda_Vacia(hechizo)); } result = ResultadoLanzandoHechizo.NO_LANZADO; } return(result); }
private async Task <ResultadoLanzandoHechizo> get_Lanzar_Hechizo_Simple(HechizoPelea hechizo, bool capturer = false) { if (pelea.get_Puede_Lanzar_hechizo(hechizo.id) != FallosLanzandoHechizo.NINGUNO) { return(ResultadoLanzandoHechizo.NO_LANZADO); } /* gestion sort capture */ bool lancer_capture = is_Spell_capture_lancable(); if (cuenta.isGroupLeader == true) { if (cuenta.needToCapture == true && cuenta.game.fight.jugador_luchador.esta_vivo == false) { capturer = false; } } if (cuenta.hasGroup == true) { foreach (var membre in cuenta.group.members) { if (membre.needToCapture == true && membre.game.fight.jugador_luchador.esta_vivo == false) { capturer = false; } } } if (lancer_capture == true && cuenta.needToCapture == false && cuenta.capturelance == false && capturer == true && cuenta.capturefight == true) { cuenta.Logger.LogInfo($"Fight", $"CAPTURE INFO : Je lance pas de sort, la capture doit étre lancé par un autre"); return(ResultadoLanzandoHechizo.NO_LANZADO); } if (lancer_capture == true && cuenta.needToCapture == true && capturer == true && cuenta.capturelance == false && cuenta.capturefight == true) { hechizo = cuenta.fightExtension.configuracion.hechizos.FirstOrDefault(o => o.id == 413); Luchadores lanceur_capture = get_Objetivo_Mas_Cercano(hechizo); FallosLanzandoHechizo result = pelea.get_Puede_Lanzar_hechizo(hechizo.id, pelea.jugador_luchador.celda, lanceur_capture.celda, mapa); if (result == FallosLanzandoHechizo.NINGUNO) { cuenta.Logger.LogInfo($"Fight", $"CAPTURE INFO : Je lance la capture"); await pelea.get_Lanzar_Hechizo(hechizo.id, lanceur_capture.celda.cellId); if (cuenta.hasGroup == true) { cuenta.group.lider.capturelance = true; foreach (var item in cuenta.group.members) { item.capturelance = true; } } else { cuenta.capturelance = true; } return(ResultadoLanzandoHechizo.CAPTURE_LANZADO); } else { cuenta.Logger.LogInfo($"Fight", $"CAPTURE INFO : Je doit lancer la capture mais pas possible " + result); return(ResultadoLanzandoHechizo.CAPTURE_NO_LANZADO); } } else if (lancer_capture == false && hechizo.id == 413 && cuenta.needToCapture == true && capturer == true && cuenta.capturelance == false && cuenta.capturefight == true) { cuenta.Logger.LogInfo($"Fight", $"CAPTURE INFO : Pas le moment pour lancer la capture"); return(ResultadoLanzandoHechizo.CAPTURE_NO_LANZADO); } Luchadores enemigo = get_Objetivo_Mas_Cercano(hechizo); if (enemigo != null) { FallosLanzandoHechizo resultado = pelea.get_Puede_Lanzar_hechizo(hechizo.id, pelea.jugador_luchador.celda, enemigo.celda, mapa); if (resultado == FallosLanzandoHechizo.NINGUNO) { await pelea.get_Lanzar_Hechizo(hechizo.id, enemigo.celda.cellId); return(ResultadoLanzandoHechizo.LANZADO); } if (resultado == FallosLanzandoHechizo.NO_ESTA_EN_RANGO) { return(await get_Mover_Lanzar_hechizo_Simple(hechizo, enemigo)); } } else if (hechizo.focus == HechizoFocus.CELDA_VACIA) { return(await lanzar_Hechizo_Celda_Vacia(hechizo)); } return(ResultadoLanzandoHechizo.NO_LANZADO); }