// Token: 0x060003D8 RID: 984 RVA: 0x0000E200 File Offset: 0x0000C600 public bool desequipar_Objeto(ObjetosInventario objeto) { bool flag = objeto == null; bool result; if (flag) { result = false; } else { bool flag2 = objeto.posicion == InventarioPosiciones.PAS_EQUIPE; if (flag2) { result = false; } else { this.cuenta.conexion.enviar_Paquete("OM" + objeto.id_inventario.ToString() + "|" + -1.ToString(), false); objeto.posicion = InventarioPosiciones.PAS_EQUIPE; this.cuenta.logger.log_informacion("INVENTAIRE", objeto.nombre + " déséquipé."); Action <bool> action = this.inventario_actualizado; if (action != null) { action(true); } result = true; } } return(result); }
// Token: 0x060003D5 RID: 981 RVA: 0x0000DDA0 File Offset: 0x0000C1A0 public void eliminar_Objeto(ObjetosInventario obj, int cantidad, bool paquete_eliminar) { bool flag = obj == null; if (!flag) { cantidad = ((cantidad == 0) ? obj.cantidad : ((cantidad > obj.cantidad) ? obj.cantidad : cantidad)); bool flag2 = obj.cantidad > cantidad; if (flag2) { obj.cantidad -= cantidad; this._objetos.TryUpdate(obj.id_inventario, obj, obj); } else { ObjetosInventario objetosInventario; this._objetos.TryRemove(obj.id_inventario, out objetosInventario); } if (paquete_eliminar) { this.cuenta.conexion.enviar_Paquete(string.Format("Od{0}|{1}", obj.id_inventario, cantidad), false); this.cuenta.logger.log_informacion("Inventaire", string.Format("{0} {1} enlevé(s).", cantidad, obj.nombre)); } Action <bool> action = this.inventario_actualizado; if (action != null) { action(true); } } }
// Token: 0x060003D4 RID: 980 RVA: 0x0000DCF8 File Offset: 0x0000C0F8 public void modificar_Objetos(string paquete) { bool flag = !string.IsNullOrEmpty(paquete); if (flag) { string[] separador = paquete.Split(new char[] { '|' }); ObjetosInventario objetosInventario = this.objetos.FirstOrDefault((ObjetosInventario f) => f.id_inventario == uint.Parse(separador[0])); bool flag2 = objetosInventario != null; if (flag2) { int cantidad = int.Parse(separador[1]); ObjetosInventario objetosInventario2 = objetosInventario; objetosInventario2.cantidad = cantidad; bool flag3 = this._objetos.TryUpdate(objetosInventario.id_inventario, objetosInventario2, objetosInventario); if (flag3) { Action <bool> action = this.inventario_actualizado; if (action != null) { action(true); } } } } }
// Token: 0x060003D3 RID: 979 RVA: 0x0000DCAC File Offset: 0x0000C0AC public void agregar_Objetos(string paquete) { Task.Run(delegate() { foreach (string text in paquete.Split(new char[] { ';' })) { bool flag = !string.IsNullOrEmpty(text); if (flag) { string[] array2 = text.Split(new char[] { '~' }); uint key = Convert.ToUInt32(array2[0], 16); ObjetosInventario value = new ObjetosInventario(text); this._objetos.TryAdd(key, value); } } }).Wait(); Action <bool> action = this.inventario_actualizado; if (action != null) { action(true); } }
// Token: 0x060003D9 RID: 985 RVA: 0x0000E2B0 File Offset: 0x0000C6B0 public void utilizar_Objeto(ObjetosInventario objeto) { bool flag = objeto == null; if (!flag) { bool flag2 = objeto.cantidad == 0; if (flag2) { this.cuenta.logger.log_Error("INVENTAIRE", "L'objet " + objeto.nombre + " ne peut pas être utilisé, quantité insuffisante"); } else { this.cuenta.conexion.enviar_Paquete("OU" + objeto.id_inventario.ToString() + "|", false); this.eliminar_Objeto(objeto, 1, false); this.cuenta.logger.log_informacion("INVENTAIRE", objeto.nombre + " utilisé."); } } }
// Token: 0x060003D7 RID: 983 RVA: 0x0000DECC File Offset: 0x0000C2CC public bool equipar_Objeto(ObjetosInventario objeto) { bool flag = objeto == null || objeto.cantidad == 0 || this.cuenta.esta_ocupado(); bool result; if (flag) { this.cuenta.logger.log_Error("INVENTAIRE", "l'objet " + objeto.nombre + " ne peut pas être équipé"); result = false; } else { bool flag2 = objeto.nivel > (short)this.cuenta.juego.personaje.nivel; if (flag2) { this.cuenta.logger.log_Error("INVENTAIRE", "Le niveau de l'objet " + objeto.nombre + " est superieur au niveau actuel."); result = false; } else { bool flag3 = objeto.posicion != InventarioPosiciones.PAS_EQUIPE; if (flag3) { this.cuenta.logger.log_Error("INVENTAIRE", "L'objet " + objeto.nombre + " est déjà équipé"); result = false; } else { List <InventarioPosiciones> list = InventarioUtiles.get_Posibles_Posiciones((int)objeto.tipo); bool flag4 = list == null || list.Count == 0; if (flag4) { this.cuenta.logger.log_Error("INVENTAIRE", "L'objet " + objeto.nombre + " ne peut pas être équipé."); result = false; } else { foreach (InventarioPosiciones inventarioPosiciones in list) { bool flag5 = this.get_Objeto_en_Posicion(inventarioPosiciones) == null; if (flag5) { this.cuenta.conexion.enviar_Paquete("OM" + objeto.id_inventario.ToString() + "|" + ((sbyte)inventarioPosiciones).ToString(), true); this.cuenta.logger.log_informacion("INVENTAIRE", objeto.nombre + " équipé."); objeto.posicion = inventarioPosiciones; Action <bool> action = this.inventario_actualizado; if (action != null) { action(true); } return(true); } } ObjetosInventario objetosInventario; bool flag6 = this._objetos.TryGetValue(this.get_Objeto_en_Posicion(list[0]).id_inventario, out objetosInventario); if (flag6) { objetosInventario.posicion = InventarioPosiciones.PAS_EQUIPE; this.cuenta.conexion.enviar_Paquete("OM" + objetosInventario.id_inventario.ToString() + "|" + -1.ToString(), false); } this.cuenta.conexion.enviar_Paquete("OM" + objeto.id_inventario.ToString() + "|" + ((sbyte)list[0]).ToString(), false); bool flag7 = objeto.cantidad == 1; if (flag7) { objeto.posicion = list[0]; } this.cuenta.logger.log_informacion("INVENTAIRE", objeto.nombre + " équipé."); Action <bool> action2 = this.inventario_actualizado; if (action2 != null) { action2(true); } result = true; } } } } return(result); }