rubywarrior-i18n 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.rdoc +38 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +44 -0
- data/LICENSE +20 -0
- data/README.md +199 -0
- data/Rakefile +17 -0
- data/bin/rubywarrior +5 -0
- data/features/command_options.feature +46 -0
- data/features/levels.feature +71 -0
- data/features/profiles.feature +56 -0
- data/features/step_definitions/common_steps.rb +19 -0
- data/features/step_definitions/interaction_steps.rb +65 -0
- data/features/support/env.rb +12 -0
- data/features/support/mockio.rb +57 -0
- data/features/towers.feature +14 -0
- data/i18n/en.yml +232 -0
- data/i18n/es.yml +233 -0
- data/lib/ruby_warrior.rb +53 -0
- data/lib/ruby_warrior/abilities/attack.rb +25 -0
- data/lib/ruby_warrior/abilities/base.rb +44 -0
- data/lib/ruby_warrior/abilities/bind.rb +20 -0
- data/lib/ruby_warrior/abilities/detonate.rb +34 -0
- data/lib/ruby_warrior/abilities/direction_of.rb +13 -0
- data/lib/ruby_warrior/abilities/direction_of_stairs.rb +13 -0
- data/lib/ruby_warrior/abilities/distance_of.rb +13 -0
- data/lib/ruby_warrior/abilities/explode.rb +28 -0
- data/lib/ruby_warrior/abilities/feel.rb +14 -0
- data/lib/ruby_warrior/abilities/form.rb +25 -0
- data/lib/ruby_warrior/abilities/health.rb +13 -0
- data/lib/ruby_warrior/abilities/listen.rb +15 -0
- data/lib/ruby_warrior/abilities/look.rb +16 -0
- data/lib/ruby_warrior/abilities/pivot.rb +17 -0
- data/lib/ruby_warrior/abilities/rescue.rb +24 -0
- data/lib/ruby_warrior/abilities/rest.rb +20 -0
- data/lib/ruby_warrior/abilities/shoot.rb +24 -0
- data/lib/ruby_warrior/abilities/walk.rb +21 -0
- data/lib/ruby_warrior/config.rb +22 -0
- data/lib/ruby_warrior/core_additions.rb +29 -0
- data/lib/ruby_warrior/floor.rb +71 -0
- data/lib/ruby_warrior/game.rb +209 -0
- data/lib/ruby_warrior/level.rb +123 -0
- data/lib/ruby_warrior/level_loader.rb +56 -0
- data/lib/ruby_warrior/player_generator.rb +41 -0
- data/lib/ruby_warrior/position.rb +82 -0
- data/lib/ruby_warrior/profile.rb +120 -0
- data/lib/ruby_warrior/runner.rb +34 -0
- data/lib/ruby_warrior/space.rb +71 -0
- data/lib/ruby_warrior/tower.rb +14 -0
- data/lib/ruby_warrior/turn.rb +38 -0
- data/lib/ruby_warrior/ui.rb +54 -0
- data/lib/ruby_warrior/units/archer.rb +34 -0
- data/lib/ruby_warrior/units/base.rb +100 -0
- data/lib/ruby_warrior/units/captive.rb +17 -0
- data/lib/ruby_warrior/units/golem.rb +20 -0
- data/lib/ruby_warrior/units/sludge.rb +30 -0
- data/lib/ruby_warrior/units/thick_sludge.rb +13 -0
- data/lib/ruby_warrior/units/warrior.rb +73 -0
- data/lib/ruby_warrior/units/wizard.rb +34 -0
- data/lib/ruby_warrior/version.rb +3 -0
- data/spec/fixtures/short-tower/level_001.rb +15 -0
- data/spec/fixtures/short-tower/level_002.rb +15 -0
- data/spec/fixtures/walking_player.rb +5 -0
- data/spec/ruby_warrior/abilities/attack_spec.rb +51 -0
- data/spec/ruby_warrior/abilities/base_spec.rb +38 -0
- data/spec/ruby_warrior/abilities/bind_spec.rb +19 -0
- data/spec/ruby_warrior/abilities/direction_of_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/direction_of_stairs_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/distance_of_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/explode_spec.rb +32 -0
- data/spec/ruby_warrior/abilities/feel_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/form_spec.rb +48 -0
- data/spec/ruby_warrior/abilities/health_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/listen_spec.rb +17 -0
- data/spec/ruby_warrior/abilities/look_spec.rb +15 -0
- data/spec/ruby_warrior/abilities/pivot_spec.rb +18 -0
- data/spec/ruby_warrior/abilities/rescue_spec.rb +40 -0
- data/spec/ruby_warrior/abilities/rest_spec.rb +29 -0
- data/spec/ruby_warrior/abilities/shoot_spec.rb +22 -0
- data/spec/ruby_warrior/abilities/throw_spec.rb +46 -0
- data/spec/ruby_warrior/abilities/walk_spec.rb +25 -0
- data/spec/ruby_warrior/core_additions_spec.rb +7 -0
- data/spec/ruby_warrior/floor_spec.rb +81 -0
- data/spec/ruby_warrior/game_spec.rb +119 -0
- data/spec/ruby_warrior/level_loader_spec.rb +54 -0
- data/spec/ruby_warrior/level_spec.rb +203 -0
- data/spec/ruby_warrior/player_generator_spec.rb +12 -0
- data/spec/ruby_warrior/position_spec.rb +108 -0
- data/spec/ruby_warrior/profile_spec.rb +171 -0
- data/spec/ruby_warrior/space_spec.rb +190 -0
- data/spec/ruby_warrior/tower_spec.rb +15 -0
- data/spec/ruby_warrior/turn_spec.rb +42 -0
- data/spec/ruby_warrior/ui_spec.rb +93 -0
- data/spec/ruby_warrior/units/archer_spec.rb +23 -0
- data/spec/ruby_warrior/units/base_spec.rb +133 -0
- data/spec/ruby_warrior/units/captive_spec.rb +23 -0
- data/spec/ruby_warrior/units/golem_spec.rb +28 -0
- data/spec/ruby_warrior/units/sludge_spec.rb +27 -0
- data/spec/ruby_warrior/units/thick_sludge_spec.rb +19 -0
- data/spec/ruby_warrior/units/warrior_spec.rb +65 -0
- data/spec/ruby_warrior/units/wizard_spec.rb +23 -0
- data/spec/spec_helper.rb +10 -0
- data/templates/README.erb +33 -0
- data/templates/player.rb +5 -0
- data/towers/beginner/level_001.rb +18 -0
- data/towers/beginner/level_002.rb +19 -0
- data/towers/beginner/level_003.rb +23 -0
- data/towers/beginner/level_004.rb +20 -0
- data/towers/beginner/level_005.rb +24 -0
- data/towers/beginner/level_006.rb +21 -0
- data/towers/beginner/level_007.rb +20 -0
- data/towers/beginner/level_008.rb +23 -0
- data/towers/beginner/level_009.rb +22 -0
- data/towers/intermediate/level_001.rb +20 -0
- data/towers/intermediate/level_002.rb +22 -0
- data/towers/intermediate/level_003.rb +25 -0
- data/towers/intermediate/level_004.rb +26 -0
- data/towers/intermediate/level_005.rb +21 -0
- data/towers/intermediate/level_006.rb +25 -0
- data/towers/intermediate/level_007.rb +27 -0
- data/towers/intermediate/level_008.rb +25 -0
- data/towers/intermediate/level_009.rb +33 -0
- metadata +226 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RubyWarrior::Units::Wizard do
|
4
|
+
before(:each) do
|
5
|
+
@wizard = RubyWarrior::Units::Wizard.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should have look and shoot abilities" do
|
9
|
+
@wizard.abilities.keys.to_set.should == [:shoot!, :look].to_set
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should have shoot power of 11" do
|
13
|
+
@wizard.shoot_power.should == 11
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should have 3 max health" do
|
17
|
+
@wizard.max_health.should == 3
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should appear as w on map" do
|
21
|
+
@wizard.character.should == "w"
|
22
|
+
end
|
23
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
<%= R18n.t.level.level.capitalize %> <%= level.number %>
|
2
|
+
|
3
|
+
<%= level.description %>
|
4
|
+
|
5
|
+
<%= R18n.t.tip.capitalize %>: <%= level.tip %>
|
6
|
+
|
7
|
+
<%= level.floor.character -%>
|
8
|
+
|
9
|
+
> = <%= R18n.t.stairs.stairs.capitalize %>
|
10
|
+
<%- for unit in level.floor.unique_units -%>
|
11
|
+
<%= unit.character %> = <%= unit.name %> (<%= unit.max_health %> <%= R18n.t.hp %>)
|
12
|
+
<%- end -%>
|
13
|
+
|
14
|
+
|
15
|
+
<%= R18n.t.warrior.abilities %>:
|
16
|
+
<%- level.warrior.abilities.each do |name, ability| -%>
|
17
|
+
|
18
|
+
warrior.<%= name %>
|
19
|
+
<%= ability.description %>
|
20
|
+
<%- end -%>
|
21
|
+
<%- if level.warrior.has_golem? -%>
|
22
|
+
|
23
|
+
|
24
|
+
<% R18n.t.golem.abilities %>:
|
25
|
+
<%- level.warrior.base_golem.abilities.each do |name, ability| -%>
|
26
|
+
|
27
|
+
golem.<%= name %>
|
28
|
+
<%= ability.description %>
|
29
|
+
<%- end -%>
|
30
|
+
<%- end -%>
|
31
|
+
|
32
|
+
|
33
|
+
<%= R18n.t.when_you_are_done_run_rubywarrior %>
|
data/templates/player.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# --------
|
2
|
+
# |@ >|
|
3
|
+
# --------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_001
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
|
10
|
+
|
11
|
+
time_bonus 15
|
12
|
+
ace_score 10
|
13
|
+
size 8, 1
|
14
|
+
stairs 7, 0
|
15
|
+
|
16
|
+
warrior 0, 0, :east do |u|
|
17
|
+
u.add_abilities :walk!
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# --------
|
2
|
+
# |@ s >|
|
3
|
+
# --------
|
4
|
+
t = R18n.t.towers.beginner.level_002
|
5
|
+
|
6
|
+
description "#{t.description}"
|
7
|
+
tip "#{t.tip}"
|
8
|
+
clue "#{t.clue}"
|
9
|
+
|
10
|
+
time_bonus 20
|
11
|
+
ace_score 26
|
12
|
+
size 8, 1
|
13
|
+
stairs 7, 0
|
14
|
+
|
15
|
+
warrior 0, 0, :east do |u|
|
16
|
+
u.add_abilities :feel, :attack!
|
17
|
+
end
|
18
|
+
|
19
|
+
unit :sludge, 4, 0, :west
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# ---------
|
2
|
+
# |@ s ss s>|
|
3
|
+
# ---------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_003
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
clue "#{t.clue}"
|
10
|
+
|
11
|
+
time_bonus 35
|
12
|
+
ace_score 71
|
13
|
+
size 9, 1
|
14
|
+
stairs 8, 0
|
15
|
+
|
16
|
+
warrior 0, 0, :east do |u|
|
17
|
+
u.add_abilities :health, :rest!
|
18
|
+
end
|
19
|
+
|
20
|
+
unit :sludge, 2, 0, :west
|
21
|
+
unit :sludge, 4, 0, :west
|
22
|
+
unit :sludge, 5, 0, :west
|
23
|
+
unit :sludge, 7, 0, :west
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# -------
|
2
|
+
# |@ Sa S>|
|
3
|
+
# -------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_004
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
clue "#{t.clue}"
|
10
|
+
|
11
|
+
time_bonus 45
|
12
|
+
ace_score 90
|
13
|
+
size 7, 1
|
14
|
+
stairs 6, 0
|
15
|
+
|
16
|
+
warrior 0, 0, :east
|
17
|
+
|
18
|
+
unit :thick_sludge, 2, 0, :west
|
19
|
+
unit :archer, 3, 0, :west
|
20
|
+
unit :thick_sludge, 5, 0, :west
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -------
|
2
|
+
# |@ CaaSC|
|
3
|
+
# -------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_005
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
clue "#{t.clue}"
|
10
|
+
|
11
|
+
time_bonus 45
|
12
|
+
ace_score 123
|
13
|
+
size 7, 1
|
14
|
+
stairs 6, 0
|
15
|
+
|
16
|
+
warrior 0, 0, :east do |u|
|
17
|
+
u.add_abilities :rescue!
|
18
|
+
end
|
19
|
+
|
20
|
+
unit :captive, 2, 0, :west
|
21
|
+
unit :archer, 3, 0, :west
|
22
|
+
unit :archer, 4, 0, :west
|
23
|
+
unit :thick_sludge, 5, 0, :west
|
24
|
+
unit :captive, 6, 0, :west
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# --------
|
2
|
+
# |C @ S aa|
|
3
|
+
# --------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_006
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
clue "#{t.clue}"
|
10
|
+
|
11
|
+
time_bonus 55
|
12
|
+
ace_score 105
|
13
|
+
size 8, 1
|
14
|
+
stairs 7, 0
|
15
|
+
|
16
|
+
warrior 2, 0, :east
|
17
|
+
|
18
|
+
unit :captive, 0, 0, :east
|
19
|
+
unit :thick_sludge, 4, 0, :west
|
20
|
+
unit :archer, 6, 0, :west
|
21
|
+
unit :archer, 7, 0, :west
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# ------
|
2
|
+
# |>a S @|
|
3
|
+
# ------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_007
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
|
10
|
+
time_bonus 30
|
11
|
+
ace_score 50
|
12
|
+
size 6, 1
|
13
|
+
stairs 0, 0
|
14
|
+
|
15
|
+
warrior 5, 0, :east do |u|
|
16
|
+
u.add_abilities :pivot!
|
17
|
+
end
|
18
|
+
|
19
|
+
unit :archer, 1, 0, :east
|
20
|
+
unit :thick_sludge, 3, 0, :east
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# -------
|
2
|
+
# |@ Cww>|
|
3
|
+
# -------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_008
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
clue "#{t.clue}"
|
10
|
+
|
11
|
+
time_bonus 20
|
12
|
+
ace_score 46
|
13
|
+
size 6, 1
|
14
|
+
stairs 5, 0
|
15
|
+
|
16
|
+
warrior 0, 0, :east do |u|
|
17
|
+
u.add_abilities :look
|
18
|
+
u.add_abilities :shoot!
|
19
|
+
end
|
20
|
+
|
21
|
+
unit :captive, 2, 0, :west
|
22
|
+
unit :wizard, 3, 0, :west
|
23
|
+
unit :wizard, 4, 0, :west
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -----------
|
2
|
+
# |>Ca @ S wC|
|
3
|
+
# -----------
|
4
|
+
|
5
|
+
t = R18n.t.towers.beginner.level_009
|
6
|
+
|
7
|
+
description "#{t.description}"
|
8
|
+
tip "#{t.tip}"
|
9
|
+
clue "#{t.clue}"
|
10
|
+
|
11
|
+
time_bonus 40
|
12
|
+
ace_score 100
|
13
|
+
size 11, 1
|
14
|
+
stairs 0, 0
|
15
|
+
|
16
|
+
warrior 5, 0, :east
|
17
|
+
|
18
|
+
unit :captive, 1, 0, :east
|
19
|
+
unit :archer, 2, 0, :east
|
20
|
+
unit :thick_sludge, 7, 0, :west
|
21
|
+
unit :wizard, 9, 0, :west
|
22
|
+
unit :captive, 10, 0, :west
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# ------
|
2
|
+
# | |
|
3
|
+
# |@ |
|
4
|
+
# | |
|
5
|
+
# | > |
|
6
|
+
# ------
|
7
|
+
|
8
|
+
t = R18n.t.towers.intermediate.level_001
|
9
|
+
|
10
|
+
description t.description
|
11
|
+
tip t.tip
|
12
|
+
|
13
|
+
time_bonus 20
|
14
|
+
ace_score 19
|
15
|
+
size 6, 4
|
16
|
+
stairs 2, 3
|
17
|
+
|
18
|
+
warrior 0, 1, :east do |u|
|
19
|
+
u.add_abilities :walk!, :feel, :direction_of_stairs
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# ----
|
2
|
+
# |@s |
|
3
|
+
# | sS>|
|
4
|
+
# ----
|
5
|
+
|
6
|
+
t = R18n.t.towers.intermediate.level_002
|
7
|
+
|
8
|
+
description t.description
|
9
|
+
tip t.tip
|
10
|
+
clue t.clue
|
11
|
+
|
12
|
+
time_bonus 40
|
13
|
+
ace_score 84
|
14
|
+
size 4, 2
|
15
|
+
stairs 3, 1
|
16
|
+
|
17
|
+
warrior 0, 0, :east do |u|
|
18
|
+
u.add_abilities :attack!, :health, :rest!
|
19
|
+
end
|
20
|
+
unit :sludge, 1, 0, :west
|
21
|
+
unit :thick_sludge, 2, 1, :west
|
22
|
+
unit :sludge, 1, 1, :north
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# ---
|
2
|
+
# |>s |
|
3
|
+
# |s@s|
|
4
|
+
# | C |
|
5
|
+
# ---
|
6
|
+
|
7
|
+
t = R18n.t.towers.intermediate.level_003
|
8
|
+
|
9
|
+
description t.description
|
10
|
+
tip t.tip
|
11
|
+
clue t.clue
|
12
|
+
|
13
|
+
time_bonus 50
|
14
|
+
ace_score 101
|
15
|
+
size 3, 3
|
16
|
+
stairs 0, 0
|
17
|
+
|
18
|
+
warrior 1, 1, :east do |u|
|
19
|
+
u.add_abilities :rescue!, :bind!
|
20
|
+
end
|
21
|
+
|
22
|
+
unit :sludge, 1, 0, :west
|
23
|
+
unit :captive, 1, 2, :west
|
24
|
+
unit :sludge, 0, 1, :west
|
25
|
+
unit :sludge, 2, 1, :west
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# ----
|
2
|
+
# |C s |
|
3
|
+
# | @ S|
|
4
|
+
# |C s>|
|
5
|
+
# ----
|
6
|
+
|
7
|
+
t = R18n.t.towers.intermediate.level_004
|
8
|
+
|
9
|
+
description t.description
|
10
|
+
tip t.tip
|
11
|
+
clue t.clue
|
12
|
+
|
13
|
+
time_bonus 55
|
14
|
+
ace_score 144
|
15
|
+
size 4, 3
|
16
|
+
stairs 3, 2
|
17
|
+
|
18
|
+
warrior 1, 1, :east do |u|
|
19
|
+
u.add_abilities :listen, :direction_of
|
20
|
+
end
|
21
|
+
|
22
|
+
unit :captive, 0, 0, :east
|
23
|
+
unit :captive, 0, 2, :east
|
24
|
+
unit :sludge, 2, 0, :south
|
25
|
+
unit :thick_sludge, 3, 1, :west
|
26
|
+
unit :sludge, 2, 2, :north
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# -----
|
2
|
+
# | S|
|
3
|
+
# |@> SC|
|
4
|
+
# -----
|
5
|
+
|
6
|
+
t = R18n.t.towers.intermediate.level_005
|
7
|
+
|
8
|
+
description t.description
|
9
|
+
tip t.tip
|
10
|
+
clue t.clue
|
11
|
+
|
12
|
+
time_bonus 45
|
13
|
+
ace_score 107
|
14
|
+
size 5, 2
|
15
|
+
stairs 1, 1
|
16
|
+
|
17
|
+
warrior 0, 1, :east
|
18
|
+
|
19
|
+
unit :thick_sludge, 4, 0, :west
|
20
|
+
unit :thick_sludge, 3, 1, :north
|
21
|
+
unit :captive, 4, 1, :west
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# ------
|
2
|
+
# |Cs >|
|
3
|
+
# |@ sC |
|
4
|
+
# ------
|
5
|
+
|
6
|
+
t = R18n.t.towers.intermediate.level_006
|
7
|
+
|
8
|
+
description t.description
|
9
|
+
tip t.tip
|
10
|
+
clue t.clue
|
11
|
+
|
12
|
+
time_bonus 50
|
13
|
+
ace_score 108
|
14
|
+
size 6, 2
|
15
|
+
stairs 5, 0
|
16
|
+
|
17
|
+
warrior 0, 1, :east
|
18
|
+
|
19
|
+
unit :sludge, 1, 0, :west
|
20
|
+
unit :sludge, 3, 1, :west
|
21
|
+
unit :captive, 0, 0, :west
|
22
|
+
unit :captive, 4, 1, :west do |u|
|
23
|
+
u.add_abilities :explode!
|
24
|
+
u.abilities[:explode!].time = 7
|
25
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -----
|
2
|
+
# | sC >|
|
3
|
+
# |@ s C|
|
4
|
+
# | s |
|
5
|
+
# -----
|
6
|
+
|
7
|
+
t = R18n.t.towers.intermediate.level_007
|
8
|
+
|
9
|
+
description t.description
|
10
|
+
tip t.tip
|
11
|
+
clue t.clue
|
12
|
+
|
13
|
+
time_bonus 70
|
14
|
+
ace_score 134
|
15
|
+
size 5, 3
|
16
|
+
stairs 4, 0
|
17
|
+
|
18
|
+
warrior 0, 1, :east
|
19
|
+
|
20
|
+
unit :sludge, 1, 0, :south
|
21
|
+
unit :sludge, 1, 2, :north
|
22
|
+
unit :sludge, 2, 1, :west
|
23
|
+
unit :captive, 4, 1, :west do |u|
|
24
|
+
u.add_abilities :explode!
|
25
|
+
u.abilities[:explode!].time = 10
|
26
|
+
end
|
27
|
+
unit :captive, 2, 0, :west
|