diff options
author | sanine <sanine.not@pm.me> | 2023-11-11 13:46:59 -0600 |
---|---|---|
committer | sanine <sanine.not@pm.me> | 2023-11-11 13:46:59 -0600 |
commit | 7a3fc898def0283ed6655b5c45a5f413638272a7 (patch) | |
tree | 5427b61d327143ea9c305f2a53dd68435c66b3bc /src/simulation/validity.js | |
parent | 50f27be0cd94744a7f217ecfae2f913803ae6c44 (diff) |
prevent agents from moving into immutable tiles
Diffstat (limited to 'src/simulation/validity.js')
-rw-r--r-- | src/simulation/validity.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/simulation/validity.js b/src/simulation/validity.js new file mode 100644 index 0000000..de4acd1 --- /dev/null +++ b/src/simulation/validity.js @@ -0,0 +1,14 @@ +export const validity = [ + // prevent agents from moving onto immutables + (world, proposal) => (proposal.agent_changes || []).reduce( + (acc, change) => { + const {x, y} = change; + if (x !== undefined && y !== undefined && world.lattice[y][x].type === 'immutable') { + return false; + } else { + return acc; + } + }, + true, + ), +]; |