overmap, refactor offsets

This commit is contained in:
Llywelwyn 2023-08-26 22:46:04 +01:00
parent 9e294a1680
commit 746de971f0
14 changed files with 322 additions and 95 deletions

View file

@ -45,7 +45,11 @@ impl<'a> System<'a> for VisibilitySystem {
for (ent, viewshed, pos) in (&entities, &mut viewshed, &pos).join() {
if viewshed.dirty {
viewshed.dirty = false;
let range = if let Some(_is_blind) = blind_entities.get(ent) { 1 } else { viewshed.range };
let range = if let Some(_is_blind) = blind_entities.get(ent) {
1
} else {
if map.overmap { viewshed.range / 2 } else { viewshed.range }
};
let origin = Point::new(pos.x, pos.y);
viewshed.visible_tiles = SymmetricShadowcasting.field_of_view(origin, range, &*map);
viewshed.visible_tiles.retain(|p| {