]> git.pond.sub.org Git - empserver/blob - info/Concepts/Flak.t
Import of Empire 4.2.12
[empserver] / info / Concepts / Flak.t
1 .TH Concept Flak
2 .NA Flak "How flak works"
3 .LV Basic
4 This page describes flak, and how it works.
5 .s1
6 Flak is created from gunfire when enemy planes fly overhead.
7 .s1
8 The way that flak works when planes fly over a sector is:
9 .nf
10  * Sector flak is fired.  Up to a maximum of 14 guns can fire
11    before being scaled.
12  * Land unit flak is then fired.  Up to a maximum of 14 guns can
13    fire before being scaled.  Only 'flak' capable units will fire
14    in this volley (see "info show"), and only the guns loaded onto
15    a land unit are counted in the # of guns firing.
16  * Ship flak is then fired.  Up to a maximum of 14 guns can fire
17    before being scaled.
18  * Defensive planes then intercept.
19 .fi
20 .s1
21 In all of the above flak rounds, once the maximum # of guns firing
22 has been determined, the # of guns is then scaled by your country's
23 tech factor, and then doubled.  So, for example, if you had 14 guns
24 firing, and have a tech factor of 35%, you would have a total of
25 (14 * .35) * 2 = 10 (after rounding) guns firing.
26 .s1
27 In addition, if you are pinbombing a land unit or a ship, when 
28 you make your bombing run, the specific unit/ship you are bombing
29 gets to fire flak at you again.  This number of guns firing flak
30 in these cases is NOT scaled after the number of guns is determined.
31 .s1
32 When a sector fires flak, the amount of shells required is the # of
33 guns fired divided by 2.  If not enough shells are available, either no flak
34 is fired, or the flak is reduced to the number of shells available.
35 Note that the shells are not consumed during flak fire, they just need
36 to be available.
37 .s1
38 When a ship fires flak, at least 1 shell must be available.
39 If no shells are available, no flak is fired.  Note that the shell is
40 not consumed during flak fire, it just needs to be available.
41 .s1
42 Land units use no shells when firing flak.  Any land unit with an
43 aaf rating of > 0 will fire flak when pin-bombed.
44 .s1
45 The formulas for determining the # of guns fired in a general volley
46 is:
47 .nf
48 Sector:
49     guns = (guns in sector);
50     if (guns > 14)
51         guns = 14;
52
53 Ship:
54     guns = 0;
55     for (each ship in the sector)
56         guns += min(guns, guns able to fire) * (techfact of ship) * 2;
57     if (guns > 14)
58         guns = 14;
59
60 Land unit:
61     guns = 0;
62     for (each land unit in the sector)
63         guns += (aaf rating) * (techfact of unit) * 3;
64     if (guns > 14)
65         guns = 14;
66 .fi
67 .s1
68 Then, for each of the above general flak volleys, the # of guns is
69 scaled like so:
70 .nf
71     firing = guns * (techfact of nation) * 2;
72
73 On specific bombing runs, the # of guns firing is determined by:
74
75 Ship:
76     guns = min(guns, guns able to fire) * (techfact of ship) * 2;
77
78 Land unit:
79     guns = (aaf rating) * (techfact of unit) * 3;
80
81 The # of guns in these cases are NOT scaled.
82
83 techfact is determined by:
84     techfact = (50.0 + tech) / (200.0 + tech);
85 .fi
86 .s1
87 Once the number of flak guns firing has been determined, the planes
88 have to fly through it.  The plane may have to fly through flak up
89 to 4 times in each sector, depending on circumstances.  They are:
90 .nf
91
92     1) Fly through general sector flak (if any)
93     1a) fight in a possible dog-fight
94     2) Fly through general ship flak (if any)
95     3) Fly through general unit flak (if any)
96     4) If pinbombing, fly through specific unit or ship flak (if any)
97 .fi
98 .s1
99 To figure out the damages that a plane takes each time it flys through
100 flak, the following formula's are used:
101 .nf
102
103     flak = # of guns firing.
104     flak = flak - (planes defense + 1);
105     if (plane is stealthy)
106         flak = flak - 2;
107     if (plane is half stealthy)
108         flak = flak - 1;
109     if (flak > 8)
110         mult = flaktable[15] * 1.33;
111     else if (flak < -7)
112         mult = flaktable[0] * 0.66;
113     else {
114         flak += 7;
115         mult = flaktable[flak];
116     }
117     mult *= flakscale;
118     damage = ((random number from 1 to 8) + 2) * mult;
119     if (damage > 100)
120         damage = 100;
121
122     plane's eff = (plane's eff) - dam;
123     if (plane's eff < 10%)
124         plane is shot down
125     else if (chance((100 - (plane's eff)) / 100))
126         plane aborts mission
127     otherwise the plane continues on it's mission
128
129 For the above, use this table:
130
131     flaktable[0] = 0.20
132     flaktable[1] = 0.20
133     flaktable[2] = 0.25
134     flaktable[3] = 0.30
135     flaktable[4] = 0.35
136     flaktable[5] = 0.40
137     flaktable[6] = 0.45
138     flaktable[7] = 0.50
139     flaktable[8] = 0.50
140     flaktable[9] = 0.55
141     flaktable[10] = 0.60
142     flaktable[11] = 0.65
143     flaktable[12] = 0.70
144     flaktable[13] = 0.75
145     flaktable[14] = 0.80
146     flaktable[15] = 0.85
147
148 and a flakscale of 1.75
149 .fi
150 .SA "bomb, fly, recon, paradrop, nation, Planes, Interception, Combat"
151