Orders: attack (fighting creatures nearby go for an enemy or enemy tower) and guard (up to three creatures hold a room for two minutes); right click with an order tool cancels

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-04 07:52:03 +01:00
1 parent b3583f5e7e
commit 0606c1f994
9 files changed
+230 -6

No files matched your search

+3 -2
View File
@@ -1909,7 +1909,7 @@ impl Game {
self.sfx(Sfx::DigDone, x as f32 + 0.5, y as f32 + 0.5);
}
fn unreserve(&mut self, me: u32) {
pub(crate) fn unreserve(&mut self, me: u32) {
for t in self.map.t.iter_mut() {
if t.reserved == me {
t.reserved = 0;
@@ -3200,8 +3200,9 @@ impl Game {
}
}
Job::Guard(t) => {
// a guard post, or a guard order in any room
e.timer -= dt;
if cur != t || self.map.t[t].kind != Kind::GuardPost || e.timer <= 0.0 {
if cur != t || !self.map.t[t].walkable() || self.map.t[t].owner != Owner::Player || e.timer <= 0.0 {
self.unreserve(me);
e.job = Job::None;
}