<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GoAnalysis](./bitburner.goanalysis.md) &gt; [getLiberties](./bitburner.goanalysis.getliberties.md)

## GoAnalysis.getLiberties() method

Returns a number for each point, representing how many open nodes its network/chain is connected to. Empty nodes and dead nodes are shown as -1 liberties.

Takes an optional boardState argument; by default uses the current board state.

For example, a 5x5 board might look like this. The chain in the top-left touches 5 total empty nodes, and the one in the center touches four. The group in the bottom-right only has one liberty; it is in danger of being captured!

```
[
  [-1, 5,-1,-1, 2],
  [ 5, 5,-1,-1,-1],
  [-1,-1, 4,-1,-1],
  [ 3,-1,-1, 3, 1],
  [ 3,-1,-1, 3, 1],
]
```

**Signature:**

```typescript
getLiberties(boardState?: string[]): number[][];
```

## Parameters

<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

boardState


</td><td>

string\[\]


</td><td>

_(Optional)_ Optional. The current board state, as an array of strings. Defaults to the current board state.


</td></tr>
</tbody></table>

**Returns:**

number\[\]\[\]

A 2D array of numbers counting the liberties of each point.

## Remarks

RAM cost: 16 GB

(This is intentionally expensive; you can derive this info from just getBoardState() )

