-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathShadow Bosses
957 lines (945 loc) · 49.4 KB
/
Shadow Bosses
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
Shadow Bosses by Lamdil begins here.
The current hit points of the Cannibal is 4. The maximum hit points of the Cannibal is 4.
The Cannibal is hostile.
The Cannibal carries a weapon called Vicious Claws. The current turns of the Vicious Claws is 4.
Setting action variables for an actor hitting:
if the actor is Cannibal:
if the blockTrue of the player is 0:
now the damage inflicted is a random number between 3 and 5 minus the damageReduction of the player;
otherwise:
let x be the damageReduction of the player plus the damagePrevented of the player;
now the damage inflicted is a random number between 3 and 5 minus x.
Every turn when the player is in the Temple:
if the Cannibal is hostile, try Cannibal hitting the player.
Report Cannibal hitting the player:
if the current turns of the Vicious Claws is 3:
say "The Cannibal rapidly sniffs the air, and it catches your scent." instead;
if the current turns of the Vicious Claws is 2:
if the dodgeTrue of the player is 1:
say "The Cannibal leaps at you, but you just barely sidestep the attack.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You slash the creature mid-air, causing it to stumble to the side.[line break][line break]";
if the Cannibal is dead:
say "Using your opening, you quickly jab the Cannibal, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Cannibal screams in agony as the soul of a prisoner escapes its body.[line break][line break]As the spirit fades away, it whispers to you, 'I have been set free...'";
now the Cannibal is nowhere;
now the Cannibal is docile;
otherwise:
say "Using your opening, you quickly jab the Cannibal, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Cannibal lunges and collides into your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cannibal is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The creature lunges towards you and claws at your face, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cannibal is unable to penetrate your armour.";
if the current turns of the Vicious Claws is 1:
if the dodgeTrue of the player is 1:
say "You evade the Cannibal's vicious uppercut.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You catch the Cannibal off-guard, leaving it open for attack.[line break][line break]";
if the Cannibal is dead:
say "You swing at the Cannibal's head, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Cannibal screams in agony as the soul of a prisoner escapes its body.[line break][line break]As the spirit fades away, it whispers to you, 'I have been set free...'";
now the Cannibal is nowhere;
now the Cannibal is docile;
otherwise:
say "You swing at the Cannibal's head, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Cannibal's claws slash your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cannibal is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The creature lands a devastating uppercut with its claws, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cannibal is unable to penetrate your armour.";
if the current turns of the Vicious Claws is 0:
if the dodgeTrue of the player is 1:
say "The Cannibal tries to grab you, but you break free of his grasp.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You push the creature back as it attempts to grab you.[line break][line break]";
if the Cannibal is dead:
say "You slam your weapon down onto the Cannibal, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Cannibal screams in agony as the soul of a prisoner escapes its body.[line break][line break]As the spirit fades away, it whispers to you, 'I have been set free...'";
now the Cannibal is nowhere;
now the Cannibal is docile;
otherwise:
say "You slam your weapon down onto the Cannibal, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Cannibal's claws knock your shield back, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cannibal is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Cannibal manages to grab you and sinks his long teeth into your flesh, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cannibal is unable to penetrate your armour.";
if the current turns of the Vicious Claws is 4:
say "The Cannibal breathes heavily to catch its breath." instead.
Report hitting a dead Cannibal:
say "The Cannibal screams in agony as the soul of a prisoner escapes its body.[line break][line break]As the spirit fades away, it whispers to you, 'I have been set free...'" instead.
Report Cannibal hitting the player when the player is dead:
now the current hit points of the player is 0;
say "The Cannibal slashes your eyes, permanently blinding you, and knocks you onto the ground.";
end the story saying "The creature pins you with its inhuman strength and begins eating away at your stomach";
stop the action.
Carry out Cannibal hitting the player:
if the current turns of the Vicious Claws is 4:
now the player is hit;
now the current turns of the Vicious Claws is 3;
stop the action;
if the current turns of the Vicious Claws is 3:
now the player is hit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Cannibal by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Vicious Claws is 2;
stop the action;
if the current turns of the Vicious Claws is 2:
now the player is hit;
if the blockTrue of the player is 0:
now the damage inflicted is a random number between 6 and 8 minus the damageReduction of the player;
otherwise:
let x be the damageReduction of the player plus the damagePrevented of the player;
now the damage inflicted is a random number between 6 and 8 minus x;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Cannibal by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Vicious Claws is 1;
stop the action;
if the current turns of the Vicious Claws is 1:
now the player is notHit;
if the blockTrue of the player is 0:
now the damage inflicted is a random number between 9 and 11 minus the damageReduction of the player;
otherwise:
let x be the damageReduction of the player plus the damagePrevented of the player;
now the damage inflicted is a random number between 9 and 11 minus x;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Cannibal by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Vicious Claws is 0;
stop the action;
if the current turns of the Vicious Claws is 0:
now the player is notHit;
now the current turns of the Vicious Claws is 4;
stop the action.
Cannibal Fight is a recurring scene.
Cannibal Fight begins when the player is in the Temple.
Every turn during the Cannibal Fight:
now the left hand status line is "Consumer of Men: [current hit points of Cannibal]";
now the player is hostile;
if the Cannibal is dead:
now the player is docile;
now the player is notHit;
now the left hand status line is "Consumer of Men: Deceased";
now the Cannibal is nowhere.
Cannibal Fight ends when the player is not in the Temple.
When Cannibal Fight ends:
now the player is docile;
now the player is notHit;
now the left hand status line is "".
The player has a number called curse. The curse of the player is 0.
The player has a number called dread. The dread of the player is 0.
The current hit points of the Heretic is 4. The maximum hit points of the Heretic is 4.
The Heretic is docile.
The Heretic carries a weapon called Profaned Book. The current turns of the Profaned Book is 5.
Setting action variables for an actor hitting:
if the actor is Heretic:
if the blockTrue of the player is 0:
now the damage inflicted is a random number between 3 and 5 minus the damageReduction of the player;
otherwise:
let x be the damageReduction of the player plus the damagePrevented of the player;
now the damage inflicted is a random number between 3 and 5 minus x.
Every turn when the player is in the Desecrated Chapel:
if the Heretic is hostile, try Heretic hitting the player.
Report Heretic hitting the player:
if the current turns of the Profaned Book is 4:
say "The Heretic opens her book and begins muttering a curse." instead;
if the current turns of the Profaned Book is 3:
if the dodgeTrue of the player is 1:
say "The Heretic launches a hex towards you but misses by a hair.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "Before the Heretic can finish preparing her curse, you strike the tome out of her hands, interrupting the chant.[line break][line break]";
if the Heretic is dead:
say "As the Heretic scrambles to find her book, you go in for a lethal blow, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Heretic's skin begins to disintegrate as the tome consumes her flesh.[line break][line break]You see a spirit escape from the body and fade into the darkness.";
now the Heretic is nowhere;
now the Heretic is docile;
otherwise:
say "As the Heretic scrambles to find her book, you go in for a lethal blow, dealing [riposteDamage of the player] damage![line break][line break]";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Heretic hurls a hex right into your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Heretic is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "A hex bursts from the Heretic's hand and strikes your chest, dealing [damage inflicted] point[s] of damage!";
now the curse of the player is 3;
otherwise:
say "The Heretic is unable to penetrate your armour.";
if the current turns of the Profaned Book is 2:
say "The Heretic grows tired from expending her energy." instead;
if the current turns of the Profaned Book is 1:
say "The Heretic regains her strength and beings absorbing corrupted energy into her body." instead;
if the current turns of the Profaned Book is 0:
if the dodgeTrue of the player is 1:
say "An aura of dread expands from the Heretic but you step back enough to avoid the hit.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You knock the Heretic off balance, interrupting her focus.[line break][line break]";
if the Heretic is dead:
say "The energy around the Heretic becomes less menacing; you go in for a devastating strike, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Heretic's skin begins to disintegrate as the tome consumes her flesh.[line break][line break]You see a spirit escape from the body and fade into the darkness.";
now the Heretic is nowhere;
now the Heretic is docile;
otherwise:
say "The energy around the Heretic becomes less menacing; you go in for a devastating strike, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "An aura of dread surrounds the Heretic and strikes your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Heretic is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Heretic casts a pulsing aura of dread, dealing [damage inflicted] point[s] of damage!";
now the dread of the player is 2;
otherwise:
say "The Heretic is unable to penetrate your armour.";
if the current turns of the Profaned Book is 5:
say "The Heretic abruptly closes her book." instead.
Report hitting a dead Heretic:
now the curse of the player is 0;
say "The Heretic's skin begins to disintegrate as the tome consumes her flesh.[line break][line break]You see a spirit escape from the body and fade into the darkness." instead.
Report Heretic hitting the player when the player is dead:
now the current hit points of the player is 0;
say "The Heretic conjures a curse, binding you in place.";
end the story saying "The Heretic opens her tome and begins draining your soul";
stop the action.
Carry out Heretic hitting the player:
if the current turns of the Profaned Book is 5:
now the player is hit;
now the current turns of the Profaned Book is 4;
stop the action;
if the current turns of the Profaned Book is 4:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Heretic by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Profaned Book is 3;
stop the action;
if the current turns of the Profaned Book is 3:
now the player is notHit;
now the current turns of the Profaned Book is 2;
stop the action;
if the current turns of the Profaned Book is 2:
now the player is hit;
now the current turns of the Profaned Book is 1;
stop the action;
if the current turns of the Profaned Book is 1:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Heretic by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the dread of the player is 1;
now the current turns of the Profaned Book is 0;
stop the action;
if the current turns of the Profaned Book is 0:
now the player is notHit;
now the current turns of the Profaned Book is 5;
stop the action.
Every turn when the curse of the player is greater than 0:
let x be a random number between 1 and 2;
decrease the current hit points of the player by x;
say "The curse withers away your soul, dealing [x] point[s] of damage!";
decrease the curse of the player by 1;
if the player is dead:
end the story saying "Your body succumbs to the curse as you wither away".
Every turn when the dread of the player is greater than 0:
if the dread of the player is 2:
decrease the dread of the player by 1;
otherwise:
let x be a random number between 3 and 5;
decrease the current hit points of the player by x;
say "The aura around the Heretic erupts in a blast of corrupted energy, dealing [x] point[s] of damage!";
decrease the dread of the player by 1;
if the player is dead:
end the story saying "As you lie dying on the ground, you can feel you soul being dragged to Hell".
Heretic Fight is a recurring scene.
Heretic Fight begins when the player is in the Desecrated Chapel.
Every turn during the Heretic Fight:
now the left hand status line is "Blasphemer of Gods: [current hit points of Heretic]";
now the player is hostile;
if the Heretic is dead:
now the player is docile;
now the player is notHit;
now the left hand status line is "Blasphemer of Gods: Deceased";
now the Heretic is nowhere.
Heretic Fight ends when the player is not in the Desecrated Chapel.
When Heretic Fight ends:
now the player is docile;
now the player is notHit;
now the left hand status line is "".
The player has a number called ignite. The ignite of the player is 0.
The current hit points of the Arsonist is 4. The maximum hit points of the Arsonist is 4.
The Arsonist is docile.
The Arsonist carries a weapon called Flaming Orb. The current turns of the Flaming Orb is 6.
Setting action variables for an actor hitting:
if the actor is Arsonist:
if the blockTrue of the player is 0:
now the damage inflicted is a random number between 3 and 5 minus the damageReduction of the player;
otherwise:
let x be the damageReduction of the player plus the damagePrevented of the player;
now the damage inflicted is a random number between 3 and 5 minus x.
Every turn when the player is in the Scorched Wasteland:
if the Arsonist is hostile, try Arsonist hitting the player.
Report Arsonist hitting the player:
if the current turns of the Flaming Orb is 5:
say "A small flame sprouts from the hand of the Arsonist." instead;
if the current turns of the Flaming Orb is 4:
if the dodgeTrue of the player is 1:
say "Your face grows hot as the fiery orb passes you.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "The Arsonist stumbles back as you thrust your weapon towards his chest.[line break][line break]";
if the Arsonist is dead:
say "Taking advantage of the Arsonist's weakened state, you riposte him, dealing [riposteDamage of the player] damage![line break][line break]";
say "The flame extinguishes from the Arsonist's eyes, and his body falls to ashes.[line break][line break]You watch as a spectre quickly escapes from the Arsonist's body.";
now the Arsonist is nowhere;
now the Arsonist is docile;
otherwise:
say "Taking advantage of the Arsonist's weakened state, you riposte him, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "An orb of fire crashes against your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Arsonist is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Arsonist hurls a glowing orb of fire towards you, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Arsonist is unable to penetrate your armour.";
if the current turns of the Flaming Orb is 3:
say "The Arsonist slams the ground, sending rippling waves of fire towards you." instead;
if the current turns of the Flaming Orb is 2:
if the dodgeTrue of the player is 1:
say "You leap over the waves of fire, barely escaping them.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You sidestep the flames and knock the Arsonist across the side of his head.[line break][line break]";
if the Arsonist is dead:
say "You follow up with a lethal swing, dealing [riposteDamage of the player] damage![line break][line break]";
say "The flame extinguishes from the Arsonist's eyes, and his body falls to ashes.[line break][line break]You watch as a spectre quickly escapes from the Arsonist's body.";
now the Arsonist is nowhere;
now the Arsonist is docile;
otherwise:
say "You follow up with a lethal swing, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The flames ignite your shield as they pass over you, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Arsonist is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The waves scorch your flesh as they crash down onto you, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Arsonist is unable to penetrate your armour.";
if the current turns of the Flaming Orb is 1:
say "The Arsonist becomes engulfed in fire as he concentrates his strength." instead;
if the current turns of the Flaming Orb is 0:
say "The air becomes unbearably hot as the Arsonist generates more flame." instead;
if the current turns of the Flaming Orb is 6:
if the dodgeTrue of the player is 1:
say "Luckily, you roll to the side as a large pillar of flame erupts from your previous spot.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You weave through the pillars of flame erupting from the ground.[line break][line break]";
if the Arsonist is dead:
say "You get close enough to the Arsonist to strike him across the chest, dealing [riposteDamage of the player] damage![line break][line break]";
say "The flame extinguishes from the Arsonist's eyes, and his body falls to ashes.[line break][line break]You watch as a spectre quickly escapes from the Arsonist's body.";
now the Arsonist is nowhere;
now the Arsonist is docile;
otherwise:
say "You get close enough to the Arsonist to strike him across the chest, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Arsonist releases his energy and your shield absorbs part of the heat from the scorching pillars, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Arsonist is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Arsonist releases his energy, causing pillars of flame to erupt from the ground and severely burning you, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Arsonist is unable to penetrate your armour.".
Report hitting a dead Arsonist:
say "The flame extinguishes from the Arsonist's eyes, and his body falls to ashes.[line break][line break]You watch as a spectre quickly escapes from the Arsonist's body." instead.
Report Arsonist hitting the player when the player is dead:
now the current hit points of the player is 0;
say "The Deranged Prisoner quickly stabs your throat.";
end the story saying "The blood drains out your neck and you fall to the ground";
stop the action.
Carry out Arsonist hitting the player:
if the current turns of the Flaming Orb is 6:
now the player is hit;
now the current turns of the Flaming Orb is 5;
stop the action;
if the current turns of the Flaming Orb is 5:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Arsonist by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
increase the ignite of the player by 1;
now the current turns of the Flaming Orb is 4;
stop the action;
if the current turns of the Flaming Orb is 4:
now the player is hit;
now the current turns of the Flaming Orb is 3;
stop the action;
if the current turns of the Flaming Orb is 3:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Arsonist by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
increase the ignite of the player by 1;
now the current turns of the Flaming Orb is 2;
stop the action;
if the current turns of the Flaming Orb is 2:
now the player is notHit;
now the current turns of the Flaming Orb is 1;
stop the action;
if the current turns of the Flaming Orb is 1:
now the player is hit;
now the current turns of the Flaming Orb is 0;
stop the action;
if the current turns of the Flaming Orb is 0:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Arsonist by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
increase the ignite of the player by 2;
now the current turns of the Flaming Orb is 6;
stop the action.
Every turn when the ignite of the player is greater than 0:
if the ignite of the player is 1:
let x be a random number between 1 and 2;
decrease the current hit points of the player by x;
say "The cinders burn your flesh, dealing [x] point[s] of damage.";
if the player is dead:
end the story saying "Your body becomes engulfed in blazes, reducing you to ashes";
otherwise if the ignite of the player is 2:
let x be a random number between 3 and 4;
decrease the current hit points of the player by x;
say "Embers sear your skin, dealing [x] point[s] of damage.";
if the player is dead:
end the story saying "Your body becomes engulfed in blazes, reducing you to ashes";
otherwise if the ignite of the player is 3:
let x be a random number between 5 and 6;
decrease the current hit points of the player by x;
say "Pieces of your armour become ignited, dealing [x] point[s] of damage.";
if the player is dead:
end the story saying "Your body becomes engulfed in blazes, reducing you to ashes";
otherwise if the ignite of the player is greater than 3:
let x be a random number between 7 and 8;
decrease the current hit points of the player by x;
say "Flames dance across your body, dealing [x] point[s] of damage.";
if the player is dead:
end the story saying "Your body becomes engulfed in blazes, reducing you to ashes".
Arsonist Fight is a recurring scene.
Arsonist Fight begins when the player is in the Scorched Wasteland.
Every turn during the Arsonist Fight:
now the left hand status line is "Omen of Flame: [current hit points of Arsonist]";
now the player is hostile;
if the Arsonist is dead:
now the player is docile;
now the player is notHit;
now the left hand status line is "Omen of Flame: Deceased";
now the Arsonist is nowhere.
Arsonist Fight ends when the player is not in the Scorched Wasteland.
When Arsonist Fight ends:
now the player is docile;
now the player is notHit;
now the left hand status line is "".
The current hit points of the Cutthroat is 4. The maximum hit points of the Cutthroat is 4.
The Cutthroat is hostile.
The Cutthroat carries a weapon called Steel Knives. The current turns of the Steel Knives is 8.
Setting action variables for an actor hitting:
if the actor is Cutthroat:
if the blockTrue of the player is 0:
now the damage inflicted is a random number between 3 and 5 minus the damageReduction of the player;
otherwise:
let x be the damageReduction of the player plus the damagePrevented of the player;
now the damage inflicted is a random number between 3 and 5 minus x.
Every turn when the player is in the Dilapidated Chamber:
if the Cutthroat is hostile, try Cutthroat hitting the player.
Report Cutthroat hitting the player:
if the current turns of the Steel Knives is 7:
say "The Cutthroat pulls out ten knives from his pockets." instead;
if the current turns of the Steel Knives is 6:
say "The Cutthroat throws five of his knives into the air." instead;
if the current turns of the Steel Knives is 5:
if the dodgeTrue of the player is 1:
say "You lean backwards as the knives fly across your face.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You deflect the knives flying towards you.[line break][line break]";
if the Cutthroat is dead:
say "You dash towards the Cutthroat, landing a blow to his chest, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Cutthroat falls to his knees and takes in one more breath as his body falls to the ground.[line break][line break]A soul silently emerges from the Cutthroat's body and walks into the darkness.";
now the Cutthroat is nowhere;
now the Cutthroat is docile;
otherwise:
say "You dash towards the Cutthroat, landing a blow to his chest, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Cutthroat throws five knives which pierce your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Cutthroat flings five more knives towards your chest, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your armour.";
if the current turns of the Steel Knives is 4:
if the dodgeTrue of the player is 1:
say "You leap away from the rain of knives.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You catch one of the falling knives.[line break][line break]";
if the Cutthroat is dead:
say "With deadly accuracy, you throw the knife into the Cutthroat's leg, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Cutthroat falls to his knees and takes in one more breath as his body falls to the ground.[line break][line break]A soul silently emerges from the Cutthroat's body and walks into the darkness.";
now the Cutthroat is nowhere;
now the Cutthroat is docile;
otherwise:
say "With deadly accuracy, you throw the knife into the Cutthroat's leg, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "You raise your shield as you brace the impact of the falling knives, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "Five knives fall down from above and pierce your skin, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your armour.";
if the current turns of the Steel Knives is 3:
say "The Cutthroat reaches into his sleeve for another knife." instead;
if the current turns of the Steel Knives is 2:
if the dodgeTrue of the player is 1:
say "The Cutthroat throws his knife but you sidestep the projectile.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "The Cutthroat hurls his knife towards you but you strike the knife midair.[line break][line break]";
if the Cutthroat is dead:
say "You swing upwards with your weapon, hitting the Cutthroat in the chin, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Cutthroat falls to his knees and takes in one more breath as his body falls to the ground.[line break][line break]A soul silently emerges from the Cutthroat's body and walks into the darkness.";
now the Cutthroat is nowhere;
now the Cutthroat is docile;
otherwise:
say "You swing upwards with your weapon, hitting the Cutthroat in the chin, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "A long, silver knife flies straight into your shield, stabbing through the shield and into your arm, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "A long, silver knife flies rapidly into your shoulder, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your armour.";
if the current turns of the Steel Knives is 1:
say "The Cutthroat pulls out ten more knives from his belt." instead;
if the current turns of the Steel Knives is 0:
say "The Cutthroat crouches down low, preparing to strike." instead;
if the current turns of the Steel Knives is 8:
if the dodgeTrue of the player is 1:
say "You roll away from the falling barrage of knives.";
otherwise if the parryTrue of the player is 1:
say "The Cutthroat leaps into the air but you catch him on the way up.[line break][line break]";
if the Cutthroat is dead:
say "You pull the Cutthroat down onto the ground and gash him with your weapon, dealing [riposteDamage of the player] damage![line break][line break]";
say "The Cutthroat falls to his knees and takes in one more breath as his body falls to the ground.[line break][line break]A soul silently emerges from the Cutthroat's body and walks into the darkness.";
now the Cutthroat is nowhere;
now the Cutthroat is docile;
otherwise:
say "You pull the Cutthroat down onto the ground and gash him with your weapon, dealing [riposteDamage of the player] damage!";
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Cutthroat leaps into the air and launches a barrage of knives into your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your shield.";
otherwise if damage inflicted > 0:
say "The Cutthroat leaps into the air and launches a barrage of knives at you, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Cutthroat is unable to penetrate your armour.".
Report hitting a dead Cutthroat:
say "The Cutthroat falls to his knees and takes in one more breath as his body falls to the ground.[line break][line break]A soul silently emerges from the Cutthroat's body and walks into the darkness." instead.
Report Cutthroat hitting the player when the player is dead:
now the current hit points of the player is 0;
say "The Cutthroat pulls out two knives and hurls them into your feet, pinning you to the ground.";
end the story saying "The Cutthroat unleashes a flurry blades towards you, tearing all the flesh from your bones";
stop the action.
Carry out Cutthroat hitting the player:
if the current turns of the Steel Knives is 8:
now the player is notHit;
now the current turns of the Steel Knives is 7;
stop the action;
if the current turns of the Steel Knives is 7:
now the player is hit;
now the current turns of the Steel Knives is 6;
stop the action;
if the current turns of the Steel Knives is 6:
now the player is hit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Cutthroat by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Steel Knives is 5;
stop the action;
if the current turns of the Steel Knives is 5:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Cutthroat by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Steel Knives is 4;
stop the action;
if the current turns of the Steel Knives is 4:
now the player is hit;
now the current turns of the Steel Knives is 3;
stop the action;
if the current turns of the Steel Knives is 3:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Cutthroat by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Steel Knives is 2;
stop the action;
if the current turns of the Steel Knives is 2:
now the player is notHit;
now the current turns of the Steel Knives is 1;
stop the action;
if the current turns of the Steel Knives is 1:
now the player is hit;
now the current turns of the Steel Knives is 0;
stop the action;
if the current turns of the Steel Knives is 0:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Cutthroat by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Steel Knives is 8;
stop the action.
The current hit points of the Mercenary is 4. The maximum hit points of the Mercenary is 4.
The Mercenary is hostile.
The Mercenary carries a weapon called Jagged Blade. The current turns of the Jagged Blade is 8.
Setting action variables for an actor hitting:
if the actor is Mercenary:
if the blockTrue of the player is 0:
now the damage inflicted is a random number between 3 and 5 minus the damageReduction of the player;
otherwise:
let x be the damageReduction of the player plus the damagePrevented of the player;
now the damage inflicted is a random number between 3 and 5 minus x.
Every turn when the player is in the Dilapidated Chamber:
if the Mercenary is hostile, try Mercenary hitting the player.
Report Mercenary hitting the player:
if the current turns of the Jagged Blade is 7:
say "The Mercenary senses you through his blindfold." instead;
if the current turns of the Jagged Blade is 6:
say "The Mercenary sharpens his blade against his dagger." instead;
if the current turns of the Jagged Blade is 5:
say "The Mercenary grips his sword tightly." instead;
if the current turns of the Jagged Blade is 4:
say "The Mercenary bounds in your direction with terrifying speed." instead;
if the current turns of the Jagged Blade is 3:
if the dodgeTrue of the player is 1:
say "You dodge the Mercenary's uppercut as his sword goes past your ear.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You parry the Mercenary's swift uppercut.[line break][line break]";
if the Mercenary is dead:
say "You drive your weapon into the Mercenary's stomach, dealing [riposteDamage of the player] damage![line break][line break]";
say "Blood gushes out the mouth of the Mercenary as he collapses to the floor.[line break][line break]A spirit breaks free from the body of the Mercenary and disappears.";
now the Mercenary is nowhere;
now the Mercenary is docile;
otherwise:
say "You drive your weapon into the Mercenary's stomach, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "Anticipating the attack, you raise your shield to block his strike, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Mercenary dashes up to you and lands a painful uppercut with his blade, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your armour.";
if the current turns of the Jagged Blade is 2:
say "The Mercenary leaps backwards and prepares for another assault." instead;
if the current turns of the Jagged Blade is 1:
if the dodgeTrue of the player is 1:
say "You roll out of the way as the Mercenary blinks behind you.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You quickly turn around and parry the Mercenary as he goes in for a backstab.[line break][line break]";
if the Mercenary is dead:
say "While the Mercenary's guard is down, you quickly jab his chest, dealing [riposteDamage of the player] damage![line break][line break]";
say "Blood gushes out the mouth of the Mercenary as he collapses to the floor.[line break][line break]A spirit breaks free from the body of the Mercenary and disappears.";
now the Mercenary is nowhere;
now the Mercenary is docile;
otherwise:
say "While the Mercenary's guard is down, you quickly jab his chest, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Mercenary blinks behind you and stabs your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Mercenary blinks behind you and stabs you in the back, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your armour.";
if the current turns of the Jagged Blade is 0:
if the dodgeTrue of the player is 1:
say "The Mercenary blinks away and dashes towards you but you avoid his attack.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You strike the Mercenary as he tries to blink away.[line break][line break]";
if the Mercenary is dead:
say "You land a crushing blow to his skull, dealing [riposteDamage of the player] damage![line break][line break]";
say "Blood gushes out the mouth of the Mercenary as he collapses to the floor.[line break][line break]A spirit breaks free from the body of the Mercenary and disappears.";
now the Mercenary is nowhere;
now the Mercenary is docile;
otherwise:
say "You land a crushing blow to his skull, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Mercenary blinks away and dashes into your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Mercenary blinks away and dashes across you, slicing your stomach, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your armour.";
if the current turns of the Jagged Blade is 8:
if the dodgeTrue of the player is 1:
say "The Mercenary blinks away and dashes towards you but you avoid his attack.";
now the dodgeTrue is 0;
otherwise if the parryTrue of the player is 1:
say "You counter the Mercenary's swing, knocking him off balance.[line break][line break]";
if the Mercenary is dead:
say "You swing your weapon across the Mercenary's face, dealing [riposteDamage of the player] damage![line break][line break]";
say "Blood gushes out the mouth of the Mercenary as he collapses to the floor.[line break][line break]A spirit breaks free from the body of the Mercenary and disappears.";
now the Mercenary is nowhere;
now the Mercenary is docile;
otherwise:
say "You swing your weapon across the Mercenary's face, dealing [riposteDamage of the player] damage!";
now the parryTrue is 0;
otherwise if the blockTrue of the the player is 1:
if damage inflicted > 0:
decrease the current hit points of the player by the damage inflicted;
say "The Mercenary blinks above you and crashes his sword onto your shield, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your shield.";
now the blockTrue of the player is 0;
otherwise if damage inflicted > 0:
say "The Mercenary strikes you into the air and blinks above you, slamming you back onto the ground, dealing [damage inflicted] point[s] of damage!";
otherwise:
say "The Mercenary is unable to penetrate your armour.".
Report hitting a dead Mercenary:
say "Blood gushes out the mouth of the Mercenary as he collapses to the floor.[line break][line break]A spirit breaks free from the body of the Mercenary and disappears." instead.
Report Mercenary hitting the player when the player is dead:
now the current hit points of the player is 0;
say "The Mercenary blinks behind you and slices off one of your arms.";
end the story saying "The Mercenary dashes through you, ripping your body in half";
stop the action.
Carry out Mercenary hitting the player:
if the current turns of the Jagged Blade is 8:
now the player is notHit;
now the current turns of the Jagged Blade is 7;
stop the action;
if the current turns of the Jagged Blade is 7:
now the player is notHit;
now the current turns of the Jagged Blade is 6;
stop the action;
if the current turns of the Jagged Blade is 6:
now the player is notHit;
now the current turns of the Jagged Blade is 5;
stop the action;
if the current turns of the Jagged Blade is 5:
now the player is hit;
now the current turns of the Jagged Blade is 4;
stop the action;
if the current turns of the Jagged Blade is 4:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Mercenary by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Jagged Blade is 3;
stop the action;
if the current turns of the Jagged Blade is 3:
now the player is hit;
now the current turns of the Jagged Blade is 2;
stop the action;
if the current turns of the Jagged Blade is 2:
now the player is hit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Mercenary by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Jagged Blade is 1;
stop the action;
if the current turns of the Jagged Blade is 1:
now the player is hit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Mercenary by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Jagged Blade is 0;
stop the action;
if the current turns of the Jagged Blade is 0:
now the player is notHit;
if dodgeTrue of the player is 1:
do nothing;
otherwise if parryTrue of the player is 1:
decrease the current hit points of the Mercenary by the riposteDamage of the player;
otherwise if blockTrue of the player is 1:
do nothing;
otherwise if damage inflicted > 0:
decrease the current hit points of the noun by the damage inflicted;
now the current turns of the Jagged Blade is 8;
stop the action.
Twin Fight is a recurring scene.
Twin Fight begins when the player is in the Dilapidated Chamber.
Every turn during the Twin Fight:
now the left hand status line is "Disciple of Death: [current hit points of Cutthroat]";
now the right hand status line is "Herald of Agony: [current hit points of Mercenary]";
now the player is hostile;
if the Cutthroat is dead:
now the left hand status line is "Disciple of Death: Deceased";
now the Cutthroat is nowhere;
if the Mercenary is dead:
now the right hand status line is "Herald of Agony: Deceased";
now the Mercenary is nowhere;
if the Cutthroat is dead:
if the Mercenary is dead:
now the player is notHit;
now the player is docile.
Twin Fight ends when the player is not in the Dilapidated Chamber.
When Twin Fight ends:
now the player is docile;
now the player is notHit;
now the left hand status line is "";
now the right hand status line is "".
Shadow Bossses ends here.