/
BAATOR2A.BAS
2331 lines (2320 loc) · 150 KB
/
BAATOR2A.BAS
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
DECLARE SUB Talking ()
DECLARE SUB Level2Inputs ()
DECLARE SUB Level1Inputs ()
DECLARE SUB OnTheBaatezu ()
DECLARE SUB Fights ()
DECLARE SUB GuideSay ()
DECLARE SUB Avernus ()
DECLARE SUB Dis ()
DECLARE SUB Minauros ()
DECLARE SUB Dead ()
COMMON SHARED Killer2$, RM, Killer, Level, NoShow, Hp, MaxHp, Cornugons, CornuGated, Cornugon1, CornugonHp, Barbazus, BarbGated, BarbazuHp, Abishais, AbishGated, AbishaiHp, Osyluth2, OsyGated, Osyluths, OsyluthHp, HamGated, Hamatulas, HamHp, Hamatula1, ErinyesGated, Erinyes1, ErinyesHp, Rope, East, North, Guide, GuideLeft, ArcFight, ArcReveal, Arcanoloth, ReturnTo940, Mezzoloths, ArcGated, MezzHp, MezzGated, ArcHp, CantRun, A$, FuryMad, Slave, Immune, GoingToDie, FreakWormHole, ThugTalk, LtherCome, Thugs, ThugHp, TalkLther, GuideIncapacitated, FuryBeg, Ruby, Money, Osyluth3, Escaped, PitFiend2, PitFiendHp, LetFree, Mezz1, LtherHere3, FuryLeft, GateOpened, Calling, CabinetOpen, Pool, DoorOpen, Cur, SeenThis, Looked, Cons, Abishai2, Cornugon2, ClosedEyes, Barbazu1, Osyluth1, AbishHit, Book, Chains, Kyton, Page, StyxDead, Crawling, BoatMan, Pass, Break, Sinking, Kyton1, Alley1Seen, Alley2Seen, Alley3Seen, AlleySeen, PitFiend, YetAnotherAlley, PitFiendGated, FuryCome, FuryHp, EvilTwinHp, FuryConfront, Abishai1
COLOR 15
ON ERROR GOTO Err1
CLS
RANDOMIZE TIMER
KEY 10, "fight"
KEY 9, "look"
KEY 8, "regenerate"
KEY 7, "health"
KEY 6, "talk to guide"
KEY 4, "talk to fiend"
RM = 2
CornugonHp = 35
AbishaiHp = 13
BarbazuHp = 20
OsyluthHp = 15
KytonHp = 25
HamHp = 20
FuryHp = 50
PitFiendHp = 90
Level = 1: RM = 2
OPEN "data.baa" FOR INPUT AS #1
GOSUB LoadStuff
GOSUB 5: GOTO 940
1 Time = Time + 1
KEY 5, A$
IF Hp <= 10 THEN PRINT "Your vision is dimmed by blackness, like the inky night about to envelop you.": PRINT "Every second seems like a year, and taking a breath has become a concious": PRINT "effort. You are dying."
IF PitFiend <> 7 THEN PitFiendHp = 90
IF CantRun = 1 THEN
IF Abishais = 0 AND RM = 19 AND Abishai1 = 2 THEN CantRun = 0
IF Cornugons = 0 AND RM = 2 AND Cornugon1 = 2 THEN CantRun = 0
IF SeenThis = 2 AND RM = 6 THEN CantRun = 0
END IF
IF Level = 1 AND (RM = 9 OR RM = 7 OR RM = 4) THEN Healing = Healing + 1
IF Level = 1 AND Guide = 1 AND (RM = 9 OR RM = 7 OR RM = 4) THEN FHealing = FHealing + 1
IF FuryHp <> 50 THEN
FHealing = FHealing + 1
IF FHealing >= 4 THEN FHealing = Healing - 4: FuryHp = FuryHp + 1
END IF
IF Hp <> MaxHp THEN
Healing = Healing + 1
IF Healing >= 4 THEN Healing = Healing - 4: Hp = Hp + 1: PRINT "You feel better."
END IF
Fights
IF Level = 3 THEN
IF RM <> 1 AND RM <> 16 AND RM <> 22 AND RM <> 24 THEN PRINT "Polluted rain washes down on you from the sky, soaking you to the skin."
IF RM = 16 OR RM = 22 OR RM = 24 THEN PRINT "Rain trickles down on you from wet chains above."
IF RM = 1 THEN PRINT "You can hear the tinkle of rain on the roof of the Sinking Bariuar Inn."
IF YetAnotherAlley = 1 AND PitFiend = 3 THEN PRINT "The man in white is here, waiting for you to read the scroll."
IF YetAnotherAlley = 1 AND PitFiend = 2 THEN
PitFiend = 3
PRINT "Out of the shadows steps the man dressed all in white. He greets you, and says,"
PRINT "'I have drawn up a contract for you.' With that, he holds out a scroll before"
PRINT "you, and says to you, 'Read it.'"
END IF
IF PitFiend = 5 THEN PRINT "The man in white is here, waiting for you to sign the contract."
IF PitFiend = 4 THEN
PRINT "'Nice and simple,' says the man in white. 'Now, all you have to do is sign on"
PRINT "the dotted line, and you shall be invincible against the attacks of the fiends"
PRINT "on Baator.' With that, he hands you a pen."
PitFiend = 5
END IF
IF RM = 1 AND PitFiend = 6 THEN PRINT "Fury walks up to you. 'Well, let's continue, shall we?'": Guide = 3: FuryHp = 90
IF RM = 8 OR RM = 9 OR RM = 10 OR RM = 11 THEN
PRINT "Your body sinks deeper into the swamp. Now ";
IF Sinking = 0 THEN PRINT "your ankles have sunk into the": PRINT "swamp."
IF Sinking = 1 THEN PRINT "the swamp has captured your": PRINT "knees."
IF Sinking = 2 THEN PRINT "you are up to your waist in": PRINT "filth and muck."
IF Sinking = 3 THEN PRINT "you are up to your neck in the": PRINT "swamp."
IF Sinking = 4 THEN PRINT "the swamp has totally enveloped": PRINT "you."
IF Sinking >= 5 THEN PRINT "you are beyond all hope of": PRINT "recovery. Your body sinks deep into the swamp, where it is never found.": NoShow = 1: Killer = 12: Dead
Sinking = Sinking + 1
IF Sinking = 5 THEN GOSUB 5
ELSE
Sinking = 0
END IF
END IF
IF Level = 1 THEN
IF RM = 26 THEN
IF StyxDead = 1 THEN PRINT "You are swept away along the River Styx to a place where your fate is best left": PRINT "undescribed.": NoShow = 1: Killer = 5: Dead
Current = Current + 1
Cur = INT(RND * 2) + 1
IF Current = 8 THEN Cur = 0
IF Current = 9 THEN Current = 1
IF Cur = 0 THEN PRINT "The current is strangely still now."
IF Cur = 1 THEN PRINT "The current is pulling you to the east quicker than you can keep up with the": PRINT "flow! If you don't do something, you'll be swept away!": StyxDead = 1
IF Cur = 2 THEN PRINT "The current is pulling you to the west quicker than you can keep up with the": PRINT "flow! If you don't do something, you'll be swept away!": StyxDead = 1
END IF
IF RM = 25 THEN
PRINT "The maggots surround you, biting you, and eating at your living flesh."
Dmg = INT(RND * 8) + 1
Hp = Hp - Dmg
Dmg = INT(RND * 8) + 1
FuryHp = FuryHp - Dmg
IF Hp <= 0 THEN Killer = 4: Killer$ = "the pit of maggots": Dead
END IF
IF SeenThis = 1 AND Abishais = 0 THEN PRINT "The leader of the patrol of abishai asks you again, 'Do you have a pass?'"
FireBall = INT(RND * 20) + 1
IF FireBall = 1 THEN
Dir = INT(RND * 4) + 1
PRINT "A fireball whizzes by, about two hundred feet ";
IF Dir = 1 THEN PRINT "to your left."
IF Dir = 2 THEN PRINT "to your right."
IF Dir = 3 THEN PRINT "behind you."
IF Dir = 4 THEN PRINT "in front of you."
END IF
END IF
IF Guide = 1 THEN
Act = INT(RND * 4) + 1
IF Arcanoloth = 1 AND FuryConfront = 0 THEN
FuryConfront = 1
PRINT "Fury walks up to you. 'Uh, sir, I know you may not trust me now, what with"
PRINT "what L'Ther said to you. I know you may not believe me, but he was lying about"
PRINT "me. Nothing he said about me was true. I don't want you to desert me, and I"
PRINT "don't kill innocent travelers. Nor do I work as a guide just for the money."
PRINT "I'm actually looking for a.... as funny as this may sound... a friend. So, I'm"
PRINT "willing to give you back the ruby if you want it, but please don't send me"
PRINT "away.'"
Choice: PRINT : PRINT "You say:": PRINT
PRINT "1. 'I'm touched. You can stay with me and keep the ruby.'"
PRINT "2. 'I'm touched. You can stay with me. Give me my ruby back.'"
PRINT "3. 'Go away! I don't want to see you again, you cross-trading liar!'"
PRINT "4. 'Let me save my game so I can come back here at a later point.'"
Please: PRINT : INPUT ">", A: PRINT
IF A > 4 OR A < 1 THEN GOTO Please
IF A = 1 THEN PRINT "'Thank you, sir,' says Fury. 'I'm glad that you want to keep me,' he adds."
IF A = 2 THEN PRINT "'Here, sir,' says Fury, handing the ruby back to you. 'We may need it to bribe": PRINT "baatezu officers.'": Ruby = 1
IF A = 3 THEN PRINT "Fury nods his head slowly, and walks off into the rain.": Guide = 2: GuideLeft = 1: GOTO GuidEnd
IF A = 4 THEN PRINT "'Always glad to oblidge,' says Fury.": FuryConfront = 0: GOSUB Save: GOTO Choice
END IF
GOSUB GuideSay2
IF RM = 16 AND Level = 2 AND Break <> 0 THEN Act = 0
IF RM = 26 AND Level = 1 THEN Act = 5
IF Act = 0 THEN PRINT "Fury rattles his chains and moans in misery."
IF Act = 1 THEN PRINT "Fury looks around benignly."
IF Act = 2 THEN PRINT "Fury hums a tune that you are totally unfamiliar with."
IF Act = 3 THEN PRINT "Fury takes out his short sword and swings it around."
IF Act = 4 THEN PRINT "Fury looks up at the sky, and frowns."
IF Act = 5 THEN PRINT "Fury struggles to keep up with the current."
GuidEnd:
END IF
IF Guide = 3 THEN
GOSUB GuideSay2
Act = INT(RND * 4) + 1
IF Act = 1 THEN PRINT "Fury looks around suspiciously, as if someone was watching him."
IF Act = 2 THEN PRINT "Fury takes out a block of wood and begins to whittle at it."
IF Act = 3 THEN PRINT "Fury takes out his short sword and swings it around."
IF Act = 4 THEN PRINT "Fury swivels around, but there's nobody behind him."
END IF
IF Xp >= 50 THEN
Xp = Xp - 50
MaxHp = MaxHp + 5
Hp = Hp + 5
PRINT "You suddenly feel more experienced."
END IF
IF FuryHp <= 0 AND Guide = 1 THEN PRINT "Fury gives out one last scream and falls to the ground of Baator, dead.": Guide = 4: FDeadRm = RM: FDeadLevel = Level
RETURN
5
YetAnotherAlley = 0
IF A$ <> "l" AND A$ <> "look" AND Level = 2 THEN Looked = 0: Cons = 0
IF Level = 1 THEN Avernus
IF Level = 2 THEN Dis
IF Level = 3 THEN Minauros
IF Level >= 4 THEN GOTO Transfer
IF Cornugons > 1 THEN PRINT "There are"; Cornugons; "cornugons here, attacking you!"
IF Cornugons = 1 THEN PRINT "There a cornugon here, attacking you!"
IF Barbazus > 1 THEN PRINT "There are"; Barbazus; "barbazus here, attacking you!"
IF Barbazus = 1 THEN PRINT "There a barbazu here, attacking you!"
IF Abishais > 1 THEN PRINT "There are"; Abishais; "abishai here, attacking you!"
IF Abishais = 1 THEN PRINT "There an abishai here, attacking you!"
IF Osyluths > 1 THEN PRINT "There are"; Osyluths; "osyluth here, attacking you!"
IF Osyluths = 1 THEN PRINT "There an osyluth here, attacking you!"
IF Hamatulas > 1 THEN PRINT "There are"; Hamatulas; "hamatula here, attacking you!"
IF Hamatulas = 1 THEN PRINT "There a hamatula here, attacking you!"
IF PitFiend = 7 THEN PRINT "A pit fiend is here, attacking you!"
IF FDeadRm = RM AND FDeadLevel = Level AND Guide <> 3 THEN PRINT "Fury's dead body is here. You stop to weep a bit for your dead friend."
IF FDeadRm = RM AND FDeadLevel = Level AND Guide = 3 THEN PRINT "The dead body of a human in white is here. He looks a bit like Fury."
RETURN
940 GOSUB 1
941 KEY 5, A$: ReturnTo940 = 0: PRINT : INPUT "Baator>", A$: PRINT
IF A$ = "fight" AND Chains = 1 THEN PRINT "You're a bit tied up right now.": GOTO 940
IF A$ = "break" AND Chains = 1 THEN
PRINT "You break the barbed chain open, causing the chain to fall to the ground and": PRINT "also causing your flesh to rend further."
Hp = Hp - 3
IF Hp <= 0 THEN Killer$ = "a length of chain": Dead
Chains = 0: GOTO 940
END IF
IF A$ = "diagnose" THEN
PRINT "You are immune to poison."
PRINT "You are immune to disease."
PRINT "You heal at an accelerated rate."
PRINT "You are immune to life energy drain and memory loss."
IF Immune = 1 THEN PRINT "The tooth and claws of baatezu in Baator cause you no pain."
PRINT "You can regenerate all of your wounds at will when not in battle."
PRINT "You have"; Hp; "hit points out of"; MaxHp; "maximum."
GOTO 941
END IF
IF A$ = "read book" AND Book = 1 THEN GOTO Book
IF A$ = "talk to guide" AND Guide = 1 THEN GuideSay: GOTO 940
IF A$ = "talk to guide" AND Guide = 3 THEN GuideSay: GOTO 940
IF MID$(A$, 1, 4) = "talk" THEN GOSUB Talk
IF A$ = "regenerate" THEN
IF Hamatulas > 0 OR Hamatula1 = 1 OR Osyluths > 0 OR Osyluth1 = 1 OR Barbazus > 0 OR Barbazu1 = 1 OR Abishai1 = 1 OR Abishais > 0 OR Cornugons > 0 OR Cornugon1 = 1 OR PitFiend = 7 THEN PRINT "Not now! You're in a fight.": GOTO 941
PRINT "You close your eyes and clear your mind. Your wounds begin to heal of their": MaxHp = MaxHp - 1: Hp = MaxHp
PRINT "own accord and in a matter of moments, you are completely healed."
GOTO 940
END IF
IF A$ = "z" THEN PRINT "Time passes....": Healing = Healing + 1: GOTO 940
IF A$ = "" THEN GOTO 940
IF A$ = "room" THEN PRINT RM: GOTO 941
IF A$ = "credits" THEN
PRINT "Baator: You bet your life": PRINT
PRINT " Programmer: Dave King"
PRINT " Designer: Dave King"
PRINT " Note: Most places, characters, and monsters contained in this game are"
PRINT " registered trademarks of TSR, inc and are derived from the adventure,"
PRINT " 'Fires of Dis.'"
PRINT " Note for Idiots: All characters, events, items, small animals, etc, in"
PRINT " this story are ficticious. Any resemblance to any real people, events,"
PRINT " items, small animals, etc. is purely coincedental. If any part of this"
PRINT " game resembles any events in your life, you should start worrying."
PRINT " Shareware note: This game is shareware. If you payed for this game, you"
PRINT " have been peeled by baatezu high-ups that are after your immortal soul."
PRINT " The only chance you have now is to plan a daring raid into the heart of"
PRINT " Baator, recover your jink, and slay a few baatezu high-ups."
PRINT " Game plug: 'The Garden,' on Avernus will be later detailed in a game"
PRINT " affectionatly known as 'Dking's guide to Extraordinary Extraplanar"
PRINT " Sites.'"
GOTO 941
END IF
IF CantRun = 1 AND (A$ = "n" OR A$ = "s" OR A$ = "e" OR A$ = "w" OR A$ = "ne" OR A$ = "nw" OR A$ = "se" OR A$ = "sw" OR A$ = "u" OR A$ = "d") THEN PRINT "Not now.": GOTO 940
IF A$ = "i" THEN GOTO I
IF A$ = "fight" AND Sword = 1 THEN PRINT "You don't have your sword. You can't fight without a sword.": GOTO 941
IF A$ = "look" OR A$ = "l" THEN GOSUB 5: GOTO 941
IF A$ = "save" THEN GOSUB Save: GOTO 941
IF A$ = "load" THEN GOSUB Load: GOSUB 5: GOTO 941
IF MID$(A$, 1, 1) = "q" THEN
INPUT "Do you really want to quit?", Q$: PRINT
IF MID$(Q$, 1, 1) = "y" THEN COLOR 0: END
PRINT "Good! The adventure must go on!": GOTO 941
END IF
IF Level = 1 THEN GOSUB Level1
IF Level = 2 THEN GOSUB Level2
IF Level = 3 THEN
IF PitFiend = 5 AND ((RM = 4 AND A$ = "s") OR (RM = 3 AND A$ = "w") OR (RM = 6 AND A$ = "w") OR A$ = "no") THEN
Leave = Leave + 1
IF Leave = 1 THEN PRINT "The man in white says, 'What's the matter? Don't you like my contract?'": GOTO 940
IF Leave = 2 THEN PRINT "The man in white says, 'Are you GOING to sign?'": GOTO 940
IF Leave >= 3 THEN PRINT "The man in white's eyes flash red. 'Okay, mortal. You will pay for your": PRINT "reluctance!' With that, the man in white's form grows into that of that of a": PRINT "huge gargoyle-like demon. Two massive wings surround his body, and he is": PRINT "shrouded in fire. It grins on you, and attacks!": CantRun = 1: PitFiend = 7: PitFiendGated = 1: GOTO 940
END IF
IF A$ = "enter portal" AND Arcanoloth = 1 AND Sinking = 5 AND RM = 9 THEN PRINT "You pass through the portal, and suddenly you are somwhere else.": Level = 4: RM = 10: GOSUB 5: GOTO 940
IF Kyton = 1 AND ((A$ = "n" AND RM = 14) OR (A$ = "ne" AND RM = 22) OR (A$ = "n" AND (RM = 24 OR RM = 16))) THEN PRINT "The kyton blocks the exit.": GOTO 940
IF A$ = "give pass" AND RM = 7 AND Pass = 1 AND Hamatula1 <> 1 AND Hamatula1 <> 2 THEN PRINT "You hand the pass to the hamatula. He reads it, and hands it back. 'Okay, sod.": PRINT "You can pass here. Have a nice day. Go away. Never bother me again.'": Hamatula1 = 3: GOTO 940
IF A$ = "s" AND RM = 7 AND Hamatula1 < 2 AND Guide <> 1 AND Guide <> 3 THEN PRINT "A hamatula guards the exit.": GOTO 940
IF A$ = "s" AND Guide = 2 AND RM = 7 AND PitFiend = 6 THEN PitFiend = 8: PRINT "Suddenly, next to you appears Fury. 'Hey, I guess that you're skipping out on": PRINT "that deal, huh?' You nod.": Guide = 3: FuryHp = 90: GOTO 940
IF (A$ = "s" AND RM = 9) OR (A$ = "se" AND RM = 8) OR (A$ = "n" AND RM = 10) THEN PRINT "You pull yourself out of the swamp."
IF (A$ = "s" AND RM = 7) OR (RM = 12 AND (A$ = "n" OR A$ = "nw")) THEN
PRINT "You plunge into the swamp. ";
IF SaidThis = 1 THEN PRINT ""
IF SaidThis = 0 THEN SaidThis = 1: PRINT "On a stupidy scale, this one ranks right up there": PRINT "with running into the Viper Forest of Azzagrat."
END IF
IF A$ = "u" AND (RM = 8 OR RM = 9 OR RM = 10 OR RM = 11) THEN
IF Sinking = 5 THEN PRINT "You struggle to stay above the swamp. You pull yourself up high enough so that": PRINT "your upper body is no longer covered by the swamp.": Sinking = 3: GOSUB 5: GOTO 940
END IF
IF MID$(A$, 1, 4) = "talk" AND RM = 1 THEN
IF PitFiend = 0 THEN
IF Guide = 0 THEN
PRINT "You walk up to the man in white. 'Hello,' he says to you. 'I'm Fury. I can"
PRINT "bestow upon you vast riches and power for a small price. In fact, I'm so nice"
PRINT "that I'll give you vast power. I will make it so that you will be invincible"
PRINT "in battle. So, what do you say? The deal will be nice and safe, with no hazard"
PRINT "to you or your person.'"
PitFiend = 1: GOTO 940
END IF
IF Guide = 1 THEN
PRINT "You walk up to the man in white. 'Hello,' he says to you. 'I hear that you"
PRINT "are the Elf. However, unlike some people, I don't want to kill you for your"
PRINT "crimes. In fact, I'm quite happy that you killed Zaebos. I'd like to repay"
PRINT "you, if possible. I can make you invincible in battle. So, what do you say?'"
PitFiend = 1: GOTO 940
END IF
ELSE
IF PitFiend = 1 THEN PRINT "'Well,' says the man in white, 'Have you reached a decision?'": GOTO 940
END IF
END IF
IF A$ = "fight" AND (RM = 14 OR RM = 15 OR RM = 19 OR RM = 21) AND Kyton = 0 THEN Kyton = 1: PRINT "The kyton leaps to the attack!": Kyton = 1: GOTO FightKyton
IF A$ = "fight" AND Arcanoloth = 0 AND RM = 23 THEN PRINT "The man in grey laughs at you, and vanishes. Suddenly, a kyton appears behind": PRINT "you. It smiles, and attacks!": Kyton = 1: Arcanoloth = 1: GOTO 940
IF MID$(A$, 1, 4) = "read" AND PitFiend = 3 OR PitFiend = 4 THEN
PRINT "A Contract of Power:": PRINT
PRINT "The party of the first part, hereby known as the grantor, shall hereby give the"
PRINT "party of the second part, hereby known as the grantee what the grantee desired"
PRINT "at the time of the contract's signature. The teeth and claws of the baatezu in"
PRINT "Baator shall cause the grantee no pain at all."
PRINT "Payment for this contract shall be as follows: the grantee shall relinquish all"
PRINT "rights that the grantee ever had on one pint of blood from the grantee. The"
PRINT "blood shall be bestowed on the grantor with all rights and legal ownership that"
PRINT "was given to the grantee over the grantee's pint of blood."
PRINT : PRINT
PRINT "Signed: _________________________________": PRINT : PRINT
IF PitFiend = 3 THEN PitFiend = 4
GOTO 940
END IF
IF A$ = "fight" AND PitFiend = 7 THEN GOTO FightPitFiend
IF MID$(A$, 1, 4) = "sign" AND PitFiend = 5 THEN
PRINT "You lift up the pen, and sign, 'The Elf,' onto the dotted line. With that, the"
PRINT "man in white snaps up the scroll and pen from you. 'Done!' he shouts gleefully."
PRINT "With that, he says, 'Now, let the terms of the contract be fufilled!' You"
PRINT "suddenly feel tougher. Then he says, 'And now for my part of the deal.' With"
PRINT "that, one of his fingers cuts open a vein on your arm. The blood pours out of"
PRINT "your arm, into a vial that he holds nearby. When the vial is filled, he snaps"
PRINT "his fingers. Your arm is healed."
IF Guide = 2 THEN PRINT "The man in white says, 'Oh, and by the way, your guide is waiting for you back": PRINT "at the Sinking Bariaur Inn.' ";
PRINT "With that, he vanishes."
FDeadLevel = 9: EvilTwinHp = EvilTwinHp + 50: Immune = 1: PitFiend = 6: GOTO 940
END IF
IF ((RM = 4 AND MID$(A$, 1, 1) = "s") OR (RM <> 4 AND MID$(A$, 1, 1) = "w")) AND PitFiend = 3 THEN PRINT "The man in white says, 'Wait. Read the contract first.'": GOTO 940
IF A$ = "fight" AND RM = 7 AND Hamatula1 <> 2 THEN GOTO FightHam
IF A$ = "no" AND RM = 1 AND PitFiend = 1 THEN
PRINT "The man in white raises his eyebrow. 'Really?' he says. 'I'm sure that a"
PRINT "cutter like you could use the help. But if you change your mind, then by all"
PRINT "means let me know. You'll need help if you'll be wanting to storm Nessus again."
PRINT "While most lower fiends won't believe your stories, the gelugons and pit fiends"
PRINT "of Cania and Nessus will remember you.'": GOTO 940
END IF
IF MID$(A$, 1, 1) = "y" AND RM = 1 AND PitFiend = 1 THEN
IF Guide = 0 THEN
PRINT "'Good. I'll get a contract drawn up. I'll meet you in a place you'll know as"
PRINT "'Yet Another Sinking Alley.' I'll have the deal drawn up - all nice and legal."
PRINT "The man in white gets up and walks out of the inn."
PitFiend = 2: GOTO 940
END IF
IF Guide = 1 THEN
PRINT "'Just let me work things out with your guide here,' says the man in white. "
PRINT "We'll meet you in a place you'll know as, 'Yet Another Sinking Alley.' I'll"
PRINT "have the deal all drawn up - nice and legal. The man in white starts talking"
PRINT "with Fury."
Guide = 2: PitFiend = 2: GOTO 940
END IF
END IF
IF A$ = "s" AND RM = 12 THEN RM = 14: GOSUB 5: GOTO 940
IF A$ = "n" AND RM = 14 THEN RM = 12: GOSUB 5: GOTO 940
IF A$ = "n" AND RM >= 5 AND RM <> 6 AND RM <> 8 AND RM <> 9 AND RM <> 13 AND RM <> 14 AND RM <> 15 AND RM <> 19 AND RM <> 20 AND RM <> 22 THEN RM = RM - 3: GOSUB 5: GOTO 940
IF A$ = "s" AND RM <> 1 AND RM <> 3 AND RM <> 5 AND RM <> 6 AND RM <> 10 AND RM <> 11 AND RM <> 12 AND RM <> 16 AND RM <> 17 AND RM <> 19 AND RM <= 21 THEN RM = RM + 3: GOSUB 5: GOTO 940
IF A$ = "e" AND RM <> 3 AND RM <> 4 AND RM <> 6 AND RM <> 7 AND RM <> 8 AND RM <> 9 AND RM <> 11 AND RM <> 12 AND RM <> 14 AND RM <> 15 AND RM <> 16 AND RM <> 17 AND RM <> 18 AND RM <= 19 THEN RM = RM + 1: GOSUB 5: GOTO 940
IF A$ = "w" AND RM <> 1 AND RM <> 4 AND RM <> 5 AND RM <> 7 AND RM <> 8 AND RM <> 9 AND RM <> 10 AND RM <> 12 AND RM <> 13 AND RM <> 15 AND RM <> 16 AND RM <> 17 AND RM <> 18 AND RM <> 19 AND RM <= 20 THEN RM = RM - 1: GOSUB 5: GOTO 940
IF A$ = "ne" AND (RM = 7 OR RM = 11 OR RM = 17 OR RM = 19 OR RM = 20 OR RM = 22 OR RM = 23) THEN RM = RM - 2: GOSUB 5: GOTO 940
IF A$ = "sw" AND (RM = 9 OR RM = 5 OR RM = 15 OR RM = 17 OR RM = 18 OR RM = 20 OR RM = 21) THEN RM = RM + 2: GOSUB 5: GOTO 940
IF A$ = "nw" AND (RM = 12 OR RM = 17 OR RM = 18 OR RM = 23 OR RM = 21) THEN RM = RM - 4: GOSUB 5: GOTO 940
IF A$ = "se" AND (RM = 8 OR RM = 13 OR RM = 14 OR RM = 17 OR RM = 19) THEN RM = RM + 4: GOSUB 5: GOTO 940
END IF
IF A$ = "fight" AND Osyluths > 0 THEN GOTO FightOsyluth
IF A$ = "fight" AND Hamatulas > 0 THEN GOTO FightHam
IF A$ = "fight" AND Cornugons > 0 THEN GOTO FightCornugon
IF A$ = "fight" AND Abishais > 0 THEN GOTO FightAbishai
IF A$ = "fight" AND Barbazus > 0 THEN GOTO FightBarbazu
IF A$ = "fight" AND Kyton = 1 THEN GOTO FightKyton
IF A$ = "health" THEN
PRINT "You have"; Hp; "hit points remaining out of"; MaxHp; "maximum."
IF Guide = 1 THEN PRINT "Fury has"; FuryHp; "hit points remaining out of 50 maximum."
IF Guide = 3 AND FuryHp <= 50 THEN PRINT "Fury has"; FuryHp; "hit points remaining out of 50 maximum."
IF Guide = 3 AND FuryHp >= 51 THEN PRINT "Fury has 50 hit points remaining out of 50 maximum."
GOTO 941
END IF
IF A$ = "n" OR A$ = "s" OR A$ = "e" OR A$ = "w" OR A$ = "ne" OR A$ = "nw" OR A$ = "se" OR A$ = "sw" OR A$ = "u" OR A$ = "d" THEN PRINT "You can't go in that direction.": GOTO 940
PRINT "You can't do that.": GOTO 940
I: PRINT "You have:": PRINT
IF Money = 1 THEN PRINT " A sack of money."
PRINT " The official badge of the Athar."
IF Pass = 1 THEN PRINT " An offical-looking pass to Baator."
IF Ruby = 1 THEN PRINT " A large ruby, about the size of your fist."
IF Book = 1 THEN PRINT " A thin black book entitled, 'On the Baatezu.'"
PRINT " An iron cube, actually a shrunk cube of Acheron."
IF Sword = 0 THEN PRINT " A blood-stained sword, stained red with the blood of countless fiends."
PRINT : GOTO 941
FightKyton:
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "You swing out at the kyton with your sword, but you miss it! It's chains jingle": PRINT "as it presses forward!"
IF Hit = 2 THEN
Dmg = INT(RND * 8) + 4
KytonHp = KytonHp - Dmg
PRINT "You swing out at the kyton with your blood-stained sword, and you hit it!"
PRINT "You can hear the jingling of chains from it as it falls back and then moves"
PRINT "forward again!"
IF KytonHp <= 0 THEN
BEEP
PRINT "The kyton falls back in pain as its body hits the floor of Baator and seemingly"
PRINT "evaporates into thin air.": KytonHp = 25
Kyton = 0
CantRun = 0
Xp = Xp + 20
END IF
END IF
GOTO 940
FightPitFiend:
CantRun = 1
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "You swing out at the pit fiend with your sword, but you miss it! It laughs at": PRINT "you mockingly!"
IF Hit = 2 THEN
Dmg = INT(RND * 8) + 4
PitFiendHp = PitFiendHp - Dmg
PRINT "You slash out at the pit fiend with your sword, and your sword connects! The"
PRINT "pit fiend howls out in rage!"
IF PitFiendHp <= 0 THEN
BEEP
PRINT "The pit fiend falls back in pain as its body hits the floor of Baator and"
PRINT "explodes in a huge fiery blast in every direction.": PitFiendHp = 90
PitFiend = 8
PitFiendGated = 0
CantRun = 0
Xp = Xp + 50
IF FuryCome = 6 THEN FuryCome = 0: PRINT "Fury sheathes his sword. 'Good thing I showed up when I did, huh?'": Guide = 1
END IF
END IF
GOTO 940
FightOsyluth:
CantRun = 1
IF Level = 2 AND RM = 10 AND Osyluths = 0 AND Osyluth1 = 0 THEN Osyluth1 = 1
IF Level = 3 AND RM = 1 AND Osyluths = 0 AND Osyluth2 = 0 THEN Osyluth2 = 1
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "You swing out at the osyluth with your sword, but you miss it!"
IF Hit = 2 THEN
Dmg = INT(RND * 8) + 4
OsyluthHp = OsyluthHp - Dmg
PRINT "You swing out at the osyluth with your blood-stained sword, and you hit it!"
PRINT "It screams out in pain as it recoils from your hit!"
IF OsyluthHp <= 0 THEN
BEEP
PRINT "The osyluth falls back in pain as its body hits the floor of Baator and"
PRINT "explodes in a harmless ball of fire.": OsyluthHp = 15
CantRun = 0
IF Osyluth1 = 1 AND Level = 2 THEN Osyluth1 = 2: GOTO PastThis4
IF Osyluth2 = 1 AND Level = 3 THEN Osyluth2 = 2: GOTO PastThis4
IF Osyluths > 0 THEN Osyluths = Osyluths - 1
PastThis4:
OsyGated = 0: Xp = Xp + 10
IF Level = 2 THEN PRINT "Suddenly, two osyluths appear behind you. 'Okay, sod. You're most definitely": PRINT "under arrest for the slaying of a law enforcement official. Come with us.'": PRINT "They grab you, and in moments, you are somewhere else.": Osyluths = 0: RM = 16: Break = 3: GOSUB 5: GOTO 940
END IF
END IF
GOTO 940
FightAbishai:
CantRun = 1
IF Level = 1 AND RM = 19 AND Abishais = 0 AND Abishai1 = 0 THEN Abishai1 = 1
IF Level = 2 AND RM = 1 AND Abishais = 0 AND Abishai2 = 0 THEN Abishai2 = 1
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "You swing out at the red abishai with your sword, but you miss it!"
IF Hit = 2 THEN
Dmg = INT(RND * 8) + 4
AbishaiHp = AbishaiHp - Dmg
PRINT "You swing out at the abishai with your blood-stained sword, and you hit it!"
PRINT "It screams out in pain as it recoils from your hit!"
IF AbishaiHp <= 0 THEN
BEEP
PRINT "The abishai falls back in pain as its body hits the floor of Baator and"
PRINT "explodes in a harmless ball of fire.": AbishaiHp = 13
CantRun = 0
IF SeenThis = 1 THEN SeenThis = 2
IF Abishai1 = 1 AND Level = 1 THEN Abishai1 = 2: GOTO PastThis
IF Abishai2 = 1 AND Level = 2 THEN Abishai2 = 2: GOTO PastThis
IF Abishais > 0 THEN Abishais = Abishais - 1
PastThis:
AbishGated = 0: Xp = Xp + 5:
END IF
END IF
GOTO 940
FightBarbazu:
CantRun = 1
IF Level = 2 AND RM = 11 THEN
IF Barbazu1 = 0 THEN Barbazu1 = 1
IF Barbazu1 = 3 THEN Barbazu1 = 1
END IF
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "You swing out at the barbazu with your sword, but you miss it!"
IF Hit = 2 THEN
Dmg = INT(RND * 8) + 4
BarbazuHp = BarbazuHp - Dmg
PRINT "You swing out at the barbazu with your blood-stained sword, and you hit it!"
PRINT "It screams out in pain as it recoils from your hit!"
IF BarbazuHp <= 0 THEN
BEEP
PRINT "The barbazu falls back in pain as its body hits the floor of Baator and"
PRINT "explodes in a harmless ball of fire.": BarbazuHp = 20
CantRun = 0
IF Level = 2 AND Barbazu1 = 1 THEN Barbazu1 = 2: GOTO PastThis6
IF Barbazus > 0 THEN Barbazus = Barbazus - 1
PastThis6:
BarbGated = 0: Xp = Xp + 15
END IF
END IF
GOTO 940
FightCornugon:
CantRun = 1
IF Level = 1 AND RM = 2 THEN
IF Cornugon1 = 0 THEN Cornugon1 = 1
IF Cornugon1 = 3 THEN Cornugon1 = 1
END IF
IF Level = 2 AND RM = 2 THEN
IF Cornugon2 = 0 THEN Cornugon2 = 1
IF Cornugon2 = 3 THEN Cornugon2 = 1
END IF
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "You swing out at the cornugon with your sword, but you miss it!"
IF Hit = 2 THEN
Dmg = INT(RND * 8) + 4
CornugonHp = CornugonHp - Dmg
PRINT "You swing out at the cornugon with your blood-stained sword, and you hit it!"
PRINT "It screams out in pain as it recoils from your hit!"
IF CornugonHp <= 0 THEN
BEEP
PRINT "The cornugon falls back in pain as its body hits the floor of Baator and"
PRINT "explodes in a harmless ball of fire.": CornugonHp = 25
CantRun = 0
IF Level = 1 AND Cornugon1 = 1 THEN Cornugon1 = 2: GOTO PastThis2
IF Level = 2 AND Cornugon2 = 1 THEN Cornugon2 = 2: GOTO PastThis2
IF Cornugons > 0 THEN Cornugons = Cornugons - 1
PastThis2:
CornuGated = 0: Xp = Xp + 20
END IF
END IF
GOTO 940
FightHam:
CantRun = 1
IF Level = 3 AND RM = 7 THEN
IF Hamatula1 = 0 THEN Hamatula1 = 1
IF Hamatula1 = 3 THEN Hamatula1 = 1
END IF
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "You swing out at the hamatula with your sword, but you miss it!"
IF Hit = 2 THEN
Dmg = INT(RND * 8) + 4
HamHp = HamHp - Dmg
PRINT "You swing out at the hamatula with your blood-stained sword, and you hit it!"
PRINT "It screams out in pain as it recoils from your hit!"
IF HamHp <= 0 THEN
BEEP
PRINT "The hamatula falls back in pain as its body hits the floor of Baator and"
PRINT "explodes in a harmless ball of fire.": HamHp = 20
CantRun = 0
HamGated = 0: Xp = Xp + 20
IF Level = 3 AND RM = 7 AND Hamatula1 = 1 THEN Hamatula1 = 2: GOTO PastThis3
IF Hamatulas > 0 THEN Hamatulas = Hamatulas - 1
PastThis3:
END IF
END IF
GOTO 940
Err1: PRINT "Save/Load file error.": CLOSE #1: GOTO 940
Talk: Talking
IF ReturnTo940 = 1 THEN GOTO 940
IF ReturnTo940 = 2 THEN GOSUB 5: GOTO 940
RETURN
Level1: Level1Inputs
IF ReturnTo940 = 1 THEN GOTO 940
IF ReturnTo940 = 2 THEN GOSUB 5: GOTO 940
IF ReturnTo940 = 3 THEN GOTO FightCornugon
IF ReturnTo940 = 4 THEN GOTO FightAbishai
RETURN
Level2: Level2Inputs
IF ReturnTo940 = 1 THEN GOTO 940
IF ReturnTo940 = 2 THEN GOSUB 5: GOTO 940
IF ReturnTo940 = 3 THEN GOTO FightCornugon
IF ReturnTo940 = 4 THEN GOTO FightAbishai
IF ReturnTo940 = 5 THEN GOTO FightOsyluth
IF ReturnTo940 = 6 THEN GOTO FightBarbazu
RETURN
Save: INPUT "Enter filename:", N$
IF N$ = "" THEN N$ = "The_Elf"
SAV$ = N$ + ".bts"
OPEN SAV$ FOR OUTPUT AS #1
SaveStuff:
PRINT #1, Hp: PRINT #1, MaxHp: PRINT #1, Xp: PRINT #1, RM: PRINT #1, Level: PRINT #1, Time: PRINT #1, Sword: PRINT #1, Guide: PRINT #1, Cornugon1: PRINT #1, CornugonHp: PRINT #1, Crawling: PRINT #1, CornuGated: PRINT #1, Cornugons: PRINT #1, Ruby: PRINT #1, CabinetOpen: PRINT #1, Pass: PRINT #1, AbishGated: PRINT #1, Abishais: PRINT #1, AbishaiHp: PRINT #1, Abishai1: PRINT #1, Pool
PRINT #1, Money: PRINT #1, DoorOpen: PRINT #1, CantRun: PRINT #1, BoatMan: PRINT #1, Cur: PRINT #1, Current: PRINT #1, StyxDead: PRINT #1, Abishai2: PRINT #1, Cons: PRINT #1, Looked: PRINT #1, Cornugon2: PRINT #1, OsyGated: PRINT #1, Osyluths: PRINT #1, OsyluthHp: PRINT #1, Osyluth1: PRINT #1, BarbGated: PRINT #1, Barbazus: PRINT #1, BarbazuHp: PRINT #1, Barbazu1: PRINT #1, HamGated: PRINT #1, Hamatulas: PRINT #1, HamHp: PRINT #1, Hamatula1: PRINT #1, Break: PRINT #1, Book: PRINT #1, Page: PRINT #1, Kyton: PRINT #1, KytonHp: PRINT #1, Alley1Seen: PRINT #1, Alley2Seen: PRINT #1, Alley3Seen: PRINT #1, AlleySeen: PRINT #1, PitFiend: PRINT #1, Immune: PRINT #1, PitFiendHp: PRINT #1, PitFiendGated: PRINT #1, FuryCome: PRINT #1, FuryHp: PRINT #1, FDeadRm: PRINT #1, FDeadLevel: PRINT #1, SaidThis: PRINT #1, Sinking: PRINT #1, Arcanoloth: PRINT #1, EvilTwinHp: PRINT #1, FuryConfront: PRINT #1, GuideLeft: PRINT #1, Leave: PRINT #1, Rope: PRINT #1, North: PRINT #1, East: PRINT #1, ArcFight: PRINT #1, ArcReveal
PRINT #1, Slave: PRINT #1, SaidThis2: PRINT #1, Prison: PRINT #1, Torture: PRINT #1, GoingToDie: PRINT #1, FreakWormHole: PRINT #1, FuryMad: PRINT #1, ThugTalk: PRINT #1, LtherCome: PRINT #1, GuideIncapacitated: PRINT #1, TalkLther: PRINT #1, FuryBeg: PRINT #1, Osyluth3: PRINT #1, Osyluth2: PRINT #1, Escaped: PRINT #1, PitFiend2: PRINT #1, PitFiendHit: PRINT #1, PitFiendGated: PRINT #1, LetFree: PRINT #1, Mezz1: PRINT #1, LtherHere3: PRINT #1, FurySaidThisThing: PRINT #1, FurCome: PRINT #1, Warned: PRINT #1, Warned2: PRINT #1, GateOpened: PRINT #1, Bould: PRINT #1, Calling: PRINT #1, ResistanceOpen: PRINT #1, RebelsKnow: PRINT #1, Mezzoloths: PRINT #1, OsyGuard: PRINT #1, PitFiendLord: PRINT #1, OsyGateGuard: PRINT #1, InLeague: PRINT #1, PalaceGuard
PRINT #1, CellDoor1Opened: PRINT #1, CellDoor2Opened: PRINT #1, CellDoor3Opened: PRINT #1, Stuff: PRINT #1, InWater: PRINT #1, Breath: PRINT #1, Gelugons: PRINT #1, GeluHp: PRINT #1, GeluGated: PRINT #1, Key1: PRINT #1, PastGelugons: PRINT #1, GuideSwitch: PRINT #1, Come: PRINT #1, GuideFound: PRINT #1, PitFiendReveal: PRINT #1, EvilTwinDead: PRINT #1, FuryCellNessus: PRINT #1, YourCellNessus: PRINT #1, InMaze: PRINT #1, Annoy: PRINT #1, EvilTwinAttack: PRINT #1, GuideAttack: PRINT #1, FightBaalzephon: PRINT #1, BaalHp: PRINT #1, EvilGuideHp
CLOSE #1: RETURN
Load: INPUT "Enter filename:", N$
IF N$ = "" THEN GOTO 940
SAV$ = N$ + ".bts"
OPEN SAV$ FOR INPUT AS #1
LoadStuff:
INPUT #1, Hp: INPUT #1, MaxHp: INPUT #1, Xp: INPUT #1, RM: INPUT #1, Level: INPUT #1, Time: INPUT #1, Sword: INPUT #1, Guide: INPUT #1, Cornugon1: INPUT #1, CornugonHp: INPUT #1, Crawling: INPUT #1, CornuGated: INPUT #1, Cornugons: INPUT #1, Ruby: INPUT #1, CabinetOpen: INPUT #1, Pass: INPUT #1, AbishGated: INPUT #1, Abishais: INPUT #1, AbishaiHp: INPUT #1, Abishai1: INPUT #1, Pool
INPUT #1, Money: INPUT #1, DoorOpen: INPUT #1, CantRun: INPUT #1, BoatMan: INPUT #1, Cur: INPUT #1, Current: INPUT #1, StyxDead: INPUT #1, Abishai2: INPUT #1, Cons: INPUT #1, Looked: INPUT #1, Cornugon2: INPUT #1, OsyGated: INPUT #1, Osyluths: INPUT #1, OsyluthHp: INPUT #1, Osyluth1: INPUT #1, BarbGated: INPUT #1, Barbazus: INPUT #1, BarbazuHp: INPUT #1, Barbazu1: INPUT #1, HamGated: INPUT #1, Hamatulas: INPUT #1, HamHp: INPUT #1, Hamatula1: INPUT #1, Break: INPUT #1, Book: INPUT #1, Page: INPUT #1, Kyton: INPUT #1, KytonHp: INPUT #1, Alley1Seen: INPUT #1, Alley2Seen: INPUT #1, Alley3Seen: INPUT #1, AlleySeen: INPUT #1, PitFiend: INPUT #1, Immune: INPUT #1, PitFiendHp: INPUT #1, PitFiendGated: INPUT #1, FuryCome: INPUT #1, FuryHp: INPUT #1, FDeadRm: INPUT #1, FDeadLevel: INPUT #1, SaidThis: INPUT #1, Sinking: INPUT #1, Arcanoloth: INPUT #1, EvilTwinHp: INPUT #1, FuryConfront: INPUT #1, GuideLeft: INPUT #1, Leave: INPUT #1, Rope: INPUT #1, North: INPUT #1, East: INPUT #1, ArcFight: INPUT #1, ArcReveal
INPUT #1, Slave: INPUT #1, SaidThis2: INPUT #1, Prison: INPUT #1, Torture: INPUT #1, GoingToDie: INPUT #1, FreakWormHole: INPUT #1, FuryMad: INPUT #1, ThugTalk: INPUT #1, LtherCome: INPUT #1, GuideIncapacitated: INPUT #1, TalkLther: INPUT #1, FuryBeg: INPUT #1, Osyluth3: INPUT #1, Osyluth2: INPUT #1, Escaped: INPUT #1, PitFiend2: INPUT #1, PitFiendHit: INPUT #1, PitFiendGated: INPUT #1, LetFree: INPUT #1, Mezz1: INPUT #1, LtherHere3: INPUT #1, FurySaidThisThing: INPUT #1, FurCome: INPUT #1, Warned: INPUT #1, Warned2: INPUT #1, GateOpened: INPUT #1, Bould: INPUT #1, Calling: INPUT #1, ResistanceOpen: INPUT #1, RebelsKnow: INPUT #1, Mezzoloths: INPUT #1, OsyGuard: INPUT #1, PitFiendLord: INPUT #1, OsyGateGuard: INPUT #1, InLeague: INPUT #1, PalaceGuard
INPUT #1, CellDoor1Opened: INPUT #1, CellDoor2Opened: INPUT #1, CellDoor3Opened: INPUT #1, Stuff: INPUT #1, InWater: INPUT #1, Breath: INPUT #1, Gelugons: INPUT #1, GeluHp: INPUT #1, GeluGated: INPUT #1, Key1: INPUT #1, PastGelugons: INPUT #1, GuideSwitch: INPUT #1, Come: INPUT #1, GuideFound: INPUT #1, PitFiendReveal: INPUT #1, EvilTwinDead: INPUT #1, FuryCellNessus: INPUT #1, YourCellNessus: INPUT #1, InMaze: INPUT #1, Annoy: INPUT #1, EvilTwinAttack: INPUT #1, GuideAttack: INPUT #1, FightBaalzephon: INPUT #1, BaalHp: INPUT #1, EvilGuideHp
CLOSE #1: RETURN
Book: OnTheBaatezu: GOTO 940
GuideSay2:
IF Level = 1 THEN
IF SaidThis1 = 0 AND RM = 2 AND Cornugon1 <> 2 THEN PRINT "Fury points at the cornugon. 'That's a cornugon. He's guarding Darkspine here.": PRINT "Since I'm with you, he won't ask any questions, and he'll let you by.'": SaidThis1 = 1: RETURN
IF SaidThis2 = 0 AND RM = 12 THEN PRINT "Fury points north. 'That's the Garden, to the north. It's a peaceful place,": PRINT "with no fiends or anything. It's actually a right peaceful place. Wonderful": PRINT "place to relax and just have a good time.'": SaidThis2 = 1: RETURN
IF SaidThis3 = 0 AND RM = 8 THEN PRINT "Fury says, 'To the west is the lake of the Garden, while the main settlements": PRINT "of the Garden are to the north.'": SaidThis3 = 1: RETURN
IF SaidThis4 = 0 AND RM = 19 THEN PRINT "Fury says, 'Okay. We'll have to get across the maggot pit to get to Dis, the": PRINT "second level. An abishai will fly us across - for a price. Hope you have jink.": PRINT "If not, you can always try to kill the abishai and wade through the Maggot": PRINT "pit by yourself.'": SaidThis4 = 1: RETURN
IF SaidThis5 = 0 AND (RM = 13 OR RM = 17) THEN PRINT "Fury points at the boatman. 'That's a marraenoloth. He'll ferry you across": PRINT "the river - for the right amount of jink, of course. Usually a sack full of": PRINT "money will buy them. They're really the only way across, unless you're a": PRINT "sodding idiot and want to swim the Styx.'": SaidThis5 = 1: RETURN
IF SaidThis6 = 0 AND (RM = 24 OR RM = 23) THEN PRINT "Fury says, 'The caverns to the east and west house Tiamat's consorts. Don't": PRINT "go into them. Most likely, you won't be able to enter them anyway.'": SaidThis6 = 1: RETURN
IF SaidThis7 = 0 AND RM = 9 THEN PRINT "Fury gestures to the pillar of skulls. 'That's the pillar of skulls. Ignore": PRINT "it.'": SaidThis7 = 1: RETURN
END IF
IF Level = 2 THEN
IF SaidThis8 = 0 AND RM = 1 AND Abishai2 <> 2 THEN PRINT "Fury points at the abishai. 'That's an abishai. It guards the gate from": PRINT "Avernus. You'll need to get past him. With me here, you won't have any": PRINT "problems. If I weren't here, you could most likely bribe him or kill him.'": SaidThis8 = 1: RETURN
IF SaidThis9 = 0 AND RM = 2 AND Cornugon2 <> 2 THEN PRINT "Fury points at the cornugon. 'That's a cornugon. It guards the entrance to the": PRINT "city of Dis. There's a layer named Dis and a city named Dis. However, they're": PRINT "basically one and the same.'": SaidThis9 = 1: RETURN
IF SaidThis10 = 0 AND (RM = 7 OR RM = 8 OR RM = 9 OR RM = 10 OR RM = 12 OR RM = 13 OR RM = 14 OR RM = 15) THEN PRINT "Fury points at the tower. 'That's the tower of Dispater. The gate to Minauros,": PRINT "the next layer of Baator lies within it. You'll need to make it to the tower": PRINT "before you can do anything. Usually, this will involve closing your eyes and": PRINT "walking towards it. The tower is under powerful magic that tries to convince": PRINT "your brain that it isn't really there. Just close your eye and walk towards it;": PRINT "you'll make it.'": SaidThis10 = 1: RETURN
IF SaidThis11 = 0 AND RM = 11 AND Barbazu1 <> 2 THEN PRINT "'Well, this is it,' says Fury. 'This is a barbazu,' he says, pointing to the": PRINT "barbazu. 'Now, don't provoke him. All he wants is a fight.'": SaidThis11 = 1: RETURN
END IF
IF Level = 3 THEN
IF Guide = 1 AND SaidThis12 = 0 AND Kyton = 0 AND (RM = 15 OR RM = 19 OR RM = 21) THEN PRINT "Fury points at the man in chains. 'That's one of the silent defenders of": PRINT "Jangling Hiter, a kyton. Don't cross them; they're a real terror in battle.'": SaidThis12 = 1: RETURN
IF Guide = 3 AND SaidThis12 = 0 AND Kyton = 0 AND (RM = 15 OR RM = 19 OR RM = 21) THEN PRINT "Fury points at the man in chains. 'That's one of the silent defenders of": PRINT "Jangling Hiter, a kyton. They're pretty easy to beat in combat - I really": PRINT "don't see why peopele call them powerful.'": SaidThis12 = 1: RETURN
IF SaidThis13 = 0 AND Hamatula1 <> 2 AND Hamatula1 <> 1 AND RM = 7 THEN PRINT "Fury points at the hamatula. 'That's a hamatula. They guard and patrol the": PRINT "third and fourth layers of Baator.'": SaidThis13 = 1: RETURN
IF Guide = 1 AND SaidThis14 = 0 AND (RM = 2 OR RM = 5) THEN PRINT "Fury says, 'We're in Minauros, the sinking city. It's the main city on this": PRINT "layer, and it's slowly sinking into the swamp. Or so the fiends think. Myself,": PRINT "I don't think it will ever completely sink into the swamp.'": SaidThis14 = 1: RETURN
IF Guide = 3 AND SaidThis14 = 0 AND (RM = 2 OR RM = 5) THEN PRINT "Fury says, 'We're in Minauros, the sinking city. It's the main city on this": PRINT "layer, and it's slowly sinking into the swamp. Or so the fiends think. Myself,": PRINT "I think that the city's about to completely sink into the swamp.'": SaidThis14 = 1: RETURN
IF Guide = 1 AND SaidThis15 = 0 AND Arcanoloth = 0 AND RM = 23 THEN PRINT "Fury groans. 'Oh no. Look, that's L'Ther, a berk I was paid to escort through": PRINT "Baator. We made it through the gate to Dis, and that's when he skipped off. He": PRINT "vanished, and then he returned later - with a group of hirelings he had gotten": PRINT "to kill me. I barely escaped their blades alive, but before I escape I pushed": PRINT "L'Ther into the swamp. And he's still alive. Stay away from him. He deals": PRINT "in intelligence, and he's usually right, but he's downright evil.'": SaidThis15 = 1: RETURN
IF SaidThis17 = 0 AND (RM = 14 OR RM = 12) THEN PRINT "'Ah, Jangling Hiter, city of chains. There are no weak links here. The city's": PRINT "connected to the sky by the chains attached to the city. The city's basically": PRINT "run by humanoids wrapped in chains - the kytons. Though the city's legally run": PRINT "by a hamatula, everyone knows he's only a puppet of the kytons.'": SaidThis17 = 1: RETURN
END IF
RETURN
Transfer:
OPEN "data.baa" FOR OUTPUT AS #1
GOSUB SaveStuff
IF Level >= 4 AND Level <= 6 THEN RUN "baator2b.bas"
IF Level >= 7 THEN RUN "baator2c.bas"
SUB Avernus
ON RM GOTO RuinedInn, RuinedStreet, RuinedAlley, Village, SchemingBariaurInn, BlastedPlain, NearLake, WillowTrees, PillarOfSkulls, RuinedStreets, RuinedStreets, NearGarden, NearRiver, NearRiver, BlastedPlain, BlastedPlain, NearRiver, NearRiver, WMaggotPit, EMaggotPit, Tunnel, IronDoor, Cavern, Cavern, MaggotPit, RiverStyx
GOTO EndAvernus
RuinedAlley: PRINT "Ruined Alley": PRINT
PRINT "You are in an alley. The nearby walls are crumbling down and a blackened with"
PRINT "fire. ";
IF Guide = 0 THEN PRINT "There is a human wearing white here, leaning against the wall."
PRINT "You may go west."
GOTO EndAvernus
Village: PRINT "Peaceful Village": PRINT
PRINT "You are in a peaceful village. Houses and the like surround you in all"
PRINT "directions. Perfectly happy citizen walk the street, being generally friendly"
PRINT "to one another. The red sky hanging above your head is the only indication that"
PRINT "you are even on Baator."
PRINT "From here, a path goes to the south into a grove of willow trees."
GOTO EndAvernus
SchemingBariaurInn: PRINT "Blasted Scheming Bariaur Inn": PRINT
PRINT "This inn has been burned by countless fireballs that ravage this level of"
PRINT "Baator. The walls of are blackened and burned. In fact, there is the corpse"
PRINT "of a patron here, slumped over a table. ";
IF Money = 0 THEN PRINT "There is a sack of money next to him." ELSE PRINT "He has been badly burned by fire."
PRINT "You may go southeast from here."
GOTO EndAvernus
BlastedPlain: PRINT "Blasted Plain": PRINT
PRINT "You are walking along a blasted plain. Beneath your feet seems to be the"
PRINT "remnants of a path or a street. The reddish sky above seems to beat down on"
PRINT "you in an odd sort of oppressive way. From here, the path goes off to the"
IF RM = 6 THEN PRINT "north and southeast."
IF RM = 15 THEN PRINT "north, east, west."
IF RM = 16 THEN PRINT "north and west."
IF SaidThis = 1 THEN PRINT "A patrol of abishai is here, watching you."
GOTO EndAvernus
NearLake: PRINT "Near Lake": PRINT
PRINT "To the west is a large, beautiful lake. All is still and quiet around here."
PRINT "No birds singing in the treetops to give you a headache. No locusts buzzing"
PRINT "around in your ears. No insects, bugs, or bees. All is perfectly happy, and"
PRINT "content. The only reminder that you are in Baator is the large hanging red sky"
PRINT "above you. You may go down a peaceful county lane to the east."
GOTO EndAvernus
WillowTrees: PRINT "Grove of Willow Trees": PRINT
PRINT "Peaceful. Serene. You are walking in a forest of willow trees. Their long"
PRINT "curtains surround you, filling you with a sense of beauty and majesty. Paths"
PRINT "from here go north, west, and south. No birds are singing in the trees. No"
PRINT "annoying locusts buzzing in your ears. All is peaceful and serene."
GOTO EndAvernus
PillarOfSkulls: PRINT "Pillar of Skulls": PRINT
PRINT "You are standing at a pillar of skulls. Yep, that's about what it is. A huge"
PRINT "pillar reaching into the sky, covered in many different skulls of various races."
PRINT "They chatter and talk, disagreeing and yelling and screaming at each other."
PRINT "You may go southeast and south."
GOTO EndAvernus
RuinedStreets: PRINT "Ruined Streets": PRINT
PRINT "You are walking on a ruined street. Burned and blackened buildings surround you"
PRINT "on all sides. The blackened and burned street itself goes ";
IF RM = 10 THEN PRINT "northwest and east."
IF RM = 11 THEN PRINT "northwest, west,": PRINT "and south."
GOTO EndAvernus
NearGarden: PRINT "Near Garden": PRINT
PRINT "To the north is a seeming oasis of beauty and life. Willow trees sway in the"
PRINT "wind. The lake is clear and blue and vast and wide, sitting next to the lazy"
PRINT "village in a warm air. If it weren't for the red sky above it, you'd think it"
PRINT "was in Mount Celestia, not in Baator. You may go north and south."
GOTO EndAvernus
NearRiver: PRINT "Near River": PRINT
PRINT "To the ";
IF RM = 13 OR RM = 14 THEN PRINT "south "; ELSE PRINT "north ";
PRINT "is a large river of blood. Apparently, it's the River Styx. "
IF RM = 13 OR RM = 17 THEN PRINT "There is a silent boatman here. His skin is green and he is tall and gaunt.": PRINT "His eyes glowing red. A marraenoloth, one of the ferrymen of the River Styx.": PRINT "He stands next to a small vessel, obviously used for crossing the Styx."
PRINT "You may go ";
IF RM = 13 THEN PRINT "north and east from here."
IF RM = 14 THEN PRINT "northwest, west, and east from here."
IF RM = 17 THEN PRINT "east from here."
IF RM = 18 THEN PRINT "east and west from here. The ground descends to the east."
GOTO EndAvernus
WMaggotPit: PRINT "West End of the Maggot Pit": PRINT
PRINT "You are standing at the west end of a large pit filled with maggots Inside of"
PRINT "the pit, the maggots squirm and wiggle, waiting to devour any that set foot in"
PRINT "the pit. There is a large blasted plain to the west. The maggot pit is to"
PRINT "the east."
IF Abishai1 = 0 OR Abishai1 = 3 THEN PRINT "There a fiend here, looking much like a gothic gargoyle. It has a black, scaly": PRINT "hide with large black claws and horns and teeth. An abishai."
IF Abishai1 = 1 THEN PRINT "There is an abishai here, attacking you!"
GOTO EndAvernus
EMaggotPit: PRINT "East End of Maggot Pit": PRINT
PRINT "Well, you did it. By hook or by crook, you made it to the other end of the"
PRINT "maggot pit. There is a large cave in the wall to the south, while the maggot"
PRINT "pit is to the west from here."
GOTO EndAvernus
Tunnel: PRINT "Tunnel": PRINT
PRINT "You are in a tunnel. Before you is a large archway. It appears to have some"
PRINT "writing on it. You may go north and south. There is a huge iron door to the"
PRINT "north, while the tunnel continues to the south."
GOTO EndAvernus
IronDoor: PRINT "Iron Door": PRINT
PRINT "Before you is a ";
IF DoorOpen = 0 THEN PRINT "closed ";
IF DoorOpen = 1 THEN PRINT "slightly ajar ";
PRINT "large iron door. It is made out of blackened"
PRINT "iron, and looks quite large. The tunnel goes back north, while the huge door"
PRINT "itself is to the south."
GOTO EndAvernus
Cavern: PRINT "Cavern": PRINT
PRINT "You are in a cavern. There are two large caverns to your east and west, while"
PRINT "there is a tunnel leading north and south from here. Immense waves of fear"
PRINT "eminate from the east and west tunnels."
GOTO EndAvernus
RuinedInn: PRINT "Ruined Inn": PRINT
PRINT "This inn is generally falling apart. The walls are blackened and burned by"
PRINT "fire, and the ceiling looks like it would collapse any moment. From here, you"
PRINT "may go east. ";
IF CabinetOpen = 0 THEN PRINT "There is a closed cabinet set in the wall here, locked with a": PRINT "rusty lock."
IF CabinetOpen = 1 THEN PRINT "There is a closed cabinet set in the wall here. The rusty lock": PRINT "that once locked it is on the floor, crumbled to pieces."
IF CabinetOpen = 2 AND Ruby = 0 THEN PRINT "There is an open cabinet set in the wall here. Inside it is a": PRINT "large ruby."
IF CabinetOpen = 2 AND Ruby <> 0 THEN PRINT "There is an open cabinet set in the wall here. It is empty."
GOTO EndAvernus
RuinedStreet: PRINT "Ruined Street": PRINT
PRINT "You are standing on an empty street. The buildings around you are burned and"
PRINT "desolated, and look on the verge of falling apart."
IF Cornugon1 = 0 OR Cornugon1 = 3 THEN PRINT "There is a large scaly humanoid figure with two wings and a barbed whip in its": PRINT "claws. It looks at you, and laughs a mocking laugh. Yes, he's a cornugon all": PRINT "right."
IF Cornugon1 = 1 THEN PRINT "There is a cornugon here, attacking you!"
GOTO EndAvernus
MaggotPit: PRINT "In Maggot Pit": PRINT
IF Abishai1 = 2 THEN
PRINT "Wonderful. Of all the places you choose to go in this entire plane, of all of"
PRINT "the paths that you take, you HAD to crawl through the maggot pit. Some people"
PRINT "choose to PAY the guard instead of killing him. The pit goes east and west from"
PRINT "here."
END IF
IF Abishai1 <> 2 THEN
PRINT "Wonderful. Of all the places you choose to go in this entire plane, of all of"
PRINT "the paths that you take, you HAD to crawl through the maggot pit. The pit goes"
PRINT "east and west from here."
END IF
GOTO EndAvernus
RiverStyx: PRINT "River Styx": PRINT
PRINT "You are in the River Styx. It's blood-red water washes over you quickly, making"
PRINT "it hard for you to keep afloat. The current is changing faster than you can"
PRINT "keep up with it, and if you don't make it to shore soon, you'll be swept away!"
PRINT "The shore is to the north and south."
IF Cur = 1 THEN PRINT "The current is pulling you east! If you don't do something now, you'll be": PRINT "pulled away!"
IF Cur = 2 THEN PRINT "The current is pulling you west! If you don't do something now, you'll be": PRINT "pulled away!"
IF Cur = 0 THEN PRINT "The waters are still.... for now."
GOTO EndAvernus
EndAvernus:
END SUB
SUB Dead
PRINT
IF NoShow = 0 THEN PRINT "You scream out in pain as you fall to the ground of Baator, dead. About five": PRINT "months later the multiverse is run by the baatezu. Some people think it had to": PRINT "do with an artifact that the Dark Eight stole from a dead planeswalker, but": PRINT "that's commonly regarded as a rumor."
NoWay2: PRINT :
INPUT "What is your name?", N$
IF N$ = "fight" THEN GOTO NoWay2
IF N$ = "" THEN N$ = "bean"
SAV$ = N$ + ".baa"
OPEN SAV$ FOR OUTPUT AS #1
IF Killer <> 5 AND Killer <> 12 THEN PRINT #1, N$; " killed by "; Killer$; " on ";
IF Killer = 5 THEN PRINT #1, N$; " was swept away by the River Styx on ";
IF Killer = 12 THEN PRINT #1, N$; " sank into the swamp on ";
IF Level = 1 THEN PRINT #1, "Avernus, the first layer": PRINT #1, "of Baator."
IF Level = 2 THEN PRINT #1, "Dis, the second layer of": PRINT #1, "Baator."
IF Level = 3 THEN PRINT #1, "Minauros, the third layer": PRINT #1, "of Baator."
IF Level = 4 THEN PRINT #1, "Phlegethos, the fourth": PRINT #1, "layer of Baator."
IF Level = 5 THEN PRINT #1, "Stygia, the fifth layer": PRINT #1, "of Baator."
IF Level = 6 THEN PRINT #1, "Malbolge, the sixth layer": PRINT #1, "of Baator."
IF Level = 7 THEN PRINT #1, "Maladomini, the seventh": PRINT #1, "layer of Baator."
IF Level = 8 THEN PRINT #1, "Cania, the eigth layer": PRINT #1, "of Baator."
IF Level = 9 THEN PRINT #1, "Nessus, the ninth and": PRINT #1, "last layer of Baator."
PRINT #1, N$; " lived for"; Time; "moves on Baator."
IF Hp < 0 THEN PRINT #1, "At the time of death, "; N$; " had "; Hp; "hit points remaining out of"; MaxHp; "maximum."
IF Hp >= 0 THEN PRINT #1, "At the time of death, "; N$; " had"; Hp; "hit points remaining out of"; MaxHp; "maximum."
IF Killer = 1 THEN PRINT #1, "A note to you, cutter: Sometimes it's best to give the baatezu a large": PRINT #1, "garnish instead of recieving its wrath."
IF Killer = 2 THEN PRINT #1, "A note to you, cutter: Never mess with a baatezu, even a low-ranker."
IF Killer = 3 THEN PRINT #1, "A note to you, cutter: Fiends pervert commands. Be as specific as": PRINT #1, "possible."
IF Killer = 4 THEN PRINT #1, "A note to you, cutter: Don't dawdle in the Pit of Maggots."
IF Killer = 5 THEN PRINT #1, "A note to you, cutter: Sometimes there are ways to cross a river that": PRINT "don't involve being a tightwad."
IF Killer = 6 THEN PRINT #1, "A note to you, cutter: There's only one form of a good osyluth - a dead": PRINT #1, "one."
IF Killer = 9 THEN PRINT #1, "A note to you, cutter: In the city of chains, the kytons are the law."
IF Killer = 10 THEN PRINT #1, "A note to you, cutter: NEVER cross a pit fiend."
CLOSE #1
COLOR 0: END
END SUB
SUB Dis
IF A$ <> "look" AND ClosedEyes = 1 AND RM <> 11 THEN PRINT "You open your eyes first.": ClosedEyes = 0
IF A$ <> "look" AND ClosedEyes = 1 AND RM = 11 THEN PRINT "You walk straight forward, in the direction in which you last saw the tower.": PRINT "Eventually, you reach it and open your eyes.": ClosedEyes = 0
ON RM GOTO Summit, Gate, Path, Street, Street, Street, Street, Street, Street, Street, Tower, Street, Street, Street, Street, Prison, Entrance, Library, Spiral, Overlook, Gate2
Summit: PRINT "Summit": PRINT
PRINT "You are at a summit that lies high above the rest of the land. Here, the land"
PRINT "is green instead of red, but it still hangs down on you. There is a path going"
PRINT "down from the summit here."
IF Abishai2 = 1 THEN PRINT "An abishai is here, attacking you!"
IF Abishai2 <> 1 AND Abishai2 <> 2 THEN PRINT "An abishai guards the path down here."
GOTO EndDisSub
Gate: PRINT "Gate to Dis": PRINT
PRINT "You are standing at the gate to Dis, the Iron City. The huge gates are opened"
PRINT "wide. There is a path going north, while the city itself is to the north."
IF Cornugon2 = 1 THEN PRINT "A cornugon is here, attacking you!"
IF Cornugon2 <> 1 AND Cornugon2 <> 2 THEN PRINT "A cornugon guards the entrance to the city, looking at you intently."
GOTO EndDisSub
Path: PRINT "Path": PRINT
PRINT "You are walking along a path that is leading you closer and closer to the Iron"
PRINT "City of Dis. The greenish sky overhead hangs down on you, and the path goes"
PRINT "south from here. A path also ascends up a mountain. You think that you can see"
PRINT "the gates of Dis to the south from here, but you aren't sure."
GOTO EndDisSub
Street:
PRINT "Street in Dis": PRINT
PRINT "You are on a street in the Burning City of Dis. Streets go in all directions"
PRINT "from here. ";
IF RM = 5 THEN PRINT "The gates out of the city are to the north from here." ELSE PRINT "People of all races and factions surround you."
IF RM <> 5 AND Looked = 0 THEN Looked = 1: Cons = INT(RND * 9) + 1
IF Looked = 1 THEN
IF Cons = 1 THEN PRINT "The street to the north is being torn up by a troop of construction workers."
IF Cons = 2 THEN PRINT "The street to the south is being re-paved by a troop of enslaved petitioners."
IF Cons = 3 THEN PRINT "The street to the east is having cobblestones put into it."
IF Cons = 4 THEN PRINT "The street to the west is having it's cobblestones torn up."
IF Cons = 5 THEN PRINT "A building has recently fallen down here. Work crews are clearing it out, but": PRINT "the rubble covers the north and east streets."
IF Cons = 6 THEN PRINT "A building is being built up here. Work crews are lifting up equipment to": PRINT "build it. However, the equipment covers the east and south streets."
IF Cons = 7 THEN PRINT "A work crew is erecting a large statue of Dispater, lord of Dis here. The": PRINT "statue and crew blocks the streets to the west and north."
IF Cons = 8 THEN PRINT "The south and east streets are cordoned off from the rest of the city.": PRINT "Apparently, work crews are putting in a sewer system here."
IF Cons = 9 THEN PRINT "The north and south streets are cordoned off. Work crews are tearing out the": PRINT "sewer systems here."
END IF
IF RM = 7 THEN PRINT "You can see a huge iron tower rising out of the city to the southeast."
IF RM = 8 THEN PRINT "You can see a huge iron tower rising out of the city to the south."
IF RM = 9 THEN PRINT "You can see a huge iron tower rising out of the city to the southwest."
IF RM = 10 THEN PRINT "You can see a huge iron tower rising out of the city to the east."
IF RM = 12 THEN PRINT "You can see a huge iron tower rising out of the city to the west."
IF RM = 13 THEN PRINT "You can see a huge iron tower rising out of the city to the northeast."
IF RM = 14 THEN PRINT "You can see a huge iron tower rising out of the city to the north."
IF RM = 15 THEN PRINT "You can see a huge iron tower rising out of the city to the northwest."
IF RM = 10 AND Osyluth1 <> 1 AND Osyluth1 <> 2 THEN PRINT "There is a thin fiend here with an orange hide and a large, scorpion-like": PRINT "stinger. It's an osyluth, one of the police officers of Baator."
GOTO EndDisSub
Tower: PRINT "Burning Tower": PRINT
PRINT "You are at the Burning Tower in the center of Dis. There is a staircase leading"
PRINT "up from here into the tower. You may also go in all other direction into the"
PRINT "streets of Dis."
IF Barbazu1 <> 1 AND Barbazu1 <> 2 THEN PRINT "There is a green-faced fiend here. In one hand it holds a wicked saw-toothed": PRINT "glaive. It also has a long, wirelike beard and glowing red eyes. It grins as": PRINT "you approach. It's a barbazu, all right. It looks at you wicked, as if daring": PRINT "you to attack him."
IF Barbazu1 = 1 THEN PRINT "There is a barbazu here, attacking you!"
GOTO EndDisSub
Prison: PRINT "Prison": PRINT
PRINT "You are in the prison. Prisoners of all sorts surround you. Tanar'ri, enslaved"
PRINT "mortals, etc, etc. There are no apparent exits from this room. The wall are"
PRINT "smooth, blank, and white. However, each and every one is stained in blood."
IF Break <> 0 THEN PRINT "You are bound tight by steel chains."
PRINT "There is a set of orbs here; a red one labelled, '�'; a blue one labelled, '�';"
PRINT "and a green one labelled, '�' There is a large sigil in the center of this room"
PRINT "that is a large '�'."
GOTO EndDisSub
Entrance: PRINT "Entrance": PRINT
PRINT "You are in the entrance to the Burning Tower. There are three orbs here; a red"
PRINT "one labelled, '�', a blue orb labelled, '�', and a green one labelled, 'O'."
PRINT "There do not seem to be any exits from this room. There is a large sigil in"
PRINT "the center of the room here, '�'."
GOTO EndDisSub
Library: PRINT "Library": PRINT
PRINT "This room is entirely filled with books of all sorts and documents of all types."
IF Book = 0 THEN PRINT "One book in particular draws your attention to itself. 'On the Baatezu,' it": PRINT "is entitled. It's a thin black book."
PRINT "There are three orbs here; a red orb labelled, '�', a blue orb labelled '�', and"
PRINT "a green orb labelled, '�'. There is a large sigil in the center of the room"
PRINT "here, '�'."
GOTO EndDisSub
Spiral: PRINT "Spiral": PRINT
PRINT "You are at a spiral staircase. You may go up and down from here. There are"
PRINT "also three orbs here; a red orb labelled, '�', a blue orb labelled, '�', and a"
PRINT "green orb labelled, '�'. There is a large sigil in the center of the room here,"
PRINT "'�'."
GOTO EndDisSub
Overlook: PRINT "Overlook": PRINT
PRINT "From here, you can see the entirety of the infinite City of Dis. How you can"
PRINT "see the entire thing while it's infinite is just another one of the infinte"
PRINT "mysteries of the planes. There are three orbs here; a red orb labelled, '�',"
PRINT "a blue orb labelled, '�', and a green orb labelled, '�'. There is a large sigil"
PRINT "in the center of the room here, '�'."
GOTO EndDisSub
Gate2: PRINT "Gate": PRINT
PRINT "This room's distinguishing feature is a large portal in the center of the room."
PRINT "It bathes the entire room in reddish light. There are also three orbs here; a"
PRINT "red orb labelled, '�', a blue orb labelled, '�', and a green orb labelled, '�'."
PRINT "The portal itself is to the north. There is a large sigil in the center of the"
PRINT "room here, '�'."
GOTO EndDisSub
EndDisSub:
END SUB
SUB Fights
IF FuryCome = 6 THEN
Hit = INT(RND * 2) + 1
IF Hit = 1 THEN PRINT "Fury swings out at the pit fiend with his sword, but he misses it! It laughs at": PRINT "him mockingly!"
IF Hit = 2 THEN
Dmg = INT(RND * 6) + 4
PitFiendHp = PitFiendHp - Dmg
PRINT "Fury slashes out at the pit fiend with his sword, and his sword connects! The"
PRINT "pit fiend howls out in rage!"
IF PitFiendHp <= 0 THEN
BEEP
PRINT "The pit fiend falls back in pain as its body hits the floor of Baator and"
PRINT "explodes in a huge fiery blast in every direction.": PitFiendHp = 70
PitFiend = 8
CantRun = 0
Xp = Xp + 50
PRINT "Fury sheathes his sword. 'Good thing I showed up when I did, huh?'": FuryCome = 0: Guide = 1
END IF
END IF
END IF
IF Kyton = 1 THEN
Hit = INT(RND * 4) + 1
IF Chains = 1 THEN Hit = 0
IF Hit = 0 THEN
PRINT "The kyton sends a few more chains flying in your direction, hitting your face": PRINT "and chest. Being bound, you are unable to dodge the blow!"
Dmg = INT(RND * 12) + 4
Hp = Hp - Dmg
END IF
IF Hit = 1 THEN
PRINT "The kyton holds out his left hand, covered in chains, and a long barbed chain": PRINT "emerges from it and ties itself to you, rending your flesh with many barbs. In": PRINT "addition, the chain has bound you tight.": Chains = 1
Dmg = INT(RND * 10) + 1
Hp = Hp - Dmg
END IF
IF Hit = 2 THEN PRINT "The kyton holds out his left hand, covered in chains, and a long barbed chain": PRINT "emerges from it and fles towards you. Luckily for you, you manage to dodge to": PRINT "one side!"
IF Hit = 3 THEN
PRINT "The kyton lashes his right hand at you, causing about five seperate chains to": PRINT "lash across your chest and face!"
Dmg = INT(RND * 5) + 1
Hp = Hp - Dmg
END IF
IF Hit = 4 THEN PRINT "The kyton lashes his right hand at you, sending about five seperate chains": PRINT "flying in your direction. By some odd quirk of fate, you manage to dodge the": PRINT "chains!"
IF Hp <= 0 THEN Killer$ = "a kyton": Killer = 9: Dead
END IF
IF Cornugons > 0 THEN
CornuHit = Cornugons
Hehehehe:
CornuHit = CornuHit - 1
Hit = INT(RND * 7) + 1
IF CornuGated = 0 AND CornugonHp <= 5 THEN Hit = 7
IF Hit = 7 AND CornuGated = 1 THEN Hit = INT(RND * 6) + 1
IF Hit = 1 THEN PRINT "A cornugon lashes out at you with its spiked whip!": Hp = Hp - 4
IF Hit = 2 THEN PRINT "A cornugon lashes out at you with its spiked whip, but you manage to dodge to": PRINT "one side!"
IF Hit = 3 THEN PRINT "A cornugon gives out a blood-curdling scream as a lightning bolt emerges from": PRINT "its body to hit you!": Hp = Hp - 4
IF Hit = 4 THEN PRINT "A cornugon gives out a scream and a lightning bolt emerges from its chest,": PRINT "but you dodge it!"
IF Hit = 5 THEN PRINT "A cornugon reaches out at you and bites you!": Hp = Hp - 2
IF Hit = 6 THEN PRINT "A cornugon reaches out at you to try to bite you, but you jump back!"
IF Hit = 7 AND CornuGated = 0 THEN
CornuGated = 1
Gate = INT(RND * 100) + 1
Type1 = INT(RND * 3) + 1
IF Type1 = 1 THEN
IF Gate <= 50 THEN
Cor = INT(RND * 3) + 1
Barbazus = Barbazus + Cor
IF Cor > 1 THEN PRINT "The cornugon concentrates for a few seconds, and"; Cor; "barbazu appear!"
IF Cor = 1 THEN PRINT "The cornugon concentrates for a few seconds, and a barbazu appears!"
ELSE
PRINT "The cornugon concentrates for a few seconds, but nothing happens!"
END IF
END IF
IF Type1 = 2 THEN
IF Gate <= 35 THEN
Cor = INT(RND * 3) + 1
Abishais = Abishais + Cor
IF Cor > 1 THEN PRINT "The cornugon concentrates for a few seconds, and"; Cor; "abishai appear!"
IF Cor = 1 THEN PRINT "The cornugon concentrates for a few seconds, and an abishai appears!"
ELSE
PRINT "The cornugon concentrates for a few seconds, but nothing happens!"
END IF
END IF
IF Type1 = 3 THEN
IF Gate <= 40 THEN
Cor = INT(RND * 3) + 1
Cornugons = Cornugons + Cor
IF Cor > 1 THEN PRINT "The cornugon concentrates for a few seconds, and"; Cor; "more cornugons appear!"
IF Cor = 1 THEN PRINT "The cornugon concentrates for a few seconds, and another cornugon appears!"
ELSE
PRINT "The cornugon concentrates for a few seconds, but nothing happens!"
END IF
END IF
END IF
IF CornuHit = 0 THEN GOTO EndFight