diff --git a/assets/buildings/helipad/helipad_overlay.png b/assets/buildings/helipad/helipad_overlay.png
index 29284e9..efe89cc 100644
Binary files a/assets/buildings/helipad/helipad_overlay.png and b/assets/buildings/helipad/helipad_overlay.png differ
diff --git a/assets/buildings/helipad/helipad_shell.png b/assets/buildings/helipad/helipad_shell.png
index f153775..77bc0af 100644
Binary files a/assets/buildings/helipad/helipad_shell.png and b/assets/buildings/helipad/helipad_shell.png differ
diff --git a/assets/svg/buildings/helipad.svg b/assets/svg/buildings/helipad.svg
index 958979f..ae7b8d2 100644
--- a/assets/svg/buildings/helipad.svg
+++ b/assets/svg/buildings/helipad.svg
@@ -16,7 +16,7 @@
id="svg134"
sodipodi:docname="helipad.svg"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
- inkscape:export-filename="/home/cyberarm/Code/i-mic-rts/assets/buildings/helipad/helipad_overlay.png"
+ inkscape:export-filename="/home/cyberarm/Code/i-mic-rts/assets/buildings/helipad/helipad_shell.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
+ inkscape:window-maximized="1">
+
+
@@ -83,7 +88,7 @@
image/svg+xml
-
+
@@ -94,53 +99,56 @@
transform="translate(0,-271.60001)">
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/lib/entities/buildings/barracks.rb b/lib/entities/buildings/barracks.rb
new file mode 100644
index 0000000..240bbb6
--- /dev/null
+++ b/lib/entities/buildings/barracks.rb
@@ -0,0 +1,9 @@
+IMICRTS::Entity.define_entity(:barracks, :building, 400, "Builds and soldiers") do |entity|
+ entity.radius = 44
+ entity.max_health = 100.0
+
+ entity.shell_image = "buildings/barracks/barracks.png"
+
+ entity.on_tick do
+ end
+end
diff --git a/lib/entities/buildings/helipad.rb b/lib/entities/buildings/helipad.rb
new file mode 100644
index 0000000..0f75e8d
--- /dev/null
+++ b/lib/entities/buildings/helipad.rb
@@ -0,0 +1,10 @@
+IMICRTS::Entity.define_entity(:helipad, :building, 1_000, "Builds and rearms helicopters") do |entity|
+ entity.radius = 26
+ entity.max_health = 100.0
+
+ entity.shell_image = "buildings/helipad/helipad_shell.png"
+ entity.overlay_image = "buildings/helipad/helipad_overlay.png"
+
+ entity.on_tick do
+ end
+end
diff --git a/lib/entity.rb b/lib/entity.rb
index 8451578..8bf471e 100644
--- a/lib/entity.rb
+++ b/lib/entity.rb
@@ -46,6 +46,7 @@ class IMICRTS
raise "Failed to find entity #{name.inspect} definition"
end
+ @boid_radius = @radius + 8
component(:turret).angle = @angle if component(:turret)
@goal_color = Gosu::Color.argb(175, 25, 200, 25)
@@ -149,6 +150,7 @@ class IMICRTS
def draw_radius
Gosu.draw_circle(@position.x, @position.y, @radius, ZOrder::ENTITY_RADIUS, @player.color, 360 / 18)
+ Gosu.draw_circle(@position.x, @position.y, @boid_radius, ZOrder::ENTITY_RADIUS, @player.color, 360 / 18)
end
def draw_gizmos
diff --git a/lib/states/closing.rb b/lib/states/closing.rb
index 7217091..7842f1c 100644
--- a/lib/states/closing.rb
+++ b/lib/states/closing.rb
@@ -1,6 +1,7 @@
class IMICRTS
class Closing < CyberarmEngine::GuiState
def setup
+ window.show_cursor = false
@logo = Gosu::Image.new("#{ASSETS_PATH}/logo.png")
@color = Gosu::Color.new(0xffffffff)
diff --git a/lib/states/game.rb b/lib/states/game.rb
index 685ef02..48e1e9e 100644
--- a/lib/states/game.rb
+++ b/lib/states/game.rb
@@ -107,6 +107,22 @@ class IMICRTS
position: CyberarmEngine::Vector.new(spawnpoint.x + 130, spawnpoint.y - 64, ZOrder::BUILDING),
angle: 0
)
+ @player.entities << Entity.new(
+ name: :helipad,
+ director: @director,
+ player: @player,
+ id: @player.next_entity_id,
+ position: CyberarmEngine::Vector.new(spawnpoint.x - 32, spawnpoint.y - 96, ZOrder::BUILDING),
+ angle: 0
+ )
+ @player.entities << Entity.new(
+ name: :barracks,
+ director: @director,
+ player: @player,
+ id: @player.next_entity_id,
+ position: CyberarmEngine::Vector.new(spawnpoint.x - 32, spawnpoint.y + 128, ZOrder::BUILDING),
+ angle: 0
+ )
end
def draw