Adjust harvester boss arena offset

This commit is contained in:
James Melkonian 2022-03-19 12:07:31 -07:00
parent 8571c6c760
commit 5b801dc44d
2 changed files with 11 additions and 5 deletions

View File

@ -29,6 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Players can no longer push waypoints around - Players can no longer push waypoints around
- Sites will now also be placed near the edge of the map - Sites will now also be placed near the edge of the map
- Fix a bug causing NPCs to jitter on interaction and randomly run away. - Fix a bug causing NPCs to jitter on interaction and randomly run away.
- Harvester boss arenas should be more accessible and easier to exit
## [0.12.0] - 2022-02-19 ## [0.12.0] - 2022-02-19

View File

@ -369,8 +369,10 @@ impl GnarlingFortification {
} }
} }
if area.contains_point(self.tunnels.end.xy() - self.origin) { if area.contains_point(self.tunnels.end.xy() - self.origin) {
let boss_room_offset = (self.tunnels.end.xy() - self.tunnels.start.xy())
.map(|e| if e < 0 { -20 } else { 20 });
supplement.add_entity(harvester_boss( supplement.add_entity(harvester_boss(
self.tunnels.end - 5 * Vec3::unit_z(), self.tunnels.end + boss_room_offset - 2 * Vec3::unit_z(),
dynamic_rng, dynamic_rng,
)); ));
} }
@ -1696,14 +1698,17 @@ impl Structure for GnarlingFortification {
9.0, 9.0,
); );
let boss_room_offset =
(self.tunnels.end.xy() - self.tunnels.start.xy()).map(|e| if e < 0 { -20 } else { 20 });
let boss_room = painter.ellipsoid(Aabb { let boss_room = painter.ellipsoid(Aabb {
min: (self.tunnels.end.xy() - 30).with_z(self.tunnels.end.z - 10), min: (self.tunnels.end.xy() + boss_room_offset - 30).with_z(self.tunnels.end.z - 10),
max: (self.tunnels.end.xy() + 30).with_z(self.tunnels.end.z + 10), max: (self.tunnels.end.xy() + boss_room_offset + 30).with_z(self.tunnels.end.z + 10),
}); });
let boss_room_clear = painter.ellipsoid(Aabb { let boss_room_clear = painter.ellipsoid(Aabb {
min: (self.tunnels.end.xy() - 29).with_z(self.tunnels.end.z - 9), min: (self.tunnels.end.xy() + boss_room_offset - 29).with_z(self.tunnels.end.z - 9),
max: (self.tunnels.end.xy() + 29).with_z(self.tunnels.end.z + 9), max: (self.tunnels.end.xy() + boss_room_offset + 29).with_z(self.tunnels.end.z + 9),
}); });
let random_field = RandomField::new(self.seed); let random_field = RandomField::new(self.seed);