Siege engines: knights bring rams and catapults, masters build their own in the forge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5a8ebb984e
commit
1ae41228ab
28 files changed
+530
-15
No files matched your search
+7
-1
@@ -34,6 +34,11 @@ pub enum Act {
|
||||
Sell(Rect),
|
||||
Bridge(Rect),
|
||||
Steel(Rect),
|
||||
Siege {
|
||||
which: u8, // 0 ram, 1 catapult
|
||||
x: i32,
|
||||
y: i32,
|
||||
},
|
||||
Wall(Rect), // plan walls on own floor (or cancel planned ones)
|
||||
Drawbridge(Rect), // build drawbridges, or (one tile on an own drawbridge) switch it: down, up, automatic
|
||||
Tower {
|
||||
@@ -145,7 +150,7 @@ impl Game {
|
||||
Act::Sell(r) => (rect_center(r), MARK_SELL, 4.0),
|
||||
Act::Bridge(r) | Act::Drawbridge(r) | Act::Wall(r) => (rect_center(r), MARK_BRIDGE, 4.0),
|
||||
Act::Steel(r) => (rect_center(r), MARK_STEEL, 4.0),
|
||||
Act::Tower { x, y, .. } => (point(x as f32, y as f32), MARK_TOWER, 6.0),
|
||||
Act::Tower { x, y, .. } | Act::Siege { x, y, .. } => (point(x as f32, y as f32), MARK_TOWER, 6.0),
|
||||
Act::Trap { x, y, .. } => (point(x as f32, y as f32), MARK_TRAP, 6.0),
|
||||
Act::Cast { x, y, .. } => (point(x, y), MARK_SPELL, 5.0),
|
||||
Act::Lightning { x, y } => (point(x, y), MARK_LIGHTNING, 5.0),
|
||||
@@ -189,6 +194,7 @@ impl Game {
|
||||
Act::Bridge(r) => self.build_bridges(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Drawbridge(r) => self.drawbridge_order(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Wall(r) => self.plan_walls(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Siege { which, x, y } => self.build_siege(which, x, y),
|
||||
Act::Steel(r) => self.build_steel(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Tower { kind, x, y } => self.build_tower(kind, x, y),
|
||||
Act::Trap { kind, x, y } => self.place_trap(kind, x, y),
|
||||
|
||||
Reference in new issue
Block a user