-
Notifications
You must be signed in to change notification settings - Fork 11
/
customWorldboss.lua
2037 lines (1830 loc) · 109 KB
/
customWorldboss.lua
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
--Copyright (C) 2022 https://github.com/55Honey
--
--This program is free software: you can redistribute it and/or modify
--it under the terms of the GNU Affero General Public License as published by
--the Free Software Foundation, either version 3 of the License, or
--(at your option) any later version.
--
--This program is distributed in the hope that it will be useful,
--but WITHOUT ANY WARRANTY; without even the implied warranty of
--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--GNU Affero General Public License for more details.
--
--You should have received a copy of the GNU Affero General Public License
--along with this program. If not, see <http://www.gnu.org/licenses/>.
--
--
--
--
-- Created by IntelliJ IDEA.
-- User: Silvia
-- Date: 17/05/2021
-- Time: 19:50
-- To change this template use File | Settings | File Templates.
-- Originally created by Honey for Azerothcore
-- requires ElunaLua module
-- This module spawns (custom) NPCs and grants them scripted combat abilities
------------------------------------------------------------------------------------------------
-- ADMIN GUIDE: - compile the core with ElunaLua module
-- - adjust config in this file
-- - add this script to ../lua_scripts/
-- - adjust the IDs and config flags in case of conflicts and run the associated SQL to add the required NPCs
-- - the acore_cms module assumes that 1112001 is the boss of encounter 1 and adding +10 for each subsequent encounter
-- (1112011 = boss for encounter 2 / 1112021 = boss for encounter 3, etc.)
------------------------------------------------------------------------------------------------
-- GM GUIDE: - use .startevent $event $difficulty to start and spawn
-- - maybe offer teleports
-- - use .stopevent to end the event and despawn the NPC
------------------------------------------------------------------------------------------------
local Config = {} --general config flags
local Config_npcEntry = {} --db entry of the NPC creature to summon the boss
local Config_npcText = {} --gossip in npc_text to be told by the summoning NPC
local Config_bossEntry = {} --db entry of the boss creature
local Config_addEntry = {} --db entry of the add creature
local Config_bossSpell1 = {} --directly applied to the tank
local Config_bossSpell2 = {} --randomly applied to a player in 35m(configurable) range
local Config_bossSpell2MaxRange = {} --max range im m to check for targets for boss spell 2 (default 35)
local Config_bossSpell3 = {} --on the 2nd nearest player within 30m (only when adds are dead)
local Config_bossSpell4 = {} --on a random player within 40m (only when adds are dead)
local Config_bossSpell4Counter = {} --amount of casts to perform for spell 4. defaults to 1
local Config_bossSpell4MaxRange = {} --max range im m to check for targets for boss spell 4 (default 40)
local Config_bossSpell5 = {} --directly applied to the tank with adds alive
local Config_bossSpell6 = {} --directly applied to the tank when adds are dead
local Config_bossSpell7 = {} --directly applied to the tank
local Config_bossSpell8 = {} --directly applied to the tank x seconds after spell 7
local Config_bossSpell8delay = {} --delay between spell 7 and 8. Must be smaller than timer7 / 2
local Config_bossSpellSelf = {} --cast on boss while adds are still alive
local Config_bossSpellEnrage = {} --cast on boss once after Config_bossSpellEnrageTimer ms have passed
local Config_bossSpellTimer1 = {} -- This timer applies to Config_bossSpell1 (in ms)
local Config_bossSpellTimer2 = {} -- This timer applies to Config_bossSpell2 (in ms)
local Config_bossSpellTimer3 = {} -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later (in ms)
-- local Config_bossSpellTimer4 = {} -- Not used. Timer3 covers BossSpells 3+4
local Config_bossSpellTimer5 = {} -- This timer applies to Config_bossSpell5+6 (in ms)
-- local Config_bossSpellTimer6 = {} -- Not used. Timer5 covers BossSpells 5+6
local Config_bossSpellTimer7 = {} -- This timer applies to Config_bossSpell7+8 (in ms)
-- local Config_bossSpellTimer8 = {} -- Not used. Timer7 covers BossSpells 7+8
local Config_bossSpellEnrageTimer = {} -- Time in ms until Config_bossSpellEnrage is cast
local Config_minPhaseForTimer7 = {} -- From this phase on the boss will use Timer 7 to cast Spell 7+8
local Config_bossSpellModifier1bp0 = {} -- Custom base value of the spell 1s effect #1. Default if left out.
local Config_bossSpellModifier1bp1 = {} -- Custom base value of the spell 1s effect #2. Default if left out.
local Config_bossSpellModifier2bp0 = {} -- Custom base value of the spell 2s effect #1. Default if left out.
local Config_bossSpellModifier2bp1 = {} -- Custom base value of the spell 2s effect #2. Default if left out.
local Config_bossSpellModifier3bp0 = {} -- Custom base value of the spell 3s effect #1. Default if left out.
local Config_bossSpellModifier3bp1 = {} -- Custom base value of the spell 3s effect #2. Default if left out.
local Config_bossSpellModifier4bp0 = {} -- Custom base value of the spell 4s effect #1. Default if left out.
local Config_bossSpellModifier4bp1 = {} -- Custom base value of the spell 4s effect #2. Default if left out.
local Config_bossSpellModifier5bp0 = {} -- Custom base value of the spell 5s effect #1. Default if left out.
local Config_bossSpellModifier5bp1 = {} -- Custom base value of the spell 5s effect #2. Default if left out.
local Config_bossSpellModifier6bp0 = {} -- Custom base value of the spell 6s effect #1. Default if left out.
local Config_bossSpellModifier6bp1 = {} -- Custom base value of the spell 6s effect #2. Default if left out.
local Config_bossSpellModifier7bp0 = {} -- Custom base value of the spell 6s effect #1. Default if left out.
local Config_bossSpellModifier7bp1 = {} -- Custom base value of the spell 6s effect #2. Default if left out.
local Config_bossSpellModifier8bp0 = {} -- Custom base value of the spell 6s effect #1. Default if left out.
local Config_bossSpellModifier8bp1 = {} -- Custom base value of the spell 6s effect #2. Default if left out.
local Config_addHealthModifierParty = {} -- modifier to change health for party encounter. Value in the SQL applies for raid
local Config_addsAmount = {} -- how many adds will spawn
local Config_addSpell1 = {} -- min range 30m, 1-3rd farthest target within 30m
local Config_addSpell2 = {} -- min range 45m, cast on tank
local Config_addSpell3 = {} -- min range 0m, cast on Self
local Config_addSpell4 = {} -- cast on the boss
local Config_addSpellEnrage = {} -- This spell will be cast on the add in 5man mode only after 300 seconds
local Config_addSpellTimer1 = {} -- This timer applies to Config_addSpell1 (in ms)
local Config_addSpellTimer2 = {} -- This timer applies to Config_addSpell2 (in ms)
local Config_addSpellTimer3 = {} -- This timer applies to Config_addSpell3 (in ms)
local Config_addSpellTimer4 = {} -- This timer applies to Config_addSpell4 (in ms)
local Config_addSpellModifier1bp0 = {} -- Custom base value of the spell 1s effect #1. Default if left out.
local Config_addSpellModifier1bp1 = {} -- Custom base value of the spell 1s effect #2. Default if left out.
local Config_addSpellModifier2bp0 = {} -- Custom base value of the spell 2s effect #1. Default if left out.
local Config_addSpellModifier2bp1 = {} -- Custom base value of the spell 2s effect #2. Default if left out.
local Config_addSpellModifier3bp0 = {} -- Custom base value of the spell 3s effect #1. Default if left out.
local Config_addSpellModifier3bp1 = {} -- Custom base value of the spell 3s effect #2. Default if left out.
local Config_aura1Add1 = {} -- an aura to add to the 1st add
local Config_aura2Add1 = {} -- another aura to add to the 1st add
local Config_aura1Add2 = {} -- an aura to add to the 2nd add
local Config_aura2Add2 = {} -- another aura to add to the 2nd add
local Config_aura1Add3 = {} -- an aura to add to all adds from the 3rd on
local Config_aura2Add3 = {} -- another aura to add to all adds from the 3rd on
local Config_addSpell3Yell = {} -- yell for the adds when Spell 3 is cast
local Config_addEnoughYell = {} -- yell for the add at 33% and 66% hp
local Config_addEnoughSound = {} -- sound to play when the add is at 33% and 66%
local Config_addSpell2Sound = {} -- sound to play when add casts spell 2
local Config_bossYellPhase2 = {} -- yell for the boss when phase 2 starts
local Config_bossSpellSelfYell = {} -- yell for the boss when they cast on themself
local Config_fireworks = {} -- these are the fireworks to be cast randomly for 20s when an encounter was beaten
------------------------------------------
-- Begin of config section
------------------------------------------
-- Name of Eluna dB scheme
Config.customDbName = "ac_eluna"
-- Min GM rank to start an event
Config.GMRankForEventStart = 2
-- Min GM rank to add NPCs to the db
Config.GMRankForUpdateDB = 3
-- set to 1 to print error messages to the console. Any other value including nil turns it off.
Config.printErrorsToConsole = 1
-- time in ms before adds enrage in 5man mode
Config.addEnrageTimer = 300000
-- spell to cast at 33 and 66%hp in party mode (charge with a knockback = 19471)
Config.addEnoughSpell = 19471
-- base score per encounter
Config.baseScore = 40
-- additional score per difficulty level
Config.additionalScore = 10
-- set to award score for beating raids. Any other value including nil turns it off.
Config.rewardRaid = 1
-- set to 1 to store succesful raid attempts in the db. Any other value including nil turns it off.
Config.storeRaid = 1
-- set to award score for beating party encounter. Any other value including nil turns it off.
Config.rewardParty = 0
-- set to 1 to store succesful party attempts in the db. Any other value including nil turns it off.
Config.storeParty = 1
-- npc entry for party-only mode
Config.partySelectNpc = 1112999
-- generic welcome text1
Config.defaultNpcText1 = 91101
-- generic welcome text2
Config.defaultNpcText2 = 91102
-- activate permanent 5man only NPC
Config.partySelectNpcActive = 0
-- Map where to spawn the exchange NPC
Config.InstanceId = 0
Config.MapId = 1
-- Pos where to spawn the exchange NPC
Config.NpcX = -7168.4
Config.NpcY = -3961.6
Config.NpcZ = 9.403
Config.NpcO = 6.24
Config.PartyNpcYellText = 'Come to the Gadgetzan graveyard, if you dare. Try and prove yourself to Chromie!'
Config.PartyNpcSayText = 'What are you waiting for? Bring a party of five and step up against the enemies of time!'
------------------------------------------
-- List of encounters:
-- 1: Level 50, Glorifrir Flintshoulder / Zombie Captain
-- 2: Level 40, Pondulum of Deem / Seawitch
-- 3: Level 50, Crocolisk Dundee / Aligator Minion
-- 4: Level 50, Crocolisk Bunbee / Aligator Pet
-- 5: Level 60, Crocolisk Rundee / Aligator Guard
-- 6: Level 60: One-Three-Three-Seven / Ragnarosqt
-- 7: Level 60: Big Bad Bug / Bug's Bunny
------------------------------------------
------------------------------------------
-- Begin of encounter 1 config
------------------------------------------
-- Database NPC entries. Must match the associated .sql file
Config_bossEntry[1] = 1112001 --db entry of the boss creature
Config_npcEntry[1] = 1112002 --db entry of the NPC creature to summon the boss
Config_addEntry[1] = 1112003 --db entry of the add creature
Config_npcText[1] = 91111 --gossip in npc_text to be told by the summoning NPC
-- list of spells:
Config_bossSpell1[1] = 38846 --directly applied to the tank-- Forceful Cleave (Target + nearest ally)
Config_bossSpell2[1] = 45108 --randomly applied to a player in 35m range-- CKs Fireball
Config_bossSpell2MaxRange[1] = 35 --max range im m/y to check for targets for boss spell 2 (default 35)
Config_bossSpell3[1] = 53721 --on the 2nd nearest player within 30m-- Death and decay (10% hp per second)
Config_bossSpell4[1] = 37279 --on a random player within 40m-- Rain of Fire
Config_bossSpell4Counter[1] = 1 --amount of casts to perform for spell 4. defaults to 1
Config_bossSpell4MaxRange[1] = 40 --max range im m to check for targets for boss spell 4 (default 40)
Config_bossSpell5[1] = nil --this line is not neccesary. If a spell is missing it will just be skipped
Config_bossSpell6[1] = nil --this line is not neccesary. If a spell is missing it will just be skipped
Config_bossSpellSelf[1] = 69898 --cast on boss while adds are still alive-- Hot
Config_bossSpellEnrage[1] = 69166 --cast on boss once after Config_bossSpellEnrageTimer ms have passed-- Soft Enrage
Config_bossSpellTimer1[1] = 19000 -- This timer applies to Config_bossSpell1
Config_bossSpellTimer2[1] = 23000 -- This timer applies to Config_bossSpell2
Config_bossSpellTimer3[1] = 11000 -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later
Config_bossSpellTimer5[1] = nil -- This timer applies to Config_bossSpell5+6
Config_bossSpellEnrageTimer[1] = 180000
Config_bossSpellModifier1bp0[1] = nil -- base damage of the Cleave
Config_bossSpellModifier1bp1[1] = nil -- not required if nil
Config_bossSpellModifier2bp0[1] = 2000 -- Fireball modifier hit
Config_bossSpellModifier2bp1[1] = 2000 -- Fireball modifier tick
Config_bossSpellModifier3bp0[1] = 10 -- base damage of the D&D
Config_bossSpellModifier3bp1[1] = nil -- not required if nil
Config_bossSpellModifier4bp0[1] = 1200 -- tick damage of fire rain
Config_bossSpellModifier4bp1[1] = nil -- not required if nil
Config_bossSpellModifier5bp0[1] = nil -- not required if nil
Config_bossSpellModifier5bp1[1] = nil -- not required if nil
Config_bossSpellModifier6bp0[1] = nil -- not required if nil
Config_bossSpellModifier6bp1[1] = nil -- not required if nil
Config_addHealthModifierParty[1] = 1 -- modifier to change health for party encounter. Value in the SQL applies for raid
Config_addsAmount[1] = 3 -- how many adds will spawn
Config_addSpell1[1] = 12421 -- min range 30m, 1-3rd farthest target within 30m -- Mithril Frag Bomb 8y 149-201 damage + stun
Config_addSpell2[1] = 60488 -- min range 45m, cast on tank -- Shadow Bolt (30)
Config_addSpell3[1] = 24326 -- min range 0m -- HIGH knockback (ZulFarrak beast)
Config_addSpell4[1] = 69898 -- cast on boss - Hot
Config_addSpellEnrage[1] = 69166 -- Enrage after 300 seconds
Config_addSpellTimer1[1] = 13000 -- This timer applies to Config_addSpell1
Config_addSpellTimer2[1] = 11000 -- This timer applies to Config_addSpell2
Config_addSpellTimer3[1] = 37000 -- This timer applies to Config_addSpell3
Config_addSpellTimer4[1] = 12000 -- This timer applies to Config_addSpell4
Config_addSpellModifier1bp0[1] = 500 -- not required if nil
Config_addSpellModifier1bp1[1] = nil -- not required if nil
Config_addSpellModifier2bp0[1] = 2000 -- not required if nil
Config_addSpellModifier2bp1[1] = nil -- not required if nil
Config_addSpellModifier3bp0[1] = nil -- not required if nil
Config_addSpellModifier3bp1[1] = nil -- not required if nil
Config_aura1Add1[1] = 34184 -- an aura to add to the 1st add-- Arcane
Config_aura2Add1[1] = 7941 -- another aura to add to the 1st add-- Nature
Config_aura1Add2[1] = 7942 -- an aura to add to the 2nd add-- Fire
Config_aura2Add2[1] = 7940 -- another aura to add to the 2nd add-- Frost
Config_aura1Add3[1] = 34182 -- an aura to add to the 3rd add-- Holy
Config_aura2Add3[1] = 34309 -- another aura to add to the 3rd add-- Shadow
Config_addSpell3Yell[1] = "Me smash." -- yell for the adds when Spell 3 is cast
Config_addEnoughYell[1] = "ENOUGH" -- yell for the add at 33% and 66% hp
Config_addEnoughSound[1] = 412 -- sound to play when the add is at 33% and 66%
Config_addSpell2Sound[1] = 6436 -- sound to play when add casts spell 2
--yell for the boss when all adds are dead
Config_bossYellPhase2[1] = "You might have handled these creatures. But now I WILL handle YOU!"
-- yell for the boss when they cast on themself
Config_bossSpellSelfYell[1] = nil
------------------------------------------
-- Begin of encounter 2 config
------------------------------------------
-- Database NPC entries. Must match the associated .sql file
Config_bossEntry[2] = 1112011 --db entry of the boss creature
Config_npcEntry[2] = 1112012 --db entry of the NPC creature to summon the boss
Config_addEntry[2] = 1112013 --db entry of the add creature
Config_npcText[2] = 91112 --gossip in npc_text to be told by the summoning NPC
-- list of spells:
Config_bossSpell1[2] = 33661 --directly applied to the tank-- Crush Armor: 10% reduction, stacks
Config_bossSpell2[2] = 51503 --randomly applied to a player in 35m range-- Domination
Config_bossSpell2MaxRange[2] = 35 --max range im m/y to check for targets for boss spell 2 (default 35)
Config_bossSpell3[2] = 35198 --on the 2nd nearest player within 30m-- AE fear
Config_bossSpell4[2] = 35198 --on a random player within 40m-- AE Fear
Config_bossSpell4Counter[2] = 1 --amount of casts to perform for spell 4. defaults to 1
Config_bossSpell4MaxRange[2] = 40 --max range im m to check for targets for boss spell 4 (default 40)
Config_bossSpell5[2] = nil --this line is not neccesary. If a spell is missing it will just be skipped
Config_bossSpell6[2] = 31436 --directly applied to the tank when adds are dead
Config_bossSpellSelf[2] = nil --cast on boss while adds are still alive
Config_bossSpellEnrage[2] = 54356 --cast on boss once after Config_bossSpellEnrageTimer ms have passed-- Soft Enrage
Config_bossSpellTimer1[2] = 10000 -- This timer applies to Config_bossSpell1
Config_bossSpellTimer2[2] = 23000 -- This timer applies to Config_bossSpell2
Config_bossSpellTimer3[2] = 29000 -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later
Config_bossSpellTimer5[2] = 19000 -- This timer applies to Config_bossSpell5+6
Config_bossSpellEnrageTimer[2] = 300000
Config_addHealthModifierParty[2] = 1 -- modifier to change health for party encounter. Value in the SQL applies for raid
Config_addsAmount[2] = 2 -- how many adds will spawn
Config_addSpell1[2] = 10150 -- min range 30m, 1-3rd farthest target within 30m
Config_addSpell2[2] = 37704 -- min range 45m, cast on tank
Config_addSpell3[2] = 68958 -- min range 0m -- Blast Nova
Config_addSpell4[2] = 69389 -- cast on the boss
Config_addSpellEnrage[2] = nil -- Enrage after 300 seconds
Config_addSpellTimer1[2] = 13000 -- This timer applies to Config_addSpell1
Config_addSpellTimer2[2] = 11000 -- This timer applies to Config_addSpell2
Config_addSpellTimer3[2] = 37000 -- This timer applies to Config_addSpell3
Config_addSpellTimer4[2] = 23000 -- This timer applies to Config_addSpell4
Config_aura1Add1[2] = nil -- an aura to add to the 1st add--
Config_aura2Add1[2] = nil -- another aura to add to the 1st add--
Config_aura1Add2[2] = nil -- an aura to add to the 2nd add--
Config_aura2Add2[2] = nil -- another aura to add to the 2nd add--
Config_aura1Add3[2] = nil -- an aura to add to all ads from the 3rd on--
Config_aura2Add3[2] = nil -- another aura to add to all add from the 3rd on--
Config_addSpell3Yell[2] = "Thissss." -- yell for the adds when Spell 3 is cast
Config_addEnoughYell[2] = "Ssssssuffer!"-- yell for the add at 33% and 66% hp
Config_addEnoughSound[2] = 412 -- sound to play when the add is at 33% and 66%
Config_addSpell2Sound[2] = 6436 -- sound to play when add casts spell 2
--yell for the boss when all adds are dead
Config_bossYellPhase2[2] = "Now. You. Die."
-- yell for the boss when they cast on themself
Config_bossSpellSelfYell[2] = nil
------------------------------------------
-- Begin of encounter 3 config
------------------------------------------
-- Database NPC entries. Must match the associated .sql file
Config_bossEntry[3] = 1112021 --db entry of the boss creature
Config_npcEntry[3] = 1112022 --db entry of the NPC creature to summon the boss
Config_addEntry[3] = 1112023 --db entry of the add creature
Config_npcText[3] = 91113 --gossip in npc_text to be told by the summoning NPC
-- list of spells:
Config_bossSpell1[3] = nil --directly applied to the tank--
Config_bossSpell2[3] = 56909 --randomly applied to a player in 35m range-- Cleave, up to 10 targets
Config_bossSpell2MaxRange[3] = 5 --max range im m/y to check for targets for boss spell 2 (default 35)
Config_bossSpell3[3] = nil --on the 2nd nearest player within 30m--
Config_bossSpell4[3] = 11446 --on a random player within 40m-- 5min domination
Config_bossSpell4Counter[3] = 1 --amount of casts to perform for spell 4. defaults to 1
Config_bossSpell4MaxRange[3] = 40 --max range im m to check for targets for boss spell 4 (default 40)
Config_bossSpell5[3] = 22643 --directly applied to the tank with adds alive --volley
Config_bossSpell6[3] = 22643 --directly applied to the tank when adds are dead --volley
Config_bossSpellSelf[3] = 55948 --cast on boss while adds are still alive
Config_bossSpellEnrage[3] = 54356 --cast on boss once after Config_bossSpellEnrageTimer ms have passed-- Soft Enrage
Config_bossSpellTimer1[3] = 10000 -- This timer applies to Config_bossSpell1
Config_bossSpellTimer2[3] = 23000 -- This timer applies to Config_bossSpell2
Config_bossSpellTimer3[3] = 29000 -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later
Config_bossSpellTimer5[3] = 19000 -- This timer applies to Config_bossSpell5+6
Config_bossSpellEnrageTimer[3] = 300000
Config_addHealthModifierParty[3] = 3 -- modifier to change health for party encounter. Value in the SQL applies for raid
Config_addsAmount[3] = 8 -- how many adds will spawn
Config_addSpell1[3] = 29320 -- min range 30m, 1-3rd farthest target within 30m -- charge
Config_addSpell2[3] = nil -- min range 45m, cast on tank
Config_addSpell3[3] = 23105 -- min range 0m -- Lightning cloud
Config_addSpell4[3] = nil -- cast on the boss
Config_addSpellEnrage[3] = nil -- Enrage after 300 seconds
Config_addSpellTimer1[3] = 37000 -- This timer applies to Config_addSpell1
Config_addSpellTimer2[3] = nil -- This timer applies to Config_addSpell2
Config_addSpellTimer3[3] = 37000 -- This timer applies to Config_addSpell3
Config_addSpellTimer4[3] = nil -- This timer applies to Config_addSpell4
Config_aura1Add1[3] = nil -- an aura to add to the 1st add--
Config_aura2Add1[3] = nil -- another aura to add to the 1st add--
Config_aura1Add2[3] = nil -- an aura to add to the 2nd add--
Config_aura2Add2[3] = nil -- another aura to add to the 2nd add--
Config_aura1Add3[3] = nil -- an aura to add to all ads from the 3rd on--
Config_aura2Add3[3] = nil -- another aura to add to all add from the 3rd on--
Config_addSpell3Yell[3] = "Mmmrrrrrrrr."-- yell for the adds when Spell 3 is cast
Config_addEnoughYell[3] = "Rooooaaar" -- yell for the add at 33% and 66% hp
Config_addEnoughSound[3] = 412 -- sound to play when the add is at 33% and 66%
Config_addSpell2Sound[3] = 6436 -- sound to play when add casts spell 2
--yell for the boss when all adds are dead
Config_bossYellPhase2[3] = " I'll git ye!"
-- yell for the boss when they cast on themself
Config_bossSpellSelfYell[3] = "Yous Minions be feeding me all ya Strength!"
------------------------------------------
-- Begin of encounter 4 config
------------------------------------------
-- Database NPC entries. Must match the associated .sql file
Config_bossEntry[4] = 1112031 --db entry of the boss creature
Config_npcEntry[4] = 1112032 --db entry of the NPC creature to summon the boss
Config_addEntry[4] = 1112033 --db entry of the add creature
Config_npcText[4] = 91114 --gossip in npc_text to be told by the summoning NPC
-- list of spells:
Config_bossSpell1[4] = nil --directly applied to the tank--
Config_bossSpell2[4] = 56909 --randomly applied to a player in [Config_bossSpell2MaxRange] meters-- Cleave, up to 10 targets
Config_bossSpell2MaxRange[4] = 5 --max range im m/y to check for targets for boss spell 2 (default 35)
Config_bossSpell3[4] = 19717 --on the 2nd nearest player within 30m-- fire rain
Config_bossSpell4[4] = 11446 --on a random player within 40m-- 5min domination
Config_bossSpell4Counter[4] = 1 --amount of casts to perform for spell 4. defaults to 1
Config_bossSpell4MaxRange[4] = 40 --max range im m to check for targets for boss spell 4 (default 40)
Config_bossSpell5[4] = 22643 --directly applied to the tank with adds alive --volley
Config_bossSpell6[4] = 22643 --directly applied to the tank when adds are dead --volley
Config_bossSpell7[4] = nil --directly applied to the tank
Config_bossSpell8[4] = nil --directly applied to the tank x seconds after spell 7
Config_bossSpellSelf[4] = 55948 --cast on boss while adds are still alive
Config_bossSpellEnrage[4] = 54356 --cast on boss once after Config_bossSpellEnrageTimer ms have passed-- Soft Enrage
Config_bossSpellTimer1[4] = 10000 -- This timer applies to Config_bossSpell1
Config_bossSpellTimer2[4] = 23000 -- This timer applies to Config_bossSpell2
Config_bossSpellTimer3[4] = 29000 -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later
Config_bossSpellTimer5[4] = 19000 -- This timer applies to Config_bossSpell5+6
Config_bossSpellTimer7[4] = nil -- This timer applies to Config_bossSpell7+8
Config_bossSpell8delay[4] = nil -- Delay between spell 7 and 8. Must be smaller than timer7 / 2
Config_bossSpellEnrageTimer[4] = 300000
Config_bossSpellModifier1bp0[4] = 35 -- base damage of the Cleave
Config_bossSpellModifier1bp1[4] = nil -- not required if nil
Config_bossSpellModifier2bp0[4] = nil -- not required if nil
Config_bossSpellModifier2bp1[4] = nil -- not required if nil
Config_bossSpellModifier3bp0[4] = 800 -- base damage of the fire rain
Config_bossSpellModifier3bp1[4] = nil -- not required if nil
Config_bossSpellModifier4bp0[4] = nil -- not required if nil
Config_bossSpellModifier4bp1[4] = nil -- not required if nil
Config_bossSpellModifier5bp0[4] = 250 -- base damage for the Frostbolt Volley in P1
Config_bossSpellModifier5bp1[4] = nil -- not required if nil
Config_bossSpellModifier6bp0[4] = 400 -- base damage for the Frostbolt Volley in P2
Config_bossSpellModifier6bp1[4] = nil -- not required if nil
Config_bossSpellModifier7bp0[4] = nil -- not required if nil
Config_bossSpellModifier7bp1[4] = nil -- not required if nil
Config_bossSpellModifier8bp0[4] = nil -- not required if nil
Config_bossSpellModifier8bp1[4] = nil -- not required if nil
Config_addHealthModifierParty[4] = 3 -- modifier to change health for party encounter. Value in the SQL applies for raid
Config_addsAmount[4] = 8 -- how many adds will spawn
Config_addSpell1[4] = 29320 -- min range 30m, 1-3rd farthest target within 30m --charge
Config_addSpell2[4] = nil -- min range 45m, cast on tank
Config_addSpell3[4] = 23105 -- min range 0m -- lightning cloud
Config_addSpell4[4] = 69898 -- cast on the boss -- hot
Config_addSpellEnrage[4] = nil -- Enrage after 300 seconds
Config_addSpellTimer1[4] = 37000 -- This timer applies to Config_addSpell1
Config_addSpellTimer2[4] = nil -- This timer applies to Config_addSpell2
Config_addSpellTimer3[4] = 37000 -- This timer applies to Config_addSpell3
Config_addSpellTimer4[4] = 12000 -- This timer applies to Config_addSpell4
Config_addSpellModifier1bp0[4] = nil -- not required if nil
Config_addSpellModifier1bp1[4] = nil -- not required if nil
Config_addSpellModifier2bp0[4] = nil -- not required if nil
Config_addSpellModifier2bp1[4] = nil -- not required if nil
Config_addSpellModifier3bp0[4] = 500 -- Initial damage of Lightning Cloud
Config_addSpellModifier3bp1[4] = 1000 -- Tick damage of Lightning Cloud
Config_aura1Add1[4] = 42375 -- an aura to add to the 1st add-- AE heal
Config_aura2Add1[4] = nil -- another aura to add to the 1st add--
Config_aura1Add2[4] = 42375 -- an aura to add to the 2nd add-- AE heal
Config_aura2Add2[4] = nil -- another aura to add to the 2nd add--
Config_aura1Add3[4] = 42375 -- an aura to add to all ads from the 3rd on-- AE heal
Config_aura2Add3[4] = nil -- another aura to add to all add from the 3rd on--
Config_addSpell3Yell[4] = "Mmmrrrrrrrr."-- yell for the adds when Spell 3 is cast
Config_addEnoughYell[4] = "Rooooaaar" -- yell for the add at 33% and 66% hp
Config_addEnoughSound[4] = 412 -- sound to play when the add is at 33% and 66%
Config_addSpell2Sound[4] = 6436 -- sound to play when add casts spell 2
--yell for the boss when all adds are dead
Config_bossYellPhase2[4] = " I'll git ye!"
-- yell for the boss when they cast on themself
Config_bossSpellSelfYell[4] = "Yous Minions be feeding me all ya Strength!"
------------------------------------------
-- Begin of encounter 5 config
------------------------------------------
-- Database NPC entries. Must match the associated .sql file
Config_bossEntry[5] = 1112041 --db entry of the boss creature
Config_npcEntry[5] = 1112042 --db entry of the NPC creature to summon the boss
Config_addEntry[5] = 1112043 --db entry of the add creature
Config_npcText[5] = 91115 --gossip in npc_text to be told by the summoning NPC
-- list of spells:
Config_bossSpell1[5] = nil --directly applied to the tank--
Config_bossSpell2[5] = 56909 --randomly applied to a player in 35m range-- Cleave, up to 10 targets
Config_bossSpell2MaxRange[5] = 5 --max range im m/y to check for targets for boss spell 2 (default 35)
Config_bossSpell3[5] = 19717 --on the 2nd nearest player within 30m--
Config_bossSpell4[5] = 11446 --on a random player within 40m-- 5min domination
Config_bossSpell4Counter[5] = 1 --amount of casts to perform for spell 4. defaults to 1
Config_bossSpell4MaxRange[5] = 40 --max range im m to check for targets for boss spell 4 (default 40)
Config_bossSpell5[5] = 22643 --directly applied to the tank with adds alive --volley
Config_bossSpell6[5] = 22643 --directly applied to the tank when adds are dead --volley
Config_bossSpell7[5] = 16805 --directly applied to the tank
Config_bossSpell8[5] = 16805 --directly applied to the tank x seconds after spell 7
Config_bossSpell8delay[5] = 6000 --delay between spell 7 and 8. Must be smaller than timer7 / 2
Config_bossSpellSelf[5] = 55948 --cast on boss while adds are still alive
Config_bossSpellEnrage[5] = 54356 --cast on boss once after Config_bossSpellEnrageTimer ms have passed-- Soft Enrage
Config_bossSpellTimer1[5] = 10000 -- This timer applies to Config_bossSpell1
Config_bossSpellTimer2[5] = 23000 -- This timer applies to Config_bossSpell2
Config_bossSpellTimer3[5] = 29000 -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later
Config_bossSpellTimer5[5] = 19000 -- This timer applies to Config_bossSpell5+6
Config_bossSpellTimer7[5] = 18000 -- This timer applies to Config_bossSpell7+8 (in ms)
Config_bossSpellEnrageTimer[5] = 300000
Config_bossSpellModifier1bp0[5] = 35 -- base damage of the Cleave
Config_bossSpellModifier1bp1[5] = nil -- not required if nil
Config_bossSpellModifier2bp0[5] = nil -- not required if nil
Config_bossSpellModifier2bp1[5] = nil -- not required if nil
Config_bossSpellModifier3bp0[5] = 800 -- base damage of the fire rain
Config_bossSpellModifier3bp1[5] = nil -- not required if nil
Config_bossSpellModifier4bp0[5] = nil -- not required if nil
Config_bossSpellModifier4bp1[5] = nil -- not required if nil
Config_bossSpellModifier5bp0[5] = 250 -- base damage for the Frostbolt Volley in P1
Config_bossSpellModifier5bp1[5] = nil -- not required if nil
Config_bossSpellModifier6bp0[5] = 400 -- base damage for the Frostbolt Volley in P2
Config_bossSpellModifier6bp1[5] = nil -- not required if nil
Config_bossSpellModifier7bp0[5] = nil -- not required if nil
Config_bossSpellModifier7bp1[5] = nil -- not required if nil
Config_bossSpellModifier8bp0[5] = nil -- not required if nil
Config_bossSpellModifier8bp1[5] = nil -- not required if nil
Config_addHealthModifierParty[5] = 2 -- modifier to change health for party encounter. Value in the SQL applies for raid
Config_addsAmount[5] = 6 -- how many adds will spawn
Config_addSpell1[5] = 29320 -- min range 30m, 1-3rd farthest target within 30m -- charge
Config_addSpell2[5] = nil -- min range 45m, cast on tank
Config_addSpell3[5] = 23105 -- min range 0m -- Lightning cloud
Config_addSpell4[5] = 69898 -- cast on the boss
Config_addSpellEnrage[5] = nil -- Enrage after 300 seconds
Config_addSpellTimer1[5] = 37000 -- This timer applies to Config_addSpell1
Config_addSpellTimer2[5] = nil -- This timer applies to Config_addSpell2
Config_addSpellTimer3[5] = 37000 -- This timer applies to Config_addSpell3
Config_addSpellTimer4[5] = 12000 -- This timer applies to Config_addSpell4
Config_addSpellModifier1bp0[5] = nil -- not required if nil
Config_addSpellModifier1bp1[5] = nil -- not required if nil
Config_addSpellModifier2bp0[5] = nil -- not required if nil
Config_addSpellModifier2bp1[5] = nil -- not required if nil
Config_addSpellModifier3bp0[5] = 400 -- Initial damage of Lightning Cloud
Config_addSpellModifier3bp1[5] = 1200 -- Tick damage of Lightning Cloud
Config_aura1Add1[5] = 42375 -- an aura to add to the 1st add-- AE heal
Config_aura2Add1[5] = nil -- another aura to add to the 1st add--
Config_aura1Add2[5] = 42375 -- an aura to add to the 2nd add-- AE heal
Config_aura2Add2[5] = nil -- another aura to add to the 2nd add--
Config_aura1Add3[5] = 42375 -- an aura to add to all ads from the 3rd on-- AE heal
Config_aura2Add3[5] = nil -- another aura to add to all add from the 3rd on--
Config_addSpell3Yell[5] = "Mmmrrrrrrrr."-- yell for the adds when Spell 3 is cast
Config_addEnoughYell[5] = "Rooooaaar" -- yell for the add at 33% and 66% hp
Config_addEnoughSound[5] = 412 -- sound to play when the add is at 33% and 66%
Config_addSpell2Sound[5] = 6436 -- sound to play when add casts spell 2
--yell for the boss when all adds are dead
Config_bossYellPhase2[5] = " I'll git ye!"
-- yell for the boss when they cast on themself
Config_bossSpellSelfYell[5] = "Yous Minions be feeding me all ya Strength!"
------------------------------------------
-- Begin of encounter 6 config
------------------------------------------
-- Database NPC entries. Must match the associated .sql file
Config_bossEntry[6] = 1112051 --db entry of the boss creature
Config_npcEntry[6] = 1112052 --db entry of the NPC creature to summon the boss
Config_addEntry[6] = 1112053 --db entry of the add creature
Config_npcText[6] = 91116 --gossip in npc_text to be told by the summoning NPC
-- list of spells:
Config_bossSpell1[6] = 15283 --directly applied to the tank-- 8second stun
Config_bossSpell2[6] = 25034 --randomly applied to a player in 35m range-- Forked Lightning
Config_bossSpell2MaxRange[6] = 30 --max range im m/y to check for targets for boss spell 2 (default 35)
Config_bossSpell3[6] = 25021 --on the 2nd nearest player within 30m-- Chain Lightning
Config_bossSpell4[6] = 11446 --on a random player within 40m-- 5min domination
Config_bossSpell4Counter[6] = 1 --amount of casts to perform for spell 4. defaults to 1
Config_bossSpell4MaxRange[6] = 40 --max range im m to check for targets for boss spell 4 (default 40)
Config_bossSpell5[6] = nil --directly applied to the tank with adds alive --volley
Config_bossSpell6[6] = nil --directly applied to the tank when adds are dead --volley
Config_bossSpell7[6] = 37106 --directly applied to the tank - Charged Arcane Explosion
Config_bossSpell8[6] = 43648 --directly applied to the tank x seconds after spell 7 - Electrical Storm
Config_bossSpell8delay[6] = 8000 --delay between spell 7 and 8. Must be smaller than timer7 / 2
Config_bossSpellSelf[6] = 67973 --cast on boss while adds are still alive (Rejuvenation)
Config_bossSpellEnrage[6] = 54356 --cast on boss once after Config_bossSpellEnrageTimer ms have passed-- Soft Enrage
Config_bossSpellTimer1[6] = 10000 -- This timer applies to Config_bossSpell1
Config_bossSpellTimer2[6] = 23000 -- This timer applies to Config_bossSpell2
Config_bossSpellTimer3[6] = 29000 -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later
Config_bossSpellTimer5[6] = 19000 -- This timer applies to Config_bossSpell5+6
Config_bossSpellTimer7[6] = 22000 -- This timer applies to Config_bossSpell7+8 (in ms)
Config_bossSpellEnrageTimer[6] = 300000
Config_minPhaseForTimer7[6] = 2 -- From this phase on the boss will use Timer 7 to cast Spell 7+8. Will ignore it before.
Config_bossSpellModifier1bp0[6] = nil -- not required if nil
Config_bossSpellModifier1bp1[6] = nil -- not required if nil
Config_bossSpellModifier2bp0[6] = 1000 -- base damage of the forked lightning
Config_bossSpellModifier2bp1[6] = nil -- not required if nil
Config_bossSpellModifier3bp0[6] = 800 -- base damage of the Chain Lightning
Config_bossSpellModifier3bp1[6] = nil -- not required if nil
Config_bossSpellModifier4bp0[6] = nil -- not required if nil
Config_bossSpellModifier4bp1[6] = nil -- not required if nil
Config_bossSpellModifier5bp0[6] = nil -- not required if nil
Config_bossSpellModifier5bp1[6] = nil -- not required if nil
Config_bossSpellModifier6bp0[6] = nil -- not required if nil
Config_bossSpellModifier6bp1[6] = nil -- not required if nil
Config_bossSpellModifier7bp0[6] = 500 -- base damage for Charged Arcane Explosion
Config_bossSpellModifier7bp1[6] = nil -- not required if nil
Config_bossSpellModifier8bp0[6] = nil -- not required if nil
Config_bossSpellModifier8bp1[6] = nil -- not required if nil
Config_addHealthModifierParty[6] = 0.2 -- modifier to change health for party encounter. Value in the SQL applies for raid
Config_addsAmount[6] = 2 -- how many adds will spawn
Config_addSpell1[6] = 28884 -- min range 30m, 1-3rd farthest target within 30m -- Meteor
Config_addSpell2[6] = 19630 -- min range 45m, cast on tank -- Cone of Fire
Config_addSpell3[6] = 13808 -- min range 0m -- Grenade
Config_addSpell4[6] = 67973 -- cast on the boss (Rejuvenation)
Config_addSpellEnrage[6] = nil -- Enrage after 300 seconds
Config_addSpellTimer1[6] = 37000 -- This timer applies to Config_addSpell1
Config_addSpellTimer2[6] = 13000 -- This timer applies to Config_addSpell2
Config_addSpellTimer3[6] = 7000 -- This timer applies to Config_addSpell3
Config_addSpellTimer4[6] = 12000 -- This timer applies to Config_addSpell4
Config_addSpellModifier1bp0[6] = nil -- not required if nil
Config_addSpellModifier1bp1[6] = nil -- not required if nil
Config_addSpellModifier2bp0[6] = nil -- not required if nil
Config_addSpellModifier2bp1[6] = nil -- not required if nil
Config_addSpellModifier3bp0[6] = 1000 -- not required if nil
Config_addSpellModifier3bp1[6] = nil -- not required if nil
Config_aura1Add1[6] = 13022 -- an aura to add to the 1st add-- Fire and Arcane Reflect
Config_aura2Add1[6] = 19595 -- another aura to add to the 1st add-- Shadow and Frost Reflect
Config_aura1Add2[6] = 25777 -- an aura to add to the 2nd add-- Thorns
Config_aura2Add2[6] = nil -- another aura to add to the 2nd add--
Config_aura1Add3[6] = nil -- an aura to add to all ads from the 3rd on-- Fiery Aura
Config_aura2Add3[6] = nil -- another aura to add to all add from the 3rd on--
Config_addSpell3Yell[6] = "Die, Insect."-- yell for the adds when Spell 3 is cast
Config_addEnoughYell[6] = "Feel my Wrath!" -- yell for the add at 33% and 66% hp
Config_addEnoughSound[6] = 412 -- sound to play when the add is at 33% and 66%
Config_addSpell2Sound[6] = 6436 -- sound to play when add casts spell 2
--yell for the boss when all adds are dead
Config_bossYellPhase2[6] = "Bee bop. Reconfiguring!"
-- yell for the boss when they cast on themself
Config_bossSpellSelfYell[6] = "Adjusting Defenses. Stand back."
------------------------------------------
-- Begin of encounter 7 config
------------------------------------------
-- Database NPC entries. Must match the associated .sql file
Config_bossEntry[7] = 1112061 --db entry of the boss creature
Config_npcEntry[7] = 1112062 --db entry of the NPC creature to summon the boss
Config_addEntry[7] = 1112063 --db entry of the add creature
Config_npcText[7] = 91117 --gossip in npc_text to be told by the summoning NPC
-- list of spells:
Config_bossSpell1[7] = 15283 --directly applied to the tank-- 8second stun
Config_bossSpell2[7] = nil --on a random player within Config_bossSpell2MaxRange
Config_bossSpell2MaxRange[7] = 50 --max range im m/y to check for targets for boss spell 2 (default 35)
Config_bossSpell3[7] = 29484 --on the 2nd nearest player within 30m -- Web Spray
Config_bossSpell4[7] = 59108 --on a random player within Config_bossSpell4MaxRange -- Glutinous Poison
Config_bossSpell4Counter[7] = 10 --amount of casts to perform for spell 4. defaults to 1
Config_bossSpell4MaxRange[7] = 30 --max range im m to check for targets for boss spell 4 (default 40)
Config_bossSpell5[7] = 28741 --directly applied to the tank with adds alive --poison cone
Config_bossSpell6[7] = 28741 --directly applied to the tank when adds are dead --poison cone
Config_bossSpell7[7] = nil --directly applied to the tank -
Config_bossSpell8[7] = nil --directly applied to the tank x seconds after spell 7 -
Config_bossSpell8delay[7] = nil --delay between spell 7 and 8. Must be smaller than timer7 / 2
Config_bossSpellSelf[7] = 19712 --cast on boss while adds are still alive (Arcane Explosion)
Config_bossSpellEnrage[7] = 54356 --cast on boss once after Config_bossSpellEnrageTimer ms have passed-- Soft Enrage
Config_bossSpellTimer1[7] = 10000 -- This timer applies to Config_bossSpell1
Config_bossSpellTimer2[7] = 37000 -- This timer applies to Config_bossSpell2
Config_bossSpellTimer3[7] = 29000 -- This timer applies to Config_bossSpellSelf in phase 1 and Config_bossSpell3+4 randomly later
Config_bossSpellTimer5[7] = 19000 -- This timer applies to Config_bossSpell5+6
Config_bossSpellTimer7[7] = 22000 -- This timer applies to Config_bossSpell7+8 (in ms)
Config_bossSpellEnrageTimer[7] = 90000
Config_minPhaseForTimer7[7] = 3 -- From this phase on the boss will use Timer 7 to cast Spell 7+8. Will ignore it before.
Config_bossSpellModifier1bp0[7] = nil -- not required if nil
Config_bossSpellModifier1bp1[7] = nil -- not required if nil
Config_bossSpellModifier2bp0[7] = nil -- not required if nil
Config_bossSpellModifier2bp1[7] = nil -- not required if nil
Config_bossSpellModifier3bp0[7] = nil -- not required if nil
Config_bossSpellModifier3bp1[7] = 250 -- web spray damage
Config_bossSpellModifier4bp0[7] = 1000 -- base damage of Glutinous Poison
Config_bossSpellModifier4bp1[7] = nil -- not required if nil
Config_bossSpellModifier5bp0[7] = 750 -- base damage of poison cone
Config_bossSpellModifier5bp1[7] = nil -- not required if nil
Config_bossSpellModifier6bp0[7] = 1500 -- base damage of poison cone
Config_bossSpellModifier6bp1[7] = nil -- not required if nil
Config_bossSpellModifier7bp0[7] = nil -- not required if nil
Config_bossSpellModifier7bp1[7] = nil -- not required if nil
Config_bossSpellModifier8bp0[7] = nil -- not required if nil
Config_bossSpellModifier8bp1[7] = nil -- not required if nil
Config_addHealthModifierParty[7] = 0.2 -- modifier to change health for party encounter. Value in the SQL applies for raid
Config_addsAmount[7] = 4 -- how many adds will spawn
Config_addSpell1[7] = 12421 -- min range 30m, 1-3rd farthest target within 30m -- Mithril Grenade
Config_addSpell2[7] = 23105 -- min range 45m, cast on tank
Config_addSpell3[7] = nil -- min range 0m
Config_addSpell4[7] = 67891 -- cast on the boss (Direct full heal)
Config_addSpellEnrage[7] = nil -- Enrage after 300 seconds
Config_addSpellTimer1[7] = 23000 -- This timer applies to Config_addSpell1
Config_addSpellTimer2[7] = 13000 -- This timer applies to Config_addSpell2
Config_addSpellTimer3[7] = 7000 -- This timer applies to Config_addSpell3
Config_addSpellTimer4[7] = 12000 -- This timer applies to Config_addSpell4
Config_addSpellModifier1bp0[7] = 714 -- not required if nil
Config_addSpellModifier1bp1[7] = nil -- not required if nil
Config_addSpellModifier2bp0[7] = 500 -- not required if nil
Config_addSpellModifier2bp1[7] = 1000 -- not required if nil
Config_addSpellModifier3bp0[7] = 1000 -- not required if nil
Config_addSpellModifier3bp1[7] = nil -- not required if nil
Config_aura1Add1[7] = 13022 -- an aura to add to the 1st add-- Fire and Arcane Reflect
Config_aura2Add1[7] = 19595 -- another aura to add to the 1st add-- Shadow and Frost Reflect
Config_aura1Add2[7] = 25777 -- an aura to add to the 2nd add-- Fire and Arcane Reflect
Config_aura2Add2[7] = 19595 -- another aura to add to the 2nd add -- Shadow and Frost Reflect
Config_aura1Add3[7] = 25777 -- an aura to add to all ads from the 3rd on-- Thorns
Config_aura2Add3[7] = nil -- another aura to add to all add from the 3rd on--
Config_addSpell3Yell[7] = "Bow to your gods!"-- yell for the adds when Spell 3 is cast
Config_addEnoughYell[7] = "Feel my Wrath!" -- yell for the add at 33% and 66% hp
Config_addEnoughSound[7] = 6763 -- sound to play when the add is at 33% and 66%
Config_addSpell2Sound[7] = 721 -- sound to play when add casts spell 2
--yell for the boss when all adds are dead
Config_bossYellPhase2[7] = "Sssssszzzzzzzzz!"
-- yell for the boss when they cast on themself
Config_bossSpellSelfYell[7] = "SSSSSSSUFfffrrrrr!"
------------------------------------------
-- End of encounter 7
------------------------------------------
-- these are the fireworks to be cast randomly for 20s when an encounter was beaten
Config_fireworks[1] = 66400
Config_fireworks[2] = 66402
Config_fireworks[3] = 46847
Config_fireworks[4] = 46829
Config_fireworks[5] = 46830
Config_fireworks[6] = 62074
Config_fireworks[7] = 62075
Config_fireworks[8] = 62077
Config_fireworks[9] = 55420
------------------------------------------
-- NO ADJUSTMENTS REQUIRED BELOW THIS LINE
------------------------------------------
--constants
local PLAYER_EVENT_ON_LOGOUT = 4 -- (event, player)
local PLAYER_EVENT_ON_REPOP = 35 -- (event, player)
local PLAYER_EVENT_ON_COMMAND = 42 -- (event, player, command) - player is nil if command used from console. Can return false
local TEMPSUMMON_MANUAL_DESPAWN = 8 -- despawns when UnSummon() is called
local GOSSIP_EVENT_ON_HELLO = 1 -- (event, player, object) - Object is the Creature/GameObject/Item. Can return false to do default action. For item gossip can return false to stop spell casting.
local GOSSIP_EVENT_ON_SELECT = 2 -- (event, player, object, sender, intid, code, menu_id)
local OPTION_ICON_CHAT = 0
local OPTION_ICON_BATTLE = 9
local SELECT_TARGET_RANDOM = 0 -- Just selects a random target
local SELECT_TARGET_TOPAGGRO = 1 -- Selects targets from top aggro to bottom
local SELECT_TARGET_BOTTOMAGGRO = 2 -- Selects targets from bottom aggro to top
local SELECT_TARGET_NEAREST = 3
local SELECT_TARGET_FARTHEST = 4
local PARTY_IN_PROGRESS = 1
local RAID_IN_PROGRESS = 2
local ELUNA_EVENT_ON_LUA_STATE_CLOSE = 16
--local variables
local cancelGossipEvent
local eventInProgress
local bossfightInProgress
local difficulty -- difficulty is set when using .startevent and it is meant for a range of 1-10
local addsDownCounter
local phase
local addphase
local x
local y
local z
local o
local spawnedBossGuid
local spawnedNPCGuid
local encounterStartTime
local mapEventStart
local npcObjectGuid
local partyNpcSayCounter = 0
local lastBossSpell1
local lastBossSpell2
local lastBossSpell3
local lastBossSpell5
local lastBossSpell7
local nextBossSpell8Delay
local lastBossSpellSelf
local lastAddSpell1 = {}
local lastAddSpell2 = {}
local lastAddSpell3 = {}
local lastAddSpell4 = {}
local partyEvent = {} -- selected boss per [accountId] for party only mode
--local arrays
local cancelEventIdHello = {}
local cancelEventIdStart = {}
local addNPC = {}
local bossNPC = {}
local playersInRaid = {}
local groupPlayers = {}
local playersForFireworks = {}
local spawnedCreatureGuid = {}
local scoreEarned = {}
local scoreTotal = {}
if Config.addEnoughSpell == nil then PrintError("customWorldboss.lua: Missing flag Config.addEnoughSpell.") end
if Config.customDbName == nil then PrintError("customWorldboss.lua: Missing flag Config.customDbName.") end
if Config.GMRankForEventStart == nil then PrintError("customWorldboss.lua: Missing flag Config.GMRankForEventStart.") end
if Config.GMRankForUpdateDB == nil then PrintError("customWorldboss.lua: Missing flag Config.GMRankForUpdateDB.") end
if Config.printErrorsToConsole == nil then PrintError("customWorldboss.lua: Missing flag Config.printErrorsToConsole.") end
if Config.addEnrageTimer == nil then PrintError("customWorldboss.lua: Missing flag Config.addEnrageTimer.") end
local function eS_has_value (tab, val)
for index, value in ipairs(tab) do
if value == val then
return true
end
end
return false
end
local function eS_returnIndex (tab, val)
for index, value in ipairs(tab) do
if value == val then
return index
end
end
return false
end
local function newAutotable(dim)
local MT = {};
for i=1, dim do
MT[i] = {__index = function(t, k)
if i < dim then
t[k] = setmetatable({}, MT[i+1])
return t[k];
end
end}
end
return setmetatable({}, MT[1]);
end
local function eS_castFireworks(eventId, delay, repeats)
local player
for n, v in pairs(playersForFireworks) do
player = GetPlayerByGUID(v)
if player ~= nil then
player:CastSpell(player, Config_fireworks[math.random(1, #Config_fireworks)])
end
end
if repeats == 1 then
playersForFireworks = {}
end
end
local function eS_resetPlayers(event, player)
if eS_has_value(playersInRaid, player:GetGUID()) and player:GetPhaseMask() ~= 1 then
if player ~= nil then
if player:GetCorpse() ~= nil then
player:GetCorpse():SetPhaseMask(1)
end
player:SetPhaseMask(1)
player:SendBroadcastMessage("You left the event.")
end
end
end
local function eS_getSize(difficulty)
local value
if difficulty == 1 then
value = 1
else
value = 1 + (difficulty - 1) / 4
end
return value
end
local function eS_splitString(inputstr, seperator)
if seperator == nil then
seperator = "%s"
end
local t={}
for str in string.gmatch(inputstr, "([^"..seperator.."]+)") do
table.insert(t, str)
end
return t
end
local function eS_checkInCombat()
--check if all players are in combat
local player
for _, v in pairs(playersInRaid) do
player = GetPlayerByGUID(v)
if player ~= nil then
if player:IsInCombat() == false and player:GetPhaseMask() == 2 then
if player:GetCorpse() ~= nil then
player:GetCorpse():SetPhaseMask(1)
end
player:SetPhaseMask(1)
player:SendBroadcastMessage("You were returned to the real time because you did not participate.")
end
end
end
end
local function eS_getEncounterDuration()
local dt = GetTimeDiff(encounterStartTime)
return string.format("%.2d:%.2d", (dt / 1000 / 60) % 60, (dt / 1000) % 60)
end
local function eS_getTimeSince(time)
if time then
return GetTimeDiff(time)
end
return 0
end
local function eS_getDifficultyTimer(rawTimer)
if difficulty == 1 then
return rawTimer
else
local timer = rawTimer / (1 + ((difficulty - 1) / 9))
return timer
end
end
local function eS_getDifficultyModifier(base)
if difficulty == 1 then
return base
else
local modifier = base * (1 + ((difficulty - 1) / 9))
return modifier
end
end
local function eS_onHello(event, player, creature)
if player == nil then return end
if bossfightInProgress ~= nil then
player:SendBroadcastMessage("Some heroes are still fighting the enemies of time since "..eS_getEncounterDuration())
player:GossipMenuAddItem(OPTION_ICON_CHAT, "What's my score?", Config_npcEntry[eventInProgress], 0)
player:GossipSendMenu(Config_npcText[eventInProgress], creature, 0)
return
end
player:GossipMenuAddItem(OPTION_ICON_CHAT, "What's my score?", Config_npcEntry[eventInProgress], 0)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "We are ready to fight a servant!", Config_npcEntry[eventInProgress], 1)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "We brought the best there is and we're ready for anything.", Config_npcEntry[eventInProgress], 2)
player:GossipSendMenu(Config_npcText[eventInProgress], creature, 0)
end
local function eS_onPartyOnlyHello(event, player, creature)
if player == nil then return end
if bossfightInProgress ~= nil then
player:SendBroadcastMessage("Some heroes are still fighting the enemies of time since "..eS_getEncounterDuration())
player:GossipMenuAddItem(OPTION_ICON_CHAT, "What's my score?", Config.partySelectNpc, 0)
player:GossipSendMenu(Config.defaultNpcText1, creature, 0)
return
end
player:GossipMenuAddItem(OPTION_ICON_CHAT, "What's my score?", Config.partySelectNpc, 0)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 1)", Config.partySelectNpc, 1)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 2)", Config.partySelectNpc, 2)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 3)", Config.partySelectNpc, 3)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 4)", Config.partySelectNpc, 4)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 5)", Config.partySelectNpc, 5)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 6)", Config.partySelectNpc, 6)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 7)", Config.partySelectNpc, 7)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 8)", Config.partySelectNpc, 8)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 9)", Config.partySelectNpc, 9)
player:GossipMenuAddItem(OPTION_ICON_CHAT, "Let us fight a servant! (Difficulty 10)", Config.partySelectNpc, 10)
player:GossipSendMenu(Config.defaultNpcText1, creature, 0)
end
local function awardScore()
local score = Config.baseScore + (Config.additionalScore * difficulty)
for _, playerGuid in pairs(playersInRaid) do
if GetPlayerByGUID(playerGuid) ~= nil then
local accountId = GetPlayerByGUID(playerGuid):GetAccountId()
if scoreEarned[accountId] == nil then scoreEarned[accountId] = 0 end
if scoreTotal[accountId] == nil then scoreTotal[accountId] = 0 end
scoreEarned[accountId] = scoreEarned[accountId] + score
scoreTotal[accountId] = scoreTotal[accountId] + score
CharDBExecute('REPLACE INTO `'..Config.customDbName..'`.`eventscript_score` VALUES ('..accountId..', '..scoreEarned[accountId]..', '..scoreTotal[accountId]..');');
local gameTime = (tonumber(tostring(GetGameTime())))
local playerLowGuid = GetGUIDLow(playerGuid)
CharDBExecute('INSERT IGNORE INTO `'..Config.customDbName..'`.`eventscript_encounters` VALUES ('..gameTime..', '..playerLowGuid..', '..eventInProgress..', '..difficulty..', '..bossfightInProgress..', '..eS_getTimeSince(encounterStartTime)..');');