Skip to content

Etapa 2: edicion de salidas entre mapas #10

Description

@leocagli

Parte de #2 (modo construcción). Depende de la capa de persistencia.

Problema

Las salidas entre mapas viven en specials.json como un diccionario de coordenada a destino:

{"id":1,"exits":{
  "9,7":  {"map":5,"x":9, "y":93},
  "10,7": {"map":5,"x":10,"y":93}
}}

Son lo que conecta el mundo. Sin editarlas, un mapa nuevo queda inalcanzable: existe pero no se puede llegar.

Alcance

  1. Crear, modificar y borrar salidas de un mapa.
  2. Crear salidas en pareja (ida y vuelta) en una sola operación, que es el caso normal.
  3. Listar las salidas de un mapa y qué apunta hacia él.

Validaciones necesarias

Esta issue es la que más se beneficia de validación estricta, porque los errores acá rompen el mundo de formas confusas:

  • El mapa destino existe
  • La coordenada destino está dentro de la grilla y no es un tile bloqueado: una salida a una pared deja al jugador atrapado
  • Detectar salidas huérfanas (llevan a un mapa que ya no existe)
  • Advertir sobre mapas que quedaron sin ninguna salida entrante después de una edición

Criterios de aceptación

  • Crear, modificar y borrar salidas funciona y persiste
  • Una salida a un mapa inexistente se rechaza
  • Una salida a un tile bloqueado se rechaza
  • Se pueden crear ida y vuelta en una operación
  • Existe un chequeo que lista mapas inalcanzables
  • Tests de integración, incluyendo el caso del tile bloqueado

Archivos relevantes

  • api/src/mapas_source/mapa_<n>/specials.json
  • El cliente ya lee estas salidas para precargar los mapas vecinos

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third CampaignbountyIssue con recompensa asignadaenhancementNew feature or requestetapa-2-mundoEtapa 2 - NPCs, objetos, edificios y salidasgrantfoxPublicada en la campana de GrantFoxmodo-construccionModo construccion in-game: editor de mapas en el navegadorreward-50-usdRecompensa 50 USD - complejidad media

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions