1# DOOM2 (TNT) - Intermissions and Finales (Final DOOM/TNT)
2#
3# For further information on the InFine system, script syntax
4# and semantics see:
5#
6#   http://dengine.net/dew/?title=InFine_script_reference
7#
8
9Header { Version = 5; }
10
11# I'm using "textdef" to allow compatibility with DeHackEd.
12# A better way would just be to use "text" and define the text
13# in the script, no need to go about modifying the Text defs.
14
15InFine
16{
17  ID = "title";
18  Script {
19    # There is no skipping during the titlescreen loop.
20    NoSkip
21
22    # Any event shows the menu.
23    Trigger
24
25    MARKER title_loop
26
27    # Step 1.
28    Patch back 0 0 "TITLEPIC"
29    MusicOnce "dm2ttl"
30    Wait 13 # Original was 11; this'll play the whole song.
31
32    # Step 2.
33    PlayDemo "tdemo1.cdm"
34
35    # Step 3.
36    Set back "CREDIT"
37    Wait 5.714 # Original is 200 tics.
38
39    # Step 4.
40    PlayDemo "tdemo2.cdm"
41
42    # Step 5.
43    Set back "TITLEPIC"
44    MusicOnce "dm2ttl"
45    Wait 13 # Original was 11.
46
47    # Step 6.
48    PlayDemo "tdemo3.cdm"
49
50    GOTO title_loop
51  };
52}
53
54InFine {
55  ID = "help";
56  Script {
57    NoTrigger; NoFlat;
58
59    Patch back 0 0 "HELP"
60    Patch cursor 298 160 M_SKULL1
61
62    # Configure the animating cursor
63    Clranim cursor
64    Anim cursor M_SKULL1 0.223857
65    Anim cursor M_SKULL2 0.223857
66    Repeat cursor
67
68    Pause
69
70    Set back "CREDIT"
71    Pause
72  };
73}
74
75Finale
76{
77  Before = "MAP07";
78  Script {
79    music "read_m"
80    flat Values:BGFLAT06
81    wait 0.5
82    textdef msg 10 10 "T1TEXT"
83    waittext msg
84    wait 7 # The original TEXTWAIT is 250 tics.
85  };
86}
87
88Finale
89{
90  Before = "MAP12";
91  Script {
92    music "read_m"
93    flat Values:BGFLAT11
94    wait 0.5
95    textdef msg 10 10 "T2TEXT"
96    waittext msg
97    wait 7 # The original TEXTWAIT is 250 tics.
98  };
99}
100
101Finale
102{
103  Before = "MAP21";
104  Script {
105    music "read_m"
106    flat Values:BGFLAT20
107    wait 0.5
108    textdef msg 10 10 "T3TEXT"
109    waittext msg
110    wait 7 # The original TEXTWAIT is 250 tics.
111  };
112}
113
114# This is the actual finale of TNT: Evilution.
115Finale
116{
117  After = "MAP30";
118  Script {
119    music "read_m"
120    flat Values:BGFLAT30
121    wait 0.5
122    textdef msg 10 10 "T4TEXT"
123    waittext msg; wait 7
124    skiphere
125
126    #####====--- The Cast ---====#####
127    # Castloop continues forever.
128    # Quite a number of monsters here...!
129    noskip  # No more skipping (pause waits for a key, though).
130    deltext msg
131    music "evil"
132    noflat; patch back 0 0 BOSSBACK
133    marker castloop
134    # Create a text for the name.
135    textdef name 160 180 CC_ZOMBIE
136    center name; rate name 0
137    patch mo 160 170 POSSA1   # "mo" is used for all the monsters.
138
139    # --- Zombieman ---
140    clranim mo
141    states mo POSS_RUN1 12
142    states mo POSS_ATK1 2; picsound mo "pistol"
143    states mo POSS_ATK3 1
144    repeat mo
145    seesound POSSESSED; pause; diesound POSSESSED
146    clranim mo
147    states mo POSS_DIE1 5
148    waitanim mo; wait 0.43
149
150    # --- Shotgun Guy ---
151    clranim mo
152    states mo SPOS_RUN1 12
153    states mo SPOS_ATK1 2; picsound mo "shotgn"
154    states mo SPOS_ATK3 1
155    repeat mo
156    settextdef name CC_SHOTGUN
157    seesound SHOTGUY; pause; diesound SHOTGUY
158    clranim mo
159    states mo SPOS_DIE1 5
160    waitanim mo; wait 0.43
161
162    # --- Heavy Weapon Dude ---
163    clranim mo
164    states mo CPOS_RUN1 12
165    states mo CPOS_ATK1 2; picsound mo "shotgn"
166    states mo CPOS_ATK3 1; picsound mo "shotgn"
167    states mo CPOS_ATK4 1; picsound mo "shotgn"
168    states mo CPOS_ATK3 1; picsound mo "shotgn"
169    states mo CPOS_ATK4 1; picsound mo "shotgn"
170    states mo CPOS_ATK3 1; picsound mo "shotgn"
171    repeat mo
172    settextdef name CC_HEAVY
173    seesound CHAINGUY; pause; diesound CHAINGUY
174    clranim mo
175    states mo CPOS_DIE1 7
176    waitanim mo; wait 0.43
177
178    # --- Imp ---
179    clranim mo
180    states mo TROO_RUN1 12
181    states mo TROO_ATK1 3; picsound mo "claw"
182    repeat mo
183    settextdef name CC_IMP
184    seesound TROOP; pause; diesound TROOP
185    clranim mo
186    states mo TROO_DIE1 5
187    waitanim mo; wait 0.43
188
189    # --- Demon ---
190    clranim mo
191    states mo SARG_RUN1 12
192    states mo SARG_ATK1 2; picsound mo "sgtatk"
193    states mo SARG_ATK3 1
194    repeat mo
195    settextdef name CC_DEMON
196    seesound SERGEANT; pause; diesound SERGEANT
197    clranim mo
198    states mo SARG_DIE1 6
199    waitanim mo; wait 0.43
200
201    # --- Lost Soul ---
202    clranim mo
203    states mo SKULL_RUN1 12
204    states mo SKULL_ATK1 2; picsound mo "sklatk"
205    states mo SKULL_ATK3 8
206    repeat mo
207    settextdef name CC_LOST
208    seesound SKULL; pause; diesound SKULL
209    clranim mo
210    states mo SKULL_DIE1 6
211    waitanim mo; wait 0.43
212
213    # --- Cacodemon ---
214    clranim mo
215    states mo HEAD_RUN1 12
216    states mo HEAD_ATK1 2; picsound mo "firsht"
217    states mo HEAD_ATK3 1
218    repeat mo
219    settextdef name CC_CACO
220    seesound HEAD; pause; diesound HEAD
221    clranim mo
222    states mo HEAD_DIE1 6
223    waitanim mo; wait 0.43
224
225    # --- Hell Knight ---
226    clranim mo
227    states mo BOS2_RUN1 12
228    states mo BOS2_ATK1 2; picsound mo "firsht"
229    states mo BOS2_ATK3 1
230    repeat mo
231    settextdef name CC_HELL
232    seesound KNIGHT; pause; diesound KNIGHT
233    clranim mo
234    states mo BOS2_DIE1 7
235    waitanim mo; wait 0.43
236
237    # --- Baron of Hell ---
238    clranim mo
239    states mo BOSS_RUN1 12
240    states mo BOSS_ATK1 2; picsound mo "firsht"
241    states mo BOSS_ATK3 1
242    repeat mo
243    settextdef name CC_BARON
244    seesound BRUISER; pause; diesound BRUISER
245    clranim mo
246    states mo BOSS_DIE1 7
247    waitanim mo; wait 0.43
248
249    # --- Arachnotron ---
250    clranim mo
251    states mo BSPI_SIGHT 12
252    states mo BSPI_ATK1 2; picsound mo "plasma"
253    states mo BSPI_ATK3 3; picsound mo "plasma"
254    states mo BSPI_ATK3 3; picsound mo "plasma"
255    states mo BSPI_ATK3 3; picsound mo "plasma"
256    states mo BSPI_ATK3 2
257    repeat mo
258    settextdef name CC_ARACH
259    seesound BABY; pause; diesound BABY
260    clranim mo
261    states mo BSPI_DIE1 7
262    waitanim mo; wait 0.43
263
264    # --- Pain Elemental ---
265    clranim mo
266    states mo PAIN_RUN1 12
267    states mo PAIN_ATK1 3; picsound mo "sklatk"
268    states mo PAIN_ATK4 1
269    repeat mo
270    settextdef name CC_PAIN
271    seesound PAIN; pause; diesound PAIN
272    clranim mo
273    states mo PAIN_DIE1 6
274    waitanim mo; wait 0.43
275
276    # --- Revenant ---
277    clranim mo
278    states mo SKEL_RUN1 12
279    states mo SKEL_MISS1 2; picsound mo "skeatk"
280    states mo SKEL_MISS3 2
281    states mo SKEL_RUN1 12
282    states mo SKEL_FIST1 2; picsound mo "skeswg"
283    states mo SKEL_FIST3 2; picsound mo "skepch"
284    repeat mo
285    settextdef name CC_REVEN
286    seesound UNDEAD; pause; diesound UNDEAD
287    clranim mo
288    states mo SKEL_DIE1 6
289    waitanim mo; wait 0.43
290
291    # --- Mancubus ---
292    clranim mo
293    states mo FATT_RUN1 12
294    states mo FATT_ATK1 2; picsound mo "firsht"
295    states mo FATT_ATK3 3; picsound mo "firsht"
296    states mo FATT_ATK6 3; picsound mo "firsht"
297    states mo FATT_ATK9 2
298    repeat mo
299    settextdef name CC_MANCU
300    seesound FATSO; pause; diesound FATSO
301    clranim mo
302    states mo FATT_DIE1 10
303    waitanim mo; wait 0.43
304
305    # --- Arch-Vile ---
306    clranim mo
307    states mo VILE_RUN1 12
308    states mo VILE_ATK1 2; picsound mo "vilatk"
309    states mo VILE_ATK3 9
310    repeat mo
311    settextdef name CC_ARCH
312    seesound VILE; pause; diesound VILE
313    clranim mo
314    states mo VILE_DIE1 10
315    waitanim mo; wait 0.43
316
317    # --- The Spider Mastermind ---
318    clranim mo
319    states mo SPID_RUN1 12
320    states mo SPID_ATK1 2; picsound mo "shotgn"
321    states mo SPID_ATK3 1; picsound mo "shotgn"
322    states mo SPID_ATK4 2; picsound mo "shotgn"
323    states mo SPID_ATK3 1; picsound mo "shotgn"
324    states mo SPID_ATK4 2; picsound mo "shotgn"
325    states mo SPID_ATK3 1; picsound mo "shotgn"
326    states mo SPID_ATK4 2; picsound mo "shotgn"
327    states mo SPID_ATK3 1; picsound mo "shotgn"
328    repeat mo
329    settextdef name CC_SPIDER
330    seesound SPIDER; pause; diesound SPIDER
331    clranim mo
332    states mo SPID_DIE1 11
333    waitanim mo; wait 0.43
334
335    # --- Cyberdemon ---
336    clranim mo
337    states mo CYBER_RUN1 12
338    states mo CYBER_ATK1 2; picsound mo "rlaunc"
339    states mo CYBER_ATK3 2; picsound mo "rlaunc"
340    states mo CYBER_ATK5 2; picsound mo "rlaunc"
341    repeat mo
342    settextdef name CC_CYBER
343    seesound CYBORG; pause; diesound CYBORG
344    clranim mo
345    states mo CYBER_DIE1 10
346    waitanim mo; wait 0.43
347
348    # --- Our Hero (finally!) ---
349    clranim mo
350    states mo PLAY_RUN1 12
351    states mo PLAY_ATK1 1
352    repeat mo
353    settextdef name CC_HERO
354    seesound PLAYER; pause; diesound PLAYER
355    clranim mo
356    states mo PLAY_DIE1 7
357    waitanim mo; wait 0.43
358
359    # Restart the loop.
360    goto castloop
361  };
362}
363
364# Secret level 1.
365Finale
366{
367  Before = "MAP31";
368  Script {
369    music "read_m"
370    flat Values:BGFLAT15
371    wait 0.5
372    textdef msg 10 10 "T5TEXT"
373    waittext msg
374    wait 7 # The original TEXTWAIT is 250 tics.
375  };
376}
377
378# Secret level 2.
379Finale
380{
381  Before = "MAP32";
382  Script {
383    music "read_m"
384    flat Values:BGFLAT31
385    wait 0.5
386    textdef msg 10 10 "T6TEXT"
387    waittext msg
388    wait 7 # The original TEXTWAIT is 250 tics.
389  };
390}
391