diff options
Diffstat (limited to 'internal/admin/api_map.go')
| -rw-r--r-- | internal/admin/api_map.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/internal/admin/api_map.go b/internal/admin/api_map.go index 5168165..a7802f9 100644 --- a/internal/admin/api_map.go +++ b/internal/admin/api_map.go @@ -50,7 +50,7 @@ func (s *AdminServer) handleMap(w http.ResponseWriter, r *http.Request) { return nil, false } return room, true - }, nil, func(gc world.GridConflict) { + }, nil, nil, func(gc world.GridConflict) { if gc.Kind == "overlap" { log.Printf("map: grid overlap: room %d wants cell %v already held by %d (via %d->%s)", gc.Target, gc.Want, gc.Occupier, gc.From, gc.Dir) @@ -171,6 +171,7 @@ func (s *AdminServer) handleMap(w http.ResponseWriter, r *http.Request) { Dir string `json:"dir"` Bidirectional bool `json:"bidirectional"` Hidden bool `json:"hidden"` + AlwaysBlocked bool `json:"always_blocked"` } type UDLink struct { @@ -260,7 +261,7 @@ func (s *AdminServer) handleMap(w http.ResponseWriter, r *http.Request) { bidirectional := false if targetRoom, ok := roomData[target]; ok { - if oppExit, ok := targetRoom.Exits[world.OppositeExit[dir]]; ok && oppExit.Room == rid && !oppExit.Hidden { + if oppExit, ok := targetRoom.Exits[world.OppositeExit[dir]]; ok && oppExit.Room == rid && !oppExit.Hidden && !oppExit.AlwaysBlocked { bidirectional = true } } @@ -277,6 +278,7 @@ func (s *AdminServer) handleMap(w http.ResponseWriter, r *http.Request) { Dir: string(dir), Bidirectional: bidirectional, Hidden: exit.Hidden, + AlwaysBlocked: exit.AlwaysBlocked, }) } } |
