Qual o problema?
Por padrão, as tiles definidas como estrela no Bloqueio do Tileset ignoram as passagens das setas/direções.
Como concertar?
Aqui está a solução. Ela checa se a tile é uma estrela antes de checar a passagem. Se a tile for uma estrela e for passável, então ele checa a tile sob ela. Se não, retorna falso de qualquer jeito. Isso previne tudo que faça a tile estrela ser passável.
Script:
Créditos:
Neon Black
Por padrão, as tiles definidas como estrela no Bloqueio do Tileset ignoram as passagens das setas/direções.
Como concertar?
Aqui está a solução. Ela checa se a tile é uma estrela antes de checar a passagem. Se a tile for uma estrela e for passável, então ele checa a tile sob ela. Se não, retorna falso de qualquer jeito. Isso previne tudo que faça a tile estrela ser passável.
Script:
- Código:
class Game_Map
def check_passage(x, y, bit)
all_tiles(x, y).each do |tile_id|
flag = tileset.flags[tile_id]
if flag & 0x10 != 0 # [☆]: No effect on passage
next if flag & bit == 0 # [○] : Passable but star
return false if flag & bit == bit # [×] : Impassable
else
return true if flag & bit == 0 # [○] : Passable
return false if flag & bit == bit # [×] : Impassable
end
end
return false # Impassable
end
end
Créditos:
Neon Black