-
Notifications
You must be signed in to change notification settings - Fork 0
/
cos-combat.sk
4735 lines (4688 loc) · 216 KB
/
cos-combat.sk
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
function helmType(PLR: player) :: number:
if {_PLR} is wearing a leather helmet:
return 0.25
else if {_PLR} is wearing a chain helmet:
return 0.55
else if {_PLR} is wearing an iron helmet:
return 0.75
else if {_PLR} is wearing a gold helmet:
return 0.25
else if {_PLR} is wearing a diamond helmet:
return 0.8
function chestType(PLR: player) :: number:
if {_PLR} is wearing a leather chestplate:
return 0.25
else if {_PLR} is wearing a chain chestplate:
return 0.55
else if {_PLR} is wearing an iron chestplate:
return 1
else if {_PLR} is wearing a gold chestplate:
return 0.5
else if {_PLR} is wearing a diamond chestplate:
return 2
function legType(PLR: player) :: number:
if {_PLR} is wearing leather leggings:
return 0.25
else if {_PLR} is wearing chain leggings:
return 0.55
else if {_PLR} is wearing iron leggings:
return 1
else if {_PLR} is wearing gold leggings:
return 0.5
else if {_PLR} is wearing diamond leggings:
return 2
function btType(PLR: player) :: number:
if {_PLR} is wearing leather boots:
return 0.25
else if {_PLR} is wearing chain boots:
return 0.55
else if {_PLR} is wearing iron boots:
return 0.75
else if {_PLR} is wearing gold boots:
return 0.25
else if {_PLR} is wearing diamond boots:
return 0.8
function startQuest(PLR: player , QUEST: text , DESC: text):
set {quests.%{_PLR}%::%{_QUEST}%} to 1
send title "<white><bold>New Quest: %{_QUEST}%" with subtitle "%{_DESC}%" to {_PLR} for 5 seconds with fade in 0.25 seconds and fade out 0.25 seconds
play sound "entity.firework_rocket.launch" with volume 0.75 and pitch 1 at {_PLR} for {_PLR}
play sound "entity.firework_rocket.twinkle" with volume 0.4 and pitch 1.5 at {_PLR} for {_PLR}
play sound "entity.player.levelup" with volume 1 and pitch 1 at {_PLR} for {_PLR}
play 60 (firework spark with speed 1) at {_PLR}
play 60 (snow shovel with speed 1) at {_PLR}
function setQuestProgress(PLR: player , QUEST: text , STAGE: number, INFO: text):
set {quests.%{_PLR}%::%{_QUEST}%} to {_STAGE}
send title "" with subtitle "%{_INFO}%" to {_PLR} for 2.5 seconds with fade in 0.25 seconds and fade out 0.25 seconds
play sound "entity.player.levelup" with volume 0.5 and pitch 1.5 at {_PLR} for {_PLR}
#play sound "entity.firework_rocket.twinkle" with volume 0.4 and pitch 1.5 at the player for the player
play 10 (firework spark with speed 1) at {_PLR}
play 10 (snow shovel with speed 1) at {_PLR}
function finishQuest(PLR: player , QUEST: text , DESC: text):
set {quests.%{_PLR}%::%{_QUEST}%} to 999
send title "<gold><bold>Quest Complete: %{_QUEST}%" with subtitle "%{_DESC}%" to {_PLR} for 5 seconds with fade in 0.25 seconds and fade out 0.25 seconds
play sound "entity.player.levelup" with volume 1 and pitch 0.75 at {_PLR} for {_PLR}
play sound "entity.firework_rocket.twinkle" with volume 1 and pitch 1.5 at {_PLR} for {_PLR}
play 60 (firework spark with speed 1) at {_PLR}
play 60 (snow shovel with speed 1) at {_PLR}
function failQuest(PLR: player , QUEST: text , DESC: text):
set {quests.%{_PLR}%::%{_QUEST}%} to 998
send title "<light red><bold>Quest Failed: %{_QUEST}%" with subtitle "%{_DESC}%" to {_PLR} for 5 seconds with fade in 0.25 seconds and fade out 0.25 seconds
play 60 (red wool break with speed 1) at {_PLR}
show mob spawner flames on {_PLR}
function specialCheck(PLR: player, PCT: number, CAP: number) :: number:
set {_odds} to (({skl.%{_PLR}%} + {sklbuff.%{_PLR}%}) ^ {_PCT})
if {_odds} is more than {_CAP}:
set {_odds} to {_CAP}
if the 6th line of the lore of {_PLR}'s tool contains "Slaying":
add 10 to {_odds}
if the 2nd line of the lore of {_PLR}'s tool contains "Wrath":
if {_PLR}'s health is less than ({_PLR}'s maximum health * 0.5):
add ({_PLR}'s maximum health - {_PLR}'s health) to {_odds}
if the 6th line of the lore of {_PLR}'s tool contains "Crushing":
add {crushing.%{_PLR}%} to {_odds}
if the name of {_PLR}'s tool is "<gold><bold>Rex Hasta":
if the 6th line of the lore of {_PLR}'s tool contains "Unique":
add 20 to {_odds}
else if the name of {_PLR}'s tool is "<gold><bold>Hauteclere":
if the 6th line of the lore of {_PLR}'s tool contains "Unique":
add 20 to {_odds}
chance of {_odds}%:
return 1
else if {_odds} is more than 100:
return 1
else:
return 0
#Dodge Roll Toggle Command
command /dr [<number=2>]:
description: Toggles your Dodge Roll on and off.
usage: /dr
executable by: players
trigger:
if arg 1 is 1:
set {drenable.%player%} to 1
send "<green><bold>Dodge Roll enabled! Double tap Sneak to roll backwards."
else if arg 1 is 0:
set {drenable.%player%} to 0
send "<green><bold>Dodge Roll disabled!"
else:
if {drenable.%player%} is 1:
set {drenable.%player%} to 0
send "<green><bold>Dodge Roll disabled!"
else:
set {drenable.%player%} to 1
send "<green><bold>Dodge Roll enabled! Double tap Sneak to roll backwards."
#Dodge Roll Refresh and Double-Tap Check
every 0.5 seconds:
loop all players:
if {dr.%loop-player%} is 1 or 2:
set {dr.%loop-player%} to 0
if the 3rd line of the lore of the loop-player's tool contains "Hone":
loop all players in radius 10 of the loop-player:
if loop-player-2 is not the loop-player-1:
if {party.%loop-player-1%} is {party.%loop-player-2%}:
if the 3rd line of the lore of the loop-player-1's tool contains "STR":
add 20 to {strbuff.%loop-player-2%}
wait 0.5 seconds
subtract 20 from {strbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SPD":
add 20 to {spdbuff.%loop-player-2%}
wait 0.5 seconds
subtract 20 from {spdbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SKL":
add 20 to {sklbuff.%loop-player-2%}
wait 0.5 seconds
subtract 20 from {sklbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "DEF":
add 20 to {defbuff.%loop-player-2%}
wait 0.5 seconds
subtract 20 from {defbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "MAG":
add 20 to {resbuff.%loop-player-2%}
wait 0.5 seconds
subtract 20 from {resbuff.%loop-player-2%}
play 10 (lava pop with speed 0.5) at the loop-player-2
exit 1 loop
if the 3rd line of the lore of the loop-player's tool contains "Drive":
loop all players in radius 15 of the loop-player:
if loop-player-2 is not the loop-player-1:
if {party.%loop-player-1%} is {party.%loop-player-2%}:
if the 3rd line of the lore of the loop-player-1's tool contains "STR":
add 10 to {strbuff.%loop-player-2%}
wait 0.5 seconds
subtract 10 from {strbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SPD":
add 10 to {spdbuff.%loop-player-2%}
wait 0.5 seconds
subtract 10 from {spdbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SKL":
add 10 to {sklbuff.%loop-player-2%}
wait 0.5 seconds
subtract 10 from {sklbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "DEF":
add 10 to {defbuff.%loop-player-2%}
wait 0.5 seconds
subtract 10 from {defbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "MAG":
add 10 to {resbuff.%loop-player-2%}
wait 0.5 seconds
subtract 10 from {resbuff.%loop-player-2%}
play 10 (cyan wool break with speed 1) at the loop-player-2
if the 3rd line of the lore of the loop-player's tool contains "Pressure":
loop all entities in radius 15 of the loop-player:
if loop-entity-2 is not loop-player-1:
if loop-entity-2 is not item:
if {party.%loop-entity-2%} is not {party.%loop-player-1%}:
if ({res.%loop-entity-2%} + {resbuff.%loop-entity-2%} + 5) is less than ({res.%loop-player-1%} + {resbuff.%loop-player-1%}):
if {t_lvl.%loop-entity-2%} is not set:
if the 3rd line of the lore of the loop-player-1's tool contains "STR":
subtract 20 from {strbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {strbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SPD":
subtract 20 from {spdbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {spdbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SKL":
subtract 20 from {sklbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {sklbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "DEF":
subtract 20 from {defbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {defbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "MAG":
subtract 20 from {resbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {resbuff.%loop-entity-2%}
play 10 (red wool break with speed 0) at the loop-entity-2
else:
if the 3rd line of the lore of the loop-player-1's tool contains "STR":
subtract 20 from {t_strbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {t_strbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SPD":
subtract 20 from {t_spdbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {t_spdbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SKL":
subtract 20 from {t_sklbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {t_sklbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "DEF":
subtract 20 from {t_defbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {t_defbuff.%loop-entity-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "MAG":
subtract 20 from {t_resbuff.%loop-entity-2%}
wait 0.5 seconds
add 20 to {t_resbuff.%loop-entity-2%}
play 10 (red wool break with speed 0) at the loop-entity-2
if the 3rd line of the lore of the loop-player's tool contains "Authority":
loop all players in radius 15 of the loop-player:
if loop-player-2 is not the loop-player-1:
if {party.%loop-player-1%} is {party.%loop-player-2%}:
if {lvl.%loop-player-1%} is more than {lvl.%loop-player-2%}:
if the 3rd line of the lore of the loop-player-1's tool contains "STR":
add (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) to {strbuff.%loop-player-2%}
wait 0.5 seconds
subtract (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) from {strbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SPD":
add (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) to {spdbuff.%loop-player-2%}
wait 0.5 seconds
subtract (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) from {spdbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "SKL":
add (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) to {sklbuff.%loop-player-2%}
wait 0.5 seconds
subtract (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) from {sklbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "DEF":
add (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) to {defbuff.%loop-player-2%}
wait 0.5 seconds
subtract (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) from {defbuff.%loop-player-2%}
else if the 3rd line of the lore of the loop-player-1's tool contains "MAG":
add (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) to {resbuff.%loop-player-2%}
wait 0.5 seconds
subtract (({lvl.%loop-player-1%} - {lvl.%loop-player-2%}) * 2) from {resbuff.%loop-player-2%}
play 10 (yellow wool break with speed 1) at the loop-player-2
#DR = 0 - Prepped
#DR = 1 - Ready to activated
#DR = 2 - Exhausted, must recharge.
#DRInvincible - Player is rolling with invincibility
#Check Slots Function Imported From cskills.sk
function checkSlots(PLR: player , skill: text) :: number:
if {skillslot1.%{_PLR}%} contains "%{_skill}%":
return 1
else if {skillslot2.%{_PLR}%} contains "%{_skill}%":
return 1
else if {skillslot3.%{_PLR}%} contains "%{_skill}%":
return 1
else if {skillslot4.%{_PLR}%} contains "%{_skill}%":
return 1
else if {skillslot5.%{_PLR}%} contains "%{_skill}%":
return 1
else:
return 0
#Dodge Roll
on sneak toggle:
if {drenable.%player%} is 1:
if player is sneaking:
set {dr.%player%} to 1
if {dr.%player%} is 1:
if player is sneaking:
set {dr.%player%} to 1
else:
set {_flight} to checkSlots(player,"Flight")
if player's hunger is less than 3:
send "<red><bold>Not enough hunger to Dodge Roll!" to the player
else if {_flight} is 1:
if {flying.%player%} is not set:
set {flying.%player%} to 1
set {_armour} to the player's chestplate
set the player's chestplate to 1 elytra
push the player upwards at speed 5
play sound "entity.blaze.shoot" with volume 0.5 and pitch 1.5 at player
send "<light blue>You take to the skies!"
wait 1 second
while player's hunger is more than 3:
if ground state of player is true:
exit 1 loop
else if player is sneaking:
exit 1 loop
play 20 (smoke with speed 0) at player
play 20 (snowball break with speed 0) at player
play sound "entity.enderdragon.flap" with volume 1 and pitch 1 at player
push the player forwards at speed 0.5
if {_food} is not set:
reduce the player's food level by 0.5
set {_food} to 1
else:
clear {_food}
wait 1 second
clear {flying.%player%}
set the player's chestplate to {_armour}
send "<light red>Your wings grow tired..."
play sound "entity.enderdragon.flap" with volume 1 and pitch 1 at player
else:
set {DRInvincible.%player%} to 1
if the 1st line of the lore of the player's boots contains "<light red><bold>Slot A - Long Jump":
push the player forwards at speed 2
else if the 1st line of the lore of the player's boots contains "<light red><bold>Slot A - Quick Stomp":
push the player downwards at speed 3
else if the 1st line of the lore of the player's boots contains "<light red><bold>Slot A - Boost Jump":
push the player upwards at speed 2.5
else:
push the player backwards at speed 0.85
play sound "entity.blaze.shoot" with volume 0.5 and pitch 1.5 at player
loop 15 times:
play 2 (smoke with speed 0) at the player
play 2 (snowball break with speed 1) at the player
wait 1 tick
set {_slotcheck.%player%} to checkSlots(player,"Light Feet")
if {_slotcheck.%player%} is 0:
reduce the player's food level by 0.5
set {dr.%player%} to 2
set {DRInvincible.%player%} to 0
if {quests.%player%::Days of Training} is 3:
send "<light blue>Combat Instructor: Well done. You get invincibility while you're rolling, but it'll cost hunger every time you roll. Save it for emergencies or else you'll tear through your hunger supply." to the player
wait 5 seconds
send "<light blue>Combat Instructor: Now I suppose we're going to have to talk about perks. You'll get these after leveling up or by getting a Promotion, and with one equipped you'll be able to enhance your abilities." to the player
wait 5 seconds
make player execute command "/xp 1l"
send "<light blue>Combat Instructor: Your practice should've earned you an extra level. Go ahead and equip your new HP +5 perk in your perk menu." to the player
setQuestProgress(player,"Days of Training",4,"Equip the HP +5 perk by using /perks.")
#Dodge Roll Invincibility
on damage:
if victim is a player:
if {DRInvincible.%victim%} is 1:
add 1 to {qptally.%victim%}
if {qptally.%victim%} is more than 49:
if {Quickened Pulse.%victim%} is not set:
make victim execute command "/grantskill 0 Quickened Pulse"
set {_slotcheck.%victim%} to checkSlots(victim,"Quickened Pulse")
send "<green><bold>Dodged the attack!" to the victim
play sound "item.totem.use" with volume 1 and pitch 1 at attacker for victim
if {combograde.%victim%} is more than 0:
add damage to {comboscore.%victim%}
cancel event
apply speed 1 to the victim for 3 seconds
if the 1st line of the lore of the victim's boots contains "<light red><bold>Slot A - Quickened Pulse":
apply slowness 6 to the attacker for 3 seconds
apply weakness 6 to the attacker for 3 seconds
apply mining fatigue 6 to the attacker for 3 seconds
send "<light blue><bold>Quickened Pulse activated!" to the victim
loop 5 times:
show smoke on the attacker
show smoke on the attacker
show magical critical hit on the attacker
show magical critical hit on the attacker
#wait 2 ticks
else if the 1st line of the lore of the victim's boots contains "<light red><bold>Slot A - Witch Time":
apply slowness 6 to the attacker for 3 seconds
apply weakness 6 to the attacker for 3 seconds
apply mining fatigue 6 to the attacker for 3 seconds
send "<light purple><bold>Witch Time activated!" to the victim
set {_cheeky} to a random integer between 1 and 8
if {_cheeky} is 1:
send "<light purple><bold>Is that all you've got?" to the attacker
send "<light purple><bold>Is that all you've got?" to the victim
else if {_cheeky} is 2:
send "<light purple><bold>Can't touch me!" to the attacker
send "<light purple><bold>Can't touch me!" to the victim
else if {_cheeky} is 3:
send "<light purple><bold>Too late!" to the attacker
send "<light purple><bold>Too late!" to the victim
else if {_cheeky} is 4:
send "<light purple><bold>So close!" to the attacker
send "<light purple><bold>So close!" to the victim
else if {_cheeky} is 5:
send "<light purple><bold>Almost!" to the attacker
send "<light purple><bold>Almost!" to the victim
else if {_cheeky} is 6:
send "<light purple><bold>Boring!" to the attacker
send "<light purple><bold>Boring!" to the victim
else if {_cheeky} is 7:
send "<light purple><bold>Dreadful!" to the attacker
send "<light purple><bold>Dreadful!" to the victim
else if {_cheeky} is 8:
send "<light purple><bold>Not quite!" to the attacker
send "<light purple><bold>Not quite!" to the victim
loop 5 times:
show smoke on the attacker
show smoke on the attacker
show magical critical hit on the attacker
show magical critical hit on the attacker
#wait 1 tick
else if {_slotcheck.%victim%} is 1:
apply slowness 6 to the attacker for 3 seconds
apply weakness 6 to the attacker for 3 seconds
apply mining fatigue 6 to the attacker for 3 seconds
send "<light blue><bold>Quickened Pulse activated!" to the victim
loop 5 times:
show smoke on the attacker
show smoke on the attacker
show magical critical hit on the attacker
show magical critical hit on the attacker
#wait 2 ticks
command /sandbag:
description: Spawn an infinite-health sandbag that tells you the amount of damage you just dealt.
usage: /sandbag
executable by: players
trigger:
spawn 1 armor stand at the player
set the name of the last spawned entity to "<gold><bold>Sandbag"
command /sbtoggle:
description: Toggle damaging of Sandbags
usage: /sbtoggle
executable by: players
trigger:
if {sandbagkillable.%player%} is 0:
set {sandbagkillable.%player%} to 1
send "Your attacks will now damage Sandbags."
else:
set {sandbagkillable.%player%} to 0
send "Your attacks will no longer damage Sandbags."
#Define new crafting recipes:
on load:
#Lances
register new shaped recipe for wood shovel named "<bold>Wooden Lance" using air, any planks, air, any planks, stick, any planks, air, stick, air
register new shaped recipe for stone shovel named "<bold>Stone Lance" using air, cobblestone, air, cobblestone, stick, cobblestone, air, stick, air
register new shaped recipe for iron shovel named "<bold>Iron Lance" using air, iron ingot, air, iron ingot, stick, iron ingot, air, stick, air
register new shaped recipe for gold shovel named "<bold>Golden Lance" using air, gold ingot, air, gold ingot, stick, gold ingot, air, stick, air
register new shaped recipe for diamond shovel named "<bold>Diamond Lance" using air, diamond, air, diamond, stick, diamond, air, stick, air
#Firearms
register new shaped recipe for iron horse armor named "<light gray>Flintlock Pistol" with lore "<white>Slot A - Empty", "<white>Slot B - Empty", "<white>Slot C - Empty", "<white>Assist - Empty", "<white>Special - Empty", "<white>Refine - N/A", "<white><bold>Clip (MAX: 1):", "1" using air, air, cobblestone, cobblestone, cobblestone, stick, air, stick, stick
register new shaped recipe for iron horse armor named "<light gray>Iron Musket" with lore "<white>Slot A - Empty", "<white>Slot B - Empty", "<white>Slot C - Empty", "<white>Assist - Empty", "<white>Special - Empty", "<white>Refine - N/A", "<white><bold>Clip (MAX: 1):", "1" using air, air, cobblestone, iron ingot, iron ingot, stick, air, stick, stick
register new shaped recipe for iron horse armor named "<light gray>Iron Pistol" with lore "<white>Slot A - Empty", "<white>Slot B - Empty", "<white>Slot C - Empty", "<white>Assist - Empty", "<white>Special - Empty", "<white>Refine - N/A", "<white><bold>Clip (MAX: 8):", "8" using air, air, iron ingot, iron ingot, iron ingot, stick, air, stick, stick
register new shaped recipe for iron horse armor named "<light gray>Redstone Repeater" with lore "<white>Slot A - Empty", "<white>Slot B - Empty", "<white>Slot C - Empty", "<white>Assist - Empty", "<white>Special - Empty", "<white>Refine - N/A", "<white><bold>Clip (MAX: 30):", "30" using air, air, iron ingot, iron ingot, iron ingot, redstone block, air, stick, redstone block
register new shaped recipe for iron horse armor named "<light gray>E-45s" with lore "<white>Slot A - Empty", "<white>Slot B - Empty", "<white>Slot C - Empty", "<white>Assist - Empty", "<white>Special - Empty", "<white>Refine - N/A", "<white><bold>Clip (MAX: 18):", "18" using air, air, quartz block, quartz block, quartz block, leather, air, stick, leather
register new shaped recipe for golden horse armor named "<light gray>Redgrave Sawn-Off" with lore "<white>Slot A - Empty", "<white>Slot B - Empty", "<white>Slot C - Empty", "<white>Assist - Empty", "<white>Special - Empty", "<white>Refine - N/A", "<white><bold>Clip (MAX: 5):", "5" using air, air, quartz block, gold ingot, gold ingot, iron ingot, air, stick, iron ingot
#Magically-Inclined Class Check Function
function checkClass(PLR: player) :: number:
if {class.%{_PLR}%} is "Mage":
return 1
else if {class.%{_PLR}%} is "Sage":
return 1
else if {class.%{_PLR}%} is "Sorcerer":
return 1
else if {class.%{_PLR}%} is "Archwizard":
return 1
else if {class.%{_PLR}%} is "Strategist":
return 1
else if {class.%{_PLR}%} is "Tactician":
return 1
else if {class.%{_PLR}%} is "Grandmaster":
return 1
else:
return 0
#Lance damage correction
on damage:
if projectile exists:
set {_JAVTYPE} to metadata value "JavType" of projectile
if {_JAVTYPE} is 1:
set damage to 1.5
else if {_JAVTYPE} is 2:
set damage to 2.5
else if {_JAVTYPE} is 3:
set damage to 3.5
else if {_JAVTYPE} is 4:
set damage to 4.5
else if {_JAVTYPE} is 5:
set damage to 5
else if {_JAVTYPE} is 6:
set damage to 3.5
else if the name of the attacker's tool contains "<bold>Wooden Lance":
set damage to 2
else if the name of the attacker's tool contains "<bold>Stone Lance":
set damage to 3
else if the name of the attacker's tool contains "<bold>Iron Lance":
set damage to 4
else if the name of the attacker's tool contains "<bold>Golden Lance":
set damage to 3
else if the name of the attacker's tool contains "<bold>Diamond Lance":
set damage to 5
else if the name of the attacker's tool contains "Crusader's Lance":
set damage to 5
#Skill Definitions Start Here
#Periodicals
every 2 seconds:
loop all players:
#Bold Fighter
if the 3rd line of the lore of the loop-player's tool contains "Bold Fighter":
loop all entities in radius 10 of the loop-player:
if loop-entity-2 is alive:
apply strength 2 to loop-entity-2 for 2 seconds
#Leggings Skills
if the lore of the loop-player's leggings contains "Regeneration":
apply regeneration 2 to loop-player for 2 seconds
else if the lore of the loop-player's leggings contains "Strength":
apply strength 2 to loop-player for 2 seconds
else if the lore of the loop-player's leggings contains "Swiftness":
apply swiftness 2 to loop-player for 2 seconds
else if the lore of the loop-player's leggings contains "Resistance":
apply resistance 2 to loop-player for 2 seconds
#Chestplate Skills - Stat Increases
#HP Up
if the lore of the loop-player's chestplate contains "HP":
if {skillhpUp.%loop-player%} is not set:
set {skillhpUp.%loop-player%} to true
add 10 to {hpbuff.%loop-player%}
set the loop-player's maximum health to (({hp.%loop-player%} / 2) + ({hpbuff.%loop-player%} / 2))
else:
if {skillhpUp.%loop-player%} is true:
clear {skillhpUp.%loop-player%}
subtract 10 from {hpbuff.%loop-player%}
set the loop-player's maximum health to (({hp.%loop-player%} / 2) + ({hpbuff.%loop-player%} / 2))
#STR Up
if the lore of the loop-player's chestplate contains "STR":
if {skillstrUp.%loop-player%} is not set:
set {skillstrUp.%loop-player%} to true
add 10 to {strbuff.%loop-player%}
else:
if {skillstrUp.%loop-player%} is set:
clear {skillstrUp.%loop-player%}
subtract 10 from {strbuff.%loop-player%}
#SKL Up
if the lore of the loop-player's chestplate contains "SKL":
if {skillsklUp.%loop-player%} is not set:
set {skillsklUp.%loop-player%} to true
add 20 to {sklbuff.%loop-player%}
else:
if {skillsklUp.%loop-player%} is true:
clear {skillsklUp.%loop-player%}
subtract 20 from {sklbuff.%loop-player%}
#SPD Up
if the lore of the loop-player's chestplate contains "SPD":
if {skillspdUp.%loop-player%} is not set:
set {skillspdUp.%loop-player%} to true
add 10 to {spdbuff.%loop-player%}
else if {skillspdUp.%loop-player%} is true:
clear {skillspdUp.%loop-player%}
subtract 10 from {spdbuff.%loop-player%}
#MAG Up
if the lore of the loop-player's chestplate contains "MAG":
if {skillmagUp.%loop-player%} is not set:
set {skillmagUp.%loop-player%} to true
add 10 to {resbuff.%loop-player%}
else if {skillmagUp.%loop-player%} is true:
clear {skillmagUp.%loop-player%}
subtract 10 from {resbuff.%loop-player%}
#DEF Up
if the lore of the loop-player's chestplate contains "DEF":
if {skilldefUp.%loop-player%} is not set:
set {skilldefUp.%loop-player%} to true
add 10 to {defbuff.%loop-player%}
else if {skilldefUp.%loop-player%} is true:
clear {skilldefUp.%loop-player%}
subtract 10 from {defbuff.%loop-player%}
if the 2nd line of the lore of loop-player's tool contains "Brave Blade":
subtract 15 from {spdbuff.%loop-player%}
wait 1 second
add 15 to {spdbuff.%loop-player%}
every 2 seconds:
#Power Within
loop all players:
if the 1st line of the lore of loop-player's tool contains "Power Within":
damage loop-player by 0.5 with fake cause fall
add 20 to {strbuff.%loop-player%}
add 20 to {defbuff.%loop-player%}
add 20 to {spdbuff.%loop-player%}
add 20 to {sklbuff.%loop-player%}
add 20 to {resbuff.%loop-player%}
wait 2 seconds
subtract 20 from {strbuff.%loop-player%}
subtract 20 from {defbuff.%loop-player%}
subtract 20 from {spdbuff.%loop-player%}
subtract 20 from {sklbuff.%loop-player%}
subtract 20 from {resbuff.%loop-player%}
#On-Damage Buff/Debuff Skills (Time Sensitive)
on damage:
#Darting Blow
if 1st line of the lore of attacker's tool contains "Darting Blow":
if {DBCD.%attacker%} is not true:
add 30 to {spdbuff.%attacker%}
set {DBCD.%attacker%} to true
wait 10 seconds
subtract 30 from {spdbuff.%attacker%}
send "<bold>Darting Blow wore off!" to the attacker
wait 10 seconds
clear {DBCD.%attacker%}
send "<bold>Darting Blow ready!" to the attacker
#Armoured Blow
else if 1st line of the lore of attacker's tool contains "Armoured Blow":
if {ABCD.%attacker%} is not true:
add 30 to {defbuff.%attacker%}
set {ABCD.%attacker%} to true
wait 10 seconds
subtract 30 from {defbuff.%attacker%}
send "<bold>Armoured Blow wore off!" to the attacker
wait 10 seconds
clear {ABCD.%attacker%}
send "<bold>Armoured Blow ready!" to the attacker
#Death Blow
else if 1st line of the lore of attacker's tool contains "Death Blow":
if {DBCD.%attacker%} is not true:
add 30 to {strbuff.%attacker%}
set {DBCD.%attacker%} to true
wait 10 seconds
subtract 30 from {strbuff.%attacker%}
send "<bold>Death Blow wore off!" to the attacker
wait 10 seconds
clear {DBCD.%attacker%}
send "<bold>Death Blow ready!" to the attacker
#Steady Blow
else if 1st line of the lore of attacker's tool is "Steady Blow":
if {SteadyBlow.%attacker%} is not true:
add 20 to {strbuff.%attacker%}
add 20 to {defbuff.%attacker%}
set {SteadyBlow.%attacker%} to true
wait 7 seconds
subtract 20 from {strbuff.%attacker%}
subtract 20 from {defbuff.%attacker%}
send "<bold>Steady Blow wore off!" to the attacker
wait 14 seconds
clear {SteadyBlow.%attacker%}
send "<bold>Steady Blow ready!" to the attacker
#Swift Sparrow
else if 1st line of the lore of attacker's tool contains "Swift Sparrow":
if {SwiftSparrow.%attacker%} is not true:
add 20 to {spdbuff.%attacker%}
add 20 to {strbuff.%attacker%}
set {SwiftSparrow.%attacker%} to true
wait 7 seconds
subtract 20 from {spdbuff.%attacker%}
subtract 20 from {strbuff.%attacker%}
send "<bold>Swift Sparrow wore off!" to the attacker
wait 14 seconds
clear {SwiftSparrow.%attacker%}
send "<bold>Swift Sparrow ready!" to the attacker
#Warding Blow
if 1st line of the lore of attacker's tool contains "Warding Blow":
if {DBCD.%attacker%} is not true:
add 30 to {resbuff.%attacker%}
set {WBCD.%attacker%} to true
wait 10 seconds
subtract 30 from {resbuff.%attacker%}
send "<bold>Warding Blow wore off!" to the attacker
wait 10 seconds
clear {WBCD.%attacker%}
send "<bold>Warding Blow ready!" to the attacker
#Mirror Force
if 1st line of the lore of attacker's tool contains "Mirror Force":
if {MFCD.%attacker%} is not true:
add 20 to {resbuff.%attacker%}
add 20 to {strbuff.%attacker%}
set {MFCD.%attacker%} to true
wait 7 seconds
subtract 20 from {resbuff.%attacker%}
subtract 20 from {strbuff.%attacker%}
send "<bold>Mirror Force wore off!" to the attacker
wait 14 seconds
clear {DBCD.%attacker%}
send "<bold>Mirror Force ready!" to the attacker
#Stances
#Steady Stance
else if the 1st line of the lore of the victim's tool contains "Steady Stance":
if {steadystance.%victim%} is not set:
set {steadystance.%victim%} to true
add 20 to {defbuff.%victim%}
wait 2 seconds
subtract 20 from {defbuff.%victim%}
clear {steadystance.%victim%}
#Swift Stance
else if the 1st line of the lore of the victim's tool contains "Swift Stance":
if {swiftstance.%victim%} is not set:
add 20 to {spdbuff.%victim%}
set {swiftstance.%victim%} to true
wait 2 second
subtract 20 from {spdbuff.%victim%}
clear {swiftstance.%victim%}
#Warding Stance
else if the 1st line of the lore of the victim's tool contains "Warding Stance":
if {wardingstance.%victim%} is not set:
set {wardingstance.%victim%} to true
add 20 to {resbuff.%victim%}
wait 2 second
subtract 20 from {resbuff.%victim%}
clear {wardingstance.%victim%}
#Fierce Stance
else if the 1st line of the lore of the victim's tool contains "Fierce Stance":
if {fiercestance.%victim%} is not set:
add 20 to {strbuff.%victim%}
set {fiercestance.%victim%} to true
wait 2 second
subtract 20 from {strbuff.%victim%}
clear {fiercestance.%victim%}
#Kindled-Fire Sword
if the 6th line of the lore of the attacker's tool contains "Unique":
if {SWLance.%attacker%} is not set:
add 20 to {strbuff.%attacker%}
add 20 to {defbuff.%attacker%}
set {KFSword.%attacker%} to true
wait 5 seconds
subtract 20 from {strbuff.%attacker%}
subtract 20 from {defbuff.%attacker%}
wait 10 seconds
clear {KFSword.%attacker%}
send "<gold>Kindled-Fire Sword's unique refine is recharged!"
#Swift-Winds Lance
if the name of the attacker's tool is "<gold><bold>Swift-Winds Lance":
if the 6th line of the lore of the attacker's tool contains "Unique":
if {SWLance.%attacker%} is not set:
add 20 to {strbuff.%attacker%}
add 20 to {spdbuff.%attacker%}
set {SWLance.%attacker%} to true
wait 5 seconds
subtract 20 from {strbuff.%attacker%}
subtract 20 from {spdbuff.%attacker%}
wait 10 seconds
clear {SWLance.%attacker%}
send "<gold>Swift-Wind Lance's unique refine is recharged!"
#Durandal
else if the name of the attacker's tool contains "<gold><bold>Durandal":
if the 6th line of the lore of the attacker's tool contains "<white><bold>Refined: Unique":
remove strength from the attacker
remove swiftness from the attacker
apply strength 2 to the attacker for 10 seconds
apply swiftness 2 to the attacker for 10 seconds
if damage is more than 4.5:
add damage * 0.5 to {crushing.%attacker%}
#Fensalir
if the name of the attacker's tool contains "<gold><bold>Fensalir":
loop all players in radius 10 of the attacker:
if {party.%loop-player%} is {party.%attacker%}:
if the 6th line of the lore of the attacker's tool contains "<white><bold>Refined: Unique":
add 30 to {strbuff.%attacker%}
add 30 to {sklbuff.%attacker%}
wait 1 second
subtract 30 from {strbuff.%attacker%}
subtract 30 from {sklbuff.%attacker%}
exit 1 loop
#Tyrfing
if the name of the attacker's tool contains "<gold><bold>Tyrfing":
if the 6th line of the lore of the victim's tool contains "<white><bold>Refined: Unique":
loop all players in radius 10 of the attacker:
if {party.%loop-player%} is {party.%attacker%}:
add 40 to {strbuff.%attacker%}
add 40 to {defbuff.%attacker%}
wait 1 second
subtract 40 from {strbuff.%attacker%}
subtract 40 from {defbuff.%attacker%}
exit 1 loop
#Bonds
else if the 1st line of the lore of the attacker's tool contains "Bond":
if {party.%attacker%} is set:
loop all players in radius 10 of the attacker:
if {party.%loop-player%} is {party.%attacker%}:
set {_bondOK} to 1
exit 1 loop
if {_bondOK} is 1:
if the 1st line of the lore of the attacker's tool contains "STR":
add 40 to {strbuff.%attacker%}
wait 1 second
subtract 40 from {strbuff.%attacker%}
else if the 1st line of the lore of the attacker's tool contains "DEF":
add 40 to {defbuff.%attacker%}
wait 1 second
subtract 40 from {defbuff.%attacker%}
else if the 1st line of the lore of the attacker's tool contains "SKL":
add 40 to {sklbuff.%attacker%}
wait 1 second
subtract 40 from {sklbuff.%attacker%}
else if the 1st line of the lore of the attacker's tool contains "MAG":
add 40 to {resbuff.%attacker%}
wait 1 second
subtract 40 from {resbuff.%attacker%}
#Solos
else if the 1st line of the lore of the attacker's tool contains "Solo":
if {party.%attacker%} is not set:
set {_soloOK} to 1
else:
loop all players in radius 10 of the attacker:
if {party.%loop-player%} is {party.%attacker%}:
set {_playerFound} to 1
exit 1 loop
if {_playerFound} is not 1:
set {_soloOK} to 1
if {_soloOK} is 1:
if the 1st line of the lore of the attacker's tool contains "STR":
add 40 to {strbuff.%attacker%}
wait 1 second
subtract 40 from {strbuff.%attacker%}
else if the 1st line of the lore of the attacker's tool contains "DEF":
add 40 to {defbuff.%attacker%}
wait 1 second
subtract 40 from {defbuff.%attacker%}
else if the 1st line of the lore of the attacker's tool contains "SKL":
add 40 to {sklbuff.%attacker%}
wait 1 second
subtract 40 from {sklbuff.%attacker%}
else if the 1st line of the lore of the attacker's tool contains "MAG":
add 40 to {resbuff.%attacker%}
wait 1 second
subtract 40 from {resbuff.%attacker%}
#Smokes
else if the 3rd line of the lore of the attacker's tool contains "Smoke":
loop all entities in radius 10 of the victim:
if loop-entity is not the attacker:
if loop-entity is not the victim:
if {party.%loop-entity%} is not {party.%attacker%}:
if the 3rd line of the lore of the attacker's tool contains "STR":
subtract 10 from {strbuff.%loop-entity%}
wait 1.5 seconds
add 10 to {strbuff.%loop-entity%}
else if the 3rd line of the lore of the attacker's tool contains "SPD":
subtract 10 from {spdbuff.%loop-entity%}
wait 1.5 seconds
add 10 to {spdbuff.%loop-entity%}
else if the 3rd line of the lore of the attacker's tool contains "SKL":
subtract 15 from {sklbuff.%loop-entity%}
wait 1.5 seconds
add 15 to {sklbuff.%loop-entity%}
else if the 3rd line of the lore of the attacker's tool contains "DEF":
subtract 10 from {defbuff.%loop-entity%}
wait 1.5 seconds
add 10 to {defbuff.%loop-entity%}
else if the 3rd line of the lore of the attacker's tool contains "MAG":
subtract 10 from {resbuff.%loop-entity%}
wait 1.5 seconds
add 10 to {resbuff.%loop-entity%}
#Sabotage Attack
if the 2nd line of the lore of the attacker's tool contains "Sabotage Attack":
remove weakness from the victim
apply weakness 2 to the victim for 5 seconds
#Sabotage Speed
else if the 2nd line of the lore of the attacker's tool contains "Sabotage Speed":
remove slowness from the victim
apply slowness 2 to the victim for 5 seconds
#Poison Strike
else if the 2nd line of the lore of the attacker's tool contains "Poison Strike":
remove wither from the victim
apply wither 3 to the victim for 5 seconds
#Mystic Boost
else if the 2nd line of the lore of the attacker's tool contains "Mystic Boost":
heal the attacker by 1.5 hearts
#Windsweep
else if the 2nd line of the lore of the attacker's tool contains "Windsweep":
if ({spd.%attacker%} + {spdbuff.%attacker%}) is more than or equal to ({spd.%victim%} + {spdbuff.%victim%} + 15):
remove weakness from the victim
apply weakness 6 to the victim for 3 seconds
#Boost Skills
#Flame Boost
if the 2nd line of the lore of the attacker's tool contains "Flame Boost":
if (attacker's health - victim's health) is more than or equal to 6:
add 15 to {strbuff.%attacker%}
add 15 to {spdbuff.%attacker%}
add 15 to {sklbuff.%attacker%}
wait 1.5 seconds
subtract 15 from {strbuff.%attacker%}
subtract 15 from {spdbuff.%attacker%}
subtract 15 from {sklbuff.%attacker%}
#Earth Boost
if the 2nd line of the lore of the victim's tool contains "Earth Boost":
if (victim's health - attacker's health) is more than or equal to 6:
add 15 to {defbuff.%victim%}
add 15 to {spdbuff.%victim%}
add 15 to {resbuff.%victim%}
wait 1.5 seconds
subtract 15 from {defbuff.%victim%}
subtract 15 from {spdbuff.%victim%}
subtract 15 from {resbuff.%victim%}
#Aqua Boost
if the 2nd line of the lore of the attacker's tool contains "Aqua Boost":
if (attacker's health - victim's health) is more than or equal to 6:
add 15 to {resbuff.%attacker%}
add 15 to {spdbuff.%attacker%}
add 15 to {sklbuff.%attacker%}
wait 1.5 seconds
subtract 15 from {resbuff.%attacker%}
subtract 15 from {spdbuff.%attacker%}
subtract 15 from {sklbuff.%attacker%}
#Other
#Gae Bolg
if the name of the victim's tool contains "<gold><bold>Gae Bolg":
if victim's health is less than (victim's maximum health * 0.5):
if {vanready.%victim%} is not set:
cancel event
send "<gold>%victim%'s Vantage skill activated!" to the attacker
send "<gold>%victim%'s Vantage skill activated!" to the victim
damage the attacker by (damage * 0.5)
push the attacker backwards at speed 1.5
set {vanready.%victim%} to 1
wait 15 seconds
clear {vanready.%victim%}
subtract 50 from {sklbuff.%attacker%}
wait 1 second
add 50 to {sklbuff.%attacker%}
#Vantage (Perk)
set {_sklcheck.%victim%} to checkSlots(victim,"Vantage")
if victim's health is less than (victim's health / 2):
if {_sklcheck.%victim%} is 1:
if {vanready.%victim%} is set:
cancel event
send "%victim%'s Vantage skill activated!" to the attacker
send "%victim%'s Vantage skill activated!" to the victim
damage the attacker by damage * 0.5
push the attacker backwards at speed 1
clear {vanready.%victim%}
wait 7.5 seconds
set {vanready.%victim%} to 1
#Vantage
if the 2nd line of the lore of the victim's tool contains "Vantage":
if the victim's health is less than (victim's maximum health * 0.50):
if the name of the attacker's tool is not "<gold><bold>Swift-Winds Lance":
loop all entities in radius 4 of the victim:
if loop-entity is attacker:
set {_cc} to 1
if {_cc} is 1:
if victim's tool is not a bow:
if victim's tool is not a book:
if victim's tool is not blaze rod:
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5
set {vancooldown.%victim%} to true
wait 10 seconds
clear {vancooldown.%victim%}
else if the 1st line of the lore of the victim's tool contains "Close Counter":
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5
set {vancooldown.%victim%} to true
wait 10 seconds
clear {vancooldown.%victim%}
else if the 1st line of the lore of the victim's tool contains "Close Counter":
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5
set {vancooldown.%victim%} to true
wait 10 seconds
clear {vancooldown.%victim%}
else if the 1st line of the lore of the victim's tool contains "Close Counter":
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5
set {vancooldown.%victim%} to true
wait 10 seconds
clear {vancooldown.%victim%}
else if victim's tool is bow:
if victim's tool is book:
if victim's tool is blaze rod:
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5
set {vancooldown.%victim%} to true
wait 10 seconds
clear {vancooldown.%victim%}
else if the 1st line of the lore of the victim's tool contains "Distant Counter":
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5
set {vancooldown.%victim%} to true
wait 10 seconds
clear {vancooldown.%victim%}
else if the 1st line of the lore of the victim's tool contains "Distant Counter":
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5
set {vancooldown.%victim%} to true
wait 10 seconds
clear {vancooldown.%victim%}
else if the 1st line of the lore of the victim's tool contains "Distant Counter":
damage the attacker by damage * 0.50
push the attacker upwards at speed 0.25
push the attacker backwards at speed 0.5