blob: 298f28ed4049bd779a6ee064174f3e10fcc35548 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# frozen_string_literal: true
require_relative 'fln_action'
require_relative 'ambush'
module ColonialTwilight
module Actions
module FLN
# Attack 3.3.3
class Attack < FlnAction
def initialize(space)
super(space, {}, cost: 1)
@ambush = nil
end
# can be combined with Ambush (replaces Attack procedure)
def ambush!
raise 'ambush! called twice' unless @ambush.nil?
@ambush = Ambush.new(space)
self
end
# def validate!
# super
# raise 'select conduct mode' unless mode.key?(:conduct)
# end
# Activate all Guerrillas in the space
# Roll 1d6: if result is less than or equal to number of Guerrillas
# remove up to 2 Gov pieces (Police first, then Troops, then Base) into casualties
# If result is a 1, add 1 underground Guerrillas
# Attrition (not Ambush) : for each French piece removed : remove 1 FLN Guerrillas (alternate available / casualties)
# -1 Commitment per French Base removed
def apply!(board)
raise NotImplementedError
end
class << self
def op?
true
end
# any space with FLN cubes and Gov pieces
def applicable?(space)
space.guerrillas.positive? && space.gov.positive?
end
# def available_modes(_space)
# { conduct: 1 }
# end
end
end
end
end
end
|