1--       _________ __                 __
2--      /   _____//  |_____________ _/  |______     ____  __ __  ______
3--      \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
4--      /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
5--     /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
6--             \/                  \/          \//_____/            \/
7--  ______________________                           ______________________
8--                        T H E   W A R   B E G I N S
9--         Stratagus - A free fantasy real time strategy game engine
10--
11--      anim.lua - The human unit animation definitions.
12--
13--      (c) Copyright 2000-2005 by Josh Cogliati, Lutz Sammer,
14--                                 and Jimmy Salmon
15--
16--      This program is free software; you can redistribute it and/or modify
17--      it under the terms of the GNU General Public License as published by
18--      the Free Software Foundation; either version 2 of the License, or
19--      (at your option) any later version.
20--
21--      This program is distributed in the hope that it will be useful,
22--      but WITHOUT ANY WARRANTY; without even the implied warranty of
23--      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24--      GNU General Public License for more details.
25--
26--      You should have received a copy of the GNU General Public License
27--      along with this program; if not, write to the Free Software
28--      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29--
30
31--
32-- footman and arthor-literios
33--
34
35local FootmanStill = UnitStill
36local FootmanMove = {"unbreakable begin","frame 0", "move 3", "wait 2", "frame 5", "move 3", "wait 1",
37    "frame 5", "move 3", "wait 2", "frame 10", "move 2", "wait 1",
38    "frame 10", "move 3", "wait 1", "frame 0", "move 2", "wait 1",
39    "frame 0", "move 3", "wait 2", "frame 15", "move 3", "wait 1",
40    "frame 15", "move 3", "wait 2", "frame 20", "move 2", "wait 1",
41    "frame 20", "move 3", "wait 1", "frame 0", "move 2", "unbreakable end", "wait 1",}
42local FootmanDeath = {"unbreakable begin", "frame 45", "wait 3", "frame 50", "wait 3", "frame 55", "wait 100",
43    "frame 55", "unbreakable end", "wait 1",}
44
45DefineAnimations("animations-footman", {
46  Still = FootmanStill,
47  Move = FootmanMove,
48  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
49    "frame 40", "attack", "sound footman-attack", "wait 5", "frame 0", "wait 10",
50    "frame 0", "unbreakable end", "wait 1",},
51  Death = FootmanDeath,
52})
53
54DefineAnimations("animations-arthor-literios", {
55  Still = FootmanStill,
56  Move = FootmanMove,
57  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
58    "frame 40", "attack", "sound danath-attack", "wait 5", "frame 0", "wait 10",
59    "frame 0", "unbreakable end", "wait 1",},
60  Death = FootmanDeath,
61})
62
63
64DefineAnimations("animations-peasant", {
65  Still = UnitStill,
66  Move = {"unbreakable begin", "frame 0", "move 3", "wait 2", "frame 5", "move 3", "wait 1",
67    "frame 5", "move 3", "wait 2", "frame 10", "move 2", "wait 1",
68    "frame 10", "move 3", "wait 1", "frame 0", "move 2", "wait 1",
69    "frame 0", "move 3", "wait 2", "frame 15", "move 3", "wait 1",
70    "frame 15", "move 3", "wait 2", "frame 20", "move 2", "wait 1",
71    "frame 20", "move 3", "wait 1", "frame 0", "move 2", "unbreakable end", "wait 1",},
72  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
73    "frame 40", "attack", "sound peasant-attack", "wait 5", "frame 45", "wait 3",
74    "frame 25", "wait 7", "frame 25", "unbreakable end", "wait 1",},
75  Harvest_wood = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
76    "frame 40", "sound tree-chopping", "wait 5", "frame 45", "wait 3",
77    "frame 25", "wait 7", "frame 25", "unbreakable end", "wait 1",},
78  Repair = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
79    "frame 40", "sound peasant-attack", "wait 5", "frame 45", "wait 3",
80    "frame 25", "wait 7", "frame 25", "unbreakable end", "wait 1",},
81  Death = {"unbreakable begin", "frame 50", "wait 3", "frame 55", "wait 3", "frame 60", "wait 100",
82    "frame 60", "unbreakable end", "wait 1",},
83})
84
85
86DefineAnimations("animations-ballista", {
87  Still = {"frame 0", "wait 4", "frame 0", "wait 1",},
88  Move = {"unbreakable begin","frame 0", "wait 1", "frame 5", "move 2", "wait 2",
89    "frame 0", "move 2", "wait 2", "frame 5", "move 2", "wait 2",
90    "frame 0", "move 2", "wait 2", "frame 5", "move 2", "wait 2",
91    "frame 0", "move 2", "wait 2", "frame 5", "move 2", "wait 2",
92    "frame 0", "move 2", "wait 2", "frame 5", "move 2", "wait 2",
93    "frame 0", "move 2", "wait 2", "frame 5", "move 2", "wait 2",
94    "frame 0", "move 2", "wait 2", "frame 5", "move 2", "wait 2",
95    "frame 0", "move 2", "wait 2", "frame 5", "move 2", "wait 2",
96    "frame 0", "move 2", "unbreakable end", "wait 1",},
97  Attack = {"unbreakable begin", "frame 10", "wait 25",
98    "frame 15", "attack", "sound ballista-attack", "wait 25", "frame 15", "wait 100",
99    "frame 0", "wait 49", "frame 0", "unbreakable end", "wait 1",},
100})
101
102
103--
104-- knight, paladin, knight-rider, wise-man, and man-of-light
105--
106
107local KnightStill = UnitStill
108local KnightMove = {"unbreakable begin","frame 0", "move 3", "wait 1", "frame 5", "move 3", "wait 1",
109    "frame 5", "move 4", "wait 2", "frame 10", "move 3", "wait 1",
110    "frame 10", "move 3", "wait 1", "frame 15", "move 3", "wait 1",
111    "frame 15", "move 4", "wait 2", "frame 20", "move 3", "wait 1",
112    "frame 20", "move 3", "wait 1", "frame 0", "move 3", "unbreakable end", "wait 1",}
113local KnightDeath = {"unbreakable begin", "frame 45", "wait 3", "frame 50", "wait 3", "frame 55", "wait 100",
114    "frame 60", "wait 200", "frame 65", "wait 200", "frame 65", "unbreakable end", "wait 1",}
115
116DefineAnimations("animations-knight", {
117  Still = KnightStill,
118  Move = KnightMove,
119  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
120    "frame 40", "attack", "sound knight-attack", "wait 5", "frame 0", "wait 10",
121    "frame 0", "unbreakable end", "wait 1",},
122  Death = KnightDeath,
123})
124
125DefineAnimations("animations-paladin", {
126  Still = KnightStill,
127  Move = KnightMove,
128  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
129    "frame 40", "attack", "sound paladin-attack", "wait 5", "frame 0", "wait 10",
130    "frame 0", "unbreakable end", "wait 1",},
131  SpellCast = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
132    "frame 40", "attack", "wait 5", "frame 0", "wait 10",
133    "frame 0", "unbreakable end", "wait 1",},
134  Death = KnightDeath,
135})
136
137DefineAnimations("animations-knight-rider", {
138  Still = KnightStill,
139  Move = KnightMove,
140  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
141    "frame 40", "attack", "sound turalyon-attack", "wait 5", "frame 0", "wait 10",
142    "frame 0", "unbreakable end", "wait 1",},
143  SpellCast = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
144    "frame 40", "attack", "wait 5", "frame 0", "wait 10",
145    "frame 0", "unbreakable end", "wait 1",},
146  Death = KnightDeath,
147})
148
149DefineAnimations("animations-wise-man", {
150  Still = KnightStill,
151  Move = KnightMove,
152  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
153    "frame 40", "attack", "sound lothar-attack", "wait 5", "frame 0", "wait 10",
154    "frame 0", "unbreakable end", "wait 1",},
155  SpellCast = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
156    "frame 40", "attack", "wait 5", "frame 0", "wait 10",
157    "frame 0", "unbreakable end", "wait 1",},
158  Death = KnightDeath,
159})
160
161DefineAnimations("animations-man-of-light", {
162  Still = KnightStill,
163  Move = KnightMove,
164  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
165    "frame 40", "attack", "sound uther-lightbringer-attack", "wait 5", "frame 0", "wait 10",
166    "frame 0", "unbreakable end", "wait 1",},
167  SpellCast = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
168    "frame 40", "attack", "wait 5", "frame 0", "wait 10",
169    "frame 0", "unbreakable end", "wait 1",},
170  Death = KnightDeath,
171})
172
173
174--
175-- archer, ranger, and female-hero
176--
177
178local ArcherStill = UnitStill
179local ArcherMove = {"unbreakable begin","frame 0", "move 3", "wait 2", "frame 5", "move 3", "wait 1",
180    "frame 5", "move 3", "wait 2", "frame 10", "move 2", "wait 1",
181    "frame 10", "move 3", "wait 1", "frame 0", "move 2", "wait 1",
182    "frame 0", "move 3", "wait 2", "frame 15", "move 3", "wait 1",
183    "frame 15", "move 3", "wait 2", "frame 20", "move 2", "wait 1",
184    "frame 20", "move 3", "wait 1", "frame 0", "move 2", "unbreakable end", "wait 1",}
185local ArcherDeath = {"unbreakable begin", "frame 35", "wait 3", "frame 40", "wait 3", "frame 45", "wait 100",
186    "frame 45", "unbreakable end", "wait 1",}
187
188DefineAnimations("animations-archer", {
189  Still = ArcherStill,
190  Move = ArcherMove,
191  Attack = {"unbreakable begin", "frame 25", "wait 10", "frame 30", "attack", "sound archer-attack", "wait 10",
192    "frame 0", "wait 44", "frame 0", "unbreakable end", "wait 1",},
193  Death = ArcherDeath,
194})
195
196DefineAnimations("animations-ranger", {
197  Still = ArcherStill,
198  Move = ArcherMove,
199  Attack = {"unbreakable begin", "frame 25", "wait 10", "frame 30", "attack", "sound ranger-attack", "wait 10",
200    "frame 0", "wait 44", "frame 0", "unbreakable end", "wait 1",},
201  Death = ArcherDeath,
202})
203
204DefineAnimations("animations-female-hero", {
205  Still = ArcherStill,
206  Move = ArcherMove,
207  Attack = {"unbreakable begin", "frame 25", "wait 10", "frame 30", "attack", "sound alleria-attack", "wait 10",
208    "frame 0", "wait 44", "frame 0", "unbreakable end", "wait 1",},
209  Death = ArcherDeath,
210})
211
212
213--
214-- mage and white-mage
215--
216
217local MageStill = UnitStill
218local MageMove = {"unbreakable begin","frame 0", "move 3", "wait 2", "frame 5", "move 3", "wait 1",
219    "frame 5", "move 3", "wait 2", "frame 10", "move 2", "wait 1",
220    "frame 10", "move 3", "wait 2", "frame 0", "move 2", "wait 1",
221    "frame 0", "move 3", "wait 2", "frame 15", "move 3", "wait 1",
222    "frame 15", "move 3", "wait 2", "frame 20", "move 2", "wait 1",
223    "frame 20", "move 3", "wait 2", "frame 0", "move 2", "unbreakable end", "wait 1",}
224local MageDeath = {"unbreakable begin", "frame 45", "wait 5", "frame 50", "wait 5", "frame 55", "wait 5",
225    "frame 60", "wait 5", "frame 65", "wait 5", "frame 70", "wait 5",
226    "frame 75", "wait 5", "frame 75", "unbreakable end", "wait 1",}
227
228DefineAnimations("animations-mage", {
229  Still = MageStill,
230  Move = MageMove,
231  Attack = {"unbreakable begin", "frame 25", "wait 5", "frame 30", "wait 5",
232    "frame 35", "attack", "sound mage-attack", "wait 7",
233    "frame 40", "wait 5", "frame 0", "wait 17", "frame 0", "unbreakable end", "wait 1",},
234  SpellCast = {"unbreakable begin", "frame 25", "wait 5", "frame 30", "wait 5",
235    "frame 35", "attack", "wait 7",
236    "frame 40", "wait 5", "frame 0", "wait 17", "frame 0", "unbreakable end", "wait 1",},
237  Death = MageDeath,
238})
239
240DefineAnimations("animations-white-mage", {
241  Still = MageStill,
242  Move = MageMove,
243  Attack = {"unbreakable begin", "frame 25", "wait 5", "frame 30", "wait 5",
244    "frame 35", "attack", "sound khadgar-attack", "wait 7",
245    "frame 40", "wait 5", "frame 0", "wait 17", "frame 0", "unbreakable end", "wait 1",},
246  SpellCast = {"unbreakable begin", "frame 25", "wait 5", "frame 30", "wait 5",
247    "frame 35", "attack", "wait 7",
248    "frame 40", "wait 5", "frame 0", "wait 17", "frame 0", "unbreakable end", "wait 1",},
249  Death = MageDeath,
250})
251
252
253DefineAnimations("animations-dwarves", {
254  Still = UnitStill,
255  Move = {"unbreakable begin", "frame 0", "move 3", "wait 2", "frame 10", "move 3", "wait 1",
256    "frame 10", "move 4", "wait 2", "frame 25", "move 3", "wait 1",
257    "frame 25", "move 3", "wait 2", "frame 40", "move 3", "wait 1",
258    "frame 40", "move 4", "wait 2", "frame 55", "move 3", "wait 1",
259    "frame 55", "move 3", "wait 1", "frame 0", "move 3", "unbreakable end", "wait 1",},
260  Attack = {"unbreakable begin", "frame 15", "wait 3",
261    "frame 30", "attack", "sound dwarves-attack", "wait 5",
262    "frame 45", "wait 3", "frame 0", "wait 13", "frame 0", "unbreakable end", "wait 1",},
263  SpellCast = {"unbreakable begin", "frame 15", "wait 3",
264    "frame 30", "attack", "wait 5",
265    "frame 45", "wait 3", "frame 0", "wait 13", "frame 0", "unbreakable end", "wait 1",},
266  Death = {"unbreakable begin", "frame 5", "wait 3", "frame 20", "wait 3", "frame 35", "wait 3",
267    "frame 50", "wait 3", "frame 60", "wait 3", "frame 60", "unbreakable end", "wait 1",},
268})
269
270
271--
272-- gryphon-rider and flying-angel
273--
274
275local GryphonRiderStill = {"frame 0", "wait 6", "frame 5", "wait 6", "frame 10", "wait 6",
276    "frame 15", "wait 6",}
277local GryphonRiderMove = {"unbreakable begin", "frame 0", "wait 1", "frame 0", "move 3", "wait 1",
278    "frame 0", "move 3", "wait 1", "frame 5", "move 3", "wait 1",
279    "frame 5", "move 2", "wait 1", "frame 5", "move 3", "wait 1",
280    "frame 10", "move 3", "wait 1", "frame 10", "move 3", "wait 1",
281    "frame 10", "move 3", "wait 1", "frame 15", "move 3", "wait 1",
282    "frame 15", "move 3", "wait 1", "frame 0", "move 3", "unbreakable end", "wait 1",}
283local GryphonRiderDeath = {"unbreakable begin", "frame 35", "wait 5", "frame 40", "wait 5", "frame 45", "wait 5",
284    "frame 50", "wait 5", "frame 55", "wait 5", "frame 60", "wait 5",
285    "frame 60", "unbreakable end", "wait 1",}
286
287DefineAnimations("animations-gryphon-rider", {
288  Still = GryphonRiderStill,
289  Move = GryphonRiderMove,
290  Attack = {"unbreakable begin", "frame 0", "wait 6", "frame 5", "wait 6",
291    "frame 10", "wait 6", "frame 15", "wait 6", "frame 15", "wait 1",
292    "frame 20", "wait 6", "frame 25", "wait 6",
293    "frame 30", "attack", "sound gryphon-rider-attack", "wait 8",
294    "frame 0", "wait 6", "frame 5", "wait 6", "frame 10", "wait 6",
295    "frame 15", "wait 6", "frame 0", "wait 6", "frame 5", "wait 6",
296    "frame 10", "wait 6", "frame 15", "wait 6", "frame 0", "wait 6",
297    "frame 5", "wait 6", "frame 10", "wait 6", "frame 15", "wait 6",
298    "frame 0", "wait 6", "frame 5", "wait 6", "frame 10", "wait 6",
299    "frame 15", "wait 6", "frame 0", "wait 6", "frame 5", "wait 6",
300    "frame 10", "wait 6", "frame 15", "wait 6", "frame 0", "wait 6",
301    "frame 5", "wait 6", "frame 10", "wait 6", "frame 15", "wait 6",
302    "frame 0", "unbreakable end", "wait 1", },
303  Death = GryphonRiderDeath,
304})
305
306DefineAnimations("animations-flying-angel", {
307  Still = GryphonRiderStill,
308  Move = GryphonRiderMove,
309  Attack = {"unbreakable begin", "frame 0", "wait 6", "frame 5", "wait 6",
310    "frame 10", "wait 6", "frame 15", "wait 6", "frame 15", "wait 1",
311    "frame 20", "wait 6", "frame 25", "wait 6",
312    "frame 30", "attack", "sound kurdan-and-sky-ree-attack", "wait 8",
313    "frame 0", "wait 6", "frame 5", "wait 6", "frame 10", "wait 6",
314    "frame 15", "wait 6", "frame 0", "wait 6", "frame 5", "wait 6",
315    "frame 10", "wait 6", "frame 15", "wait 6", "frame 0", "wait 6",
316    "frame 5", "wait 6", "frame 10", "wait 6", "frame 15", "wait 6",
317    "frame 0", "wait 6", "frame 5", "wait 6", "frame 10", "wait 6",
318    "frame 15", "wait 6", "frame 0", "wait 6", "frame 5", "wait 6",
319    "frame 10", "wait 6", "frame 15", "wait 6", "frame 0", "wait 6",
320    "frame 5", "wait 6", "frame 10", "wait 6", "frame 15", "wait 6",
321    "frame 0", "unbreakable end", "wait 1", },
322  Death = GryphonRiderDeath,
323})
324
325
326DefineAnimations("animations-human-oil-tanker", {
327  Still = {"frame 0", "wait 4", "frame 0", "wait 1",},
328  Move = {"unbreakable begin", "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
329    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
330    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
331    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
332    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
333    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
334    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
335    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "unbreakable end", "wait 1",},
336  Attack = {"unbreakable begin", "frame 0", "attack", "wait 30",
337    "frame 0", "wait 99", "frame 0", "unbreakable end", "wait 1",},
338  Death = {"unbreakable begin", "frame 5", "wait 50", "frame 10", "wait 50", "frame 10", "unbreakable end", "wait 1",},
339})
340
341
342DefineAnimations("animations-human-transport", {
343  Still = {"frame 0", "wait 4", "frame 0", "wait 1",},
344  Move = {"unbreakable begin", "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
345    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
346    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
347    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
348    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
349    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
350    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
351    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "unbreakable end", "wait 1",},
352  Attack = {"unbreakable begin", "frame 0", "attack", "wait 119",
353    "frame 0", "unbreakable end", "wait 1",},
354  Death = {"unbreakable begin", "frame 5", "wait 50", "frame 10", "wait 50", "frame 10", "unbreakable end", "wait 1",},
355})
356
357
358DefineAnimations("animations-elven-destroyer", {
359  Still = {"frame 0", "wait 4", "frame 0", "wait 1", },
360  Move = {"unbreakable begin", "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
361    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
362    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
363    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
364    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
365    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
366    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
367    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "unbreakable end", "wait 1",},
368  Attack = {"unbreakable begin", "frame 0", "attack", "sound elven-destroyer-attack", "wait 119",
369    "frame 0", "unbreakable end", "wait 1",},
370  Death = {"unbreakable begin", "frame 5", "wait 50", "frame 10", "wait 50", "frame 10", "unbreakable end", "wait 1",},
371})
372
373
374DefineAnimations("animations-battleship", {
375  Still = {"frame 0", "wait 4", "frame 0", "wait 1", },
376  Move = {"unbreakable begin", "frame 0", "move 2", "wait 2", "frame 0", "move 2", "wait 2",
377    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 2",
378    "frame 0", "move 2", "wait 2", "frame 0", "move 2", "wait 1",
379    "frame 0", "move 2", "wait 2", "frame 0", "move 2", "wait 2",
380    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 2",
381    "frame 0", "move 2", "wait 2", "frame 0", "move 2", "wait 1",
382    "frame 0", "move 2", "wait 2", "frame 0", "move 2", "wait 1",
383    "frame 0", "move 2", "wait 2", "frame 0", "move 2", "unbreakable end", "wait 1",},
384  Attack = {"unbreakable begin", "frame 0", "attack", "sound battleship-attack", "wait 127",
385    "frame 0", "wait 102", "frame 0", "unbreakable end", "wait 1",},
386  Death = {"unbreakable begin", "frame 5", "wait 50", "frame 10", "wait 50", "frame 10", "unbreakable end", "wait 1",},
387})
388
389
390DefineAnimations("animations-gnomish-submarine", {
391  Still = {"frame 0", "wait 4", "frame 0", "wait 1",},
392  Move = {"unbreakable begin", "frame 0", "move 2", "wait 2", "frame 0", "move 2", "wait 1",
393    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 2",
394    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
395    "frame 0", "move 2", "wait 2", "frame 0", "move 2", "wait 1",
396    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 2",
397    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
398    "frame 0", "move 2", "wait 1", "frame 0", "move 2", "wait 1",
399    "frame 0", "move 2", "wait 2", "frame 0", "move 2", "unbreakable end", "wait 1",},
400  Attack = {"unbreakable begin", "frame 5", "wait 10", "frame 10", "wait 25",
401    "frame 10", "attack", "sound gnomish-submarine-attack", "wait 25",
402    "frame 5", "wait 25", "frame 0", "wait 29", "frame 0", "unbreakable end", "wait 1",},
403  Death = {"unbreakable begin", "frame 0", "unbreakable end", "wait 1",},
404})
405
406
407DefineAnimations("animations-balloon", {
408  Still = {"frame 0", "wait 1", "frame 5", "wait 1", "frame 5", "wait 1",
409    "frame 0", "wait 1", },
410  Move = {"unbreakable begin", "frame 5", "move 4", "wait 1", "frame 5", "move 3", "wait 1",
411    "frame 5", "move 3", "wait 1", "frame 0", "move 3", "wait 1",
412    "frame 0", "move 3", "wait 1", "frame 5", "move 4", "wait 1",
413    "frame 5", "move 3", "wait 1", "frame 5", "move 3", "wait 1",
414    "frame 0", "move 3", "wait 1", "frame 0", "move 3", "unbreakable end", "wait 1", },
415  Attack = {"unbreakable begin", "frame 0", "unbreakable end", "wait 1", },
416  Death = {"unbreakable begin", "frame 0", "unbreakable end", "wait 1", },
417})
418
419
420DefineAnimations("animations-human-guard-tower", {
421  Still = {"frame 0", "wait 4", "frame 0", "wait 1",},
422  Attack = {"unbreakable begin", "frame 0", "attack", "wait 59",
423    "frame 0", "unbreakable end", "wait 1",},
424})
425
426--------
427--	Cannon Tower, Cannon Tower
428DefineAnimations("animations-human-cannon-tower", {
429  Still = {"frame 0", "wait 4", "frame 0", "wait 1",},
430  Attack = {"unbreakable begin", "frame 0", "attack", "wait 150",
431    "frame 0", "unbreakable end", "wait 1",},
432})
433
434