global cycler no longer wraps

This commit is contained in:
Timothy Stiles 2021-02-07 10:37:42 +11:00
parent bd2364cbff
commit 19354bf5cf

View File

@ -1659,17 +1659,17 @@ const TILE_TYPES = {
//learn about surrounding tiles //learn about surrounding tiles
//some logic: we ignore tiles with a 'no sign' on them. for items, we ignore itemless tiles. if the same terrain/item is twice in a row, it stays the same. tiles next to global cycles aren't touched. //some logic: we ignore tiles with a 'no sign' on them. for items, we ignore itemless tiles. if the same terrain/item is twice in a row, it stays the same. tiles next to global cycles aren't touched.
let cells = [level.cell( let cells = [level.cell(
(me.cell.x + 0 + level.width) % level.width, me.cell.x + 0,
(me.cell.y - 1 + level.height) % level.height), me.cell.y - 1),
level.cell( level.cell(
(me.cell.x + 1 + level.width) % level.width, me.cell.x + 1,
(me.cell.y + 0 + level.height) % level.height), me.cell.y + 0),
level.cell( level.cell(
(me.cell.x + 0 + level.width) % level.width, me.cell.x + 0 ,
(me.cell.y + 1 + level.height) % level.height), me.cell.y + 1),
level.cell( level.cell(
(me.cell.x - 1 + level.width) % level.width, me.cell.x - 1,
(me.cell.y + 0 + level.height) % level.height)].filter(x => x.get_item_mod()?.type.name != 'no_sign'); me.cell.y + 0)].filter(x => x != null && x.get_item_mod()?.type.name != 'no_sign');
let terrains = cells.map(x => x.get_terrain().type.name); let terrains = cells.map(x => x.get_terrain().type.name);
let items = cells.map(x => x.get_item()?.type.name ?? null).filter(x => x != null); let items = cells.map(x => x.get_item()?.type.name ?? null).filter(x => x != null);
@ -1684,17 +1684,17 @@ const TILE_TYPES = {
for (var j = 0; j < level.height; ++j) for (var j = 0; j < level.height; ++j)
{ {
let target_safe = [level.cell( let target_safe = [level.cell(
(i + 0 + level.width) % level.width, i + 0,
(j - 1 + level.height) % level.height), j - 1),
level.cell( level.cell(
(i + 1 + level.width) % level.width, i + 1,
(j + 0 + level.height) % level.height), j + 0),
level.cell( level.cell(
(i + 0 + level.width) % level.width, i + 0,
(j + 1 + level.height) % level.height), j + 1),
level.cell( level.cell(
(i- 1 + level.width) % level.width, i - 1,
(j + 0 + level.height) % level.height)].filter(x => x.get_terrain().type.name == 'global_cycler'); j + 0)].filter(x => x != null && x.get_terrain().type.name == 'global_cycler');
if (target_safe.length > 0) if (target_safe.length > 0)
{ {
continue; continue;