-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUnafay_SMN.lua
1093 lines (1003 loc) · 41.5 KB
/
Unafay_SMN.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
-- Summoner Gearswap Lua by Pergatory - http://pastebin.com/u/pergatory
-- IdleMode determines the set used after casting. You change it with "/console gs c <IdleMode>"
-- The modes are:
-- Refresh: Uses the most refresh available.
-- DT: A mix of refresh, PDT, and MDT to help when you can't avoid AOE.
-- PetDT: Sacrifice refresh to reduce avatar's damage taken. WARNING: Selenian Cap drops you below 119, use with caution!
-- DD: When melee mode is on and you're engaged, uses TP gear. Otherwise, avatar melee gear.
-- Favor: Uses Beckoner's Horn +1 and max smn skill to boost the favor effect.
-- Zendik: Favor build with the Zendik Robe added in, for Shiva's Favor in manaburn parties. (Shut up, it sounded like a good idea at the time)
-- Additional Bindings:
-- F9 - Toggles between a subset of IdleModes (Refresh > DT > PetDT)
-- F10 - Toggles MeleeMode (When enabled, equips Nirvana and Elan+1, then disables those 2 slots from swapping)
-- NOTE: If you don't already have the Nirvana & Elan+1 equipped, YOU WILL LOSE TP
-- Additional Commands:
-- /console gs c AccMode - Toggles high-accuracy sets to be used where appropriate.
-- /console gs c ImpactMode - Toggles between using normal magic BP set for Fenrir's Impact or a custom high-skill set for debuffs.
-- /console gs c ForceIlvl - I have this set up to override a few specific slots where I normally use non-ilvl pieces.
-- /console gs c TH - Treasure Hunter toggle. By default, this is only used for Dia, Dia II, and Diaga.
-- /console gs c LagMode - Used to help BPs land in the right gear in high-lag situations.
-- Sets a timer to swap gear 0.5s after the BP is used rather than waiting for server response.
function file_unload()
send_command('unbind f9')
send_command('unbind ^f9')
send_command('unbind f10')
send_command('unbind ^f10')
end
function get_sets()
send_command('bind f9 gs c ToggleIdle') -- F9 = Cycle through commonly used idle modes
send_command('bind ^f9 gs c ForceIlvl') -- Ctrl+F9 = Toggle ForceIlvl
send_command('bind f10 gs c MeleeMode') -- F10 = Toggle Melee Mode
send_command('bind ^f10 gs c TH') -- Ctrl+F10 = Treasure Hunter toggle
-- Set your merits here. This is used in deciding between Enticer's Pants or Apogee Slacks +1.
-- To change in-game, "/console gs c MeteorStrike3" will change Meteor Strike to 3/5 merits.
-- The damage difference is very minor unless you're over 2400 TP.
-- It's ok to just always use Enticer's Pants and ignore this section.
MeteorStrike = 1
HeavenlyStrike = 1
WindBlade = 1
Geocrush = 1
Thunderstorm = 5
GrandFall = 1
StartLockStyle = ''
IdleMode = 'Refresh'
AccMode = false
ImpactDebuff = false
MeleeMode = false
TreasureHunter = false
THSpells = S{"Dia","Dia II","Diaga"} -- If you want Treasure Hunter gear to swap for a spell/ability, add it here.
ForceIlvl = false
LagMode = false -- Default LagMode. If you have a lot of lag issues, change to "true".
AutoRemedy = false -- Auto Remedy when using an ability while Paralyzed.
AutoEcho = false -- Auto Echo Drop when using an ability while Silenced.
SacTorque = true -- If you have Sacrifice Torque, this will auto-equip it when slept in order to wake up.
-- ===================================================================================================================
-- Sets
-- ===================================================================================================================
-- Base Damage Taken Set - Mainly used when IdleMode is "DT"
sets.DT_Base = {
main="Nirvana",
sub="Mensch strap",
head="Convoker's Horn +2",
neck="Loricate Torque +1",
ear1="Genmei Earring",
ear2="Etiolation Earring",
body="Inyanga jubbah +2",
hands="Inyanga dastanas +2",
ring1="Patricius Ring",
ring2="Defending Ring",
back="Campestres's Cape",
waist="Regal Belt",
legs="Volte brais",
feet="Battlecast gaiters",
}
-- Treasure Hunter set. Don't put anything in here except TH+ gear.
-- It overwrites slots in other sets when TH toggle is on (Ctrl+F10).
sets.TH = {
head="Volte Cap",
waist="Chaac Belt",
hands="",
feet="Volte Boots"
}
sets.precast = {}
-- Fast Cast
sets.precast.FC = {
main="Grioavolr",
sub="Clerisy Strap +1", -- +3
ammo="Sapience Orb",
head="Nahtirah hat", -- +11
neck="Orunmila's Torque", -- +5
ear1="Malignance Earring", -- +4
ear2="Loquacious Earring", -- +2
hands="",
body="Inyanga Jubbah +2", -- +14
ring1="Lebeche Ring",
ring2="Kishar Ring", -- +4
back="Campestres's Cape",
waist="Witful Belt", -- +3
legs="Volte brais",
feet="Regal Pumps +1" -- +5~7
}
sets.precast["Dispelga"] = set_combine(sets.precast.FC, {
main="Daybreak",
sub="Ammurapi Shield"
})
sets.midcast = {}
-- BP Timer Gear
-- Use BP Recast Reduction here, along with Avatar's Favor gear.
-- Avatar's Favor skill tiers are 512 / 575 / 670.
sets.midcast.BP = {
main={ name="Espiritus", augments={'Summoning magic skill +15','Pet: Mag. Acc.+30','Pet: Damage taken -4%',}},
sub="Vox Grip",
ammo="Sancus Sachet +1",
head="Beckoner's Horn +1",
neck="Incanter's Torque",
ear1="Cath Palug Earring",
ear2="Evans earring",
body="Baayami Robe",
hands="Baayami Cuffs",
ring1="Stikini Ring +1",
ring2="Evoker's Ring",
back="",
waist="",
legs="Baayami Slops",
feet="Baayami Sabots"
}
-- Elemental Siphon sets. Zodiac Ring is affected by day, Chatoyant Staff by weather, and Twilight Cape by both.
sets.midcast.Siphon = {
main={ name="Espiritus", augments={'Summoning magic skill +15','Pet: Mag. Acc.+30','Pet: Damage taken -4%',}},
sub="Vox Grip",
ammo="",
head="Baayami Hat",
neck="Incanter's Torque",
ear1="Cath Palug Earring",
ear2="Lodurr Earring",
body="Baayami Robe",
hands="Baayami Cuffs",
ring1="Stikini Ring +1",
ring2="Evoker's Ring",
back="",
waist="Ligeia sash",
legs="Baayami Slops",
feet="Beck. Pigaches"
}
sets.midcast.SiphonZodiac = set_combine(sets.midcast.Siphon, { ring1="Zodiac Ring" })
sets.midcast.SiphonWeather = set_combine(sets.midcast.Siphon, { main="Chatoyant Staff" })
sets.midcast.SiphonWeatherZodiac = set_combine(sets.midcast.SiphonZodiac, { main="Chatoyant Staff" })
-- Summoning Midcast, cap spell interruption if possible (Baayami Robe gives 100, need 2 more)
-- PDT isn't a bad idea either, so don't overwrite a lot from the DT set it inherits from.
sets.midcast.Summon = set_combine(sets.DT_Base, {
body="Baayami Robe",
waist="Rumination Sash"
})
-- If you ever lock your weapon, keep that in mind when building cure potency set.
sets.midcast.Cure = {
main="Serenity",
sub="Achaq grip",
head={ name="Vanya Hood", augments={'MP+50','"Cure" potency +7%','Enmity-6',}},
neck="Colossus's torque",
ear1="Loquac. Earring",
ear2="Beatific earring",
body="Kaykaus bliaut",
hands="Revealer's mitts",
ring1="Ephedra ring",
ring2="Sirona's ring",
back="Pahtli cape",
waist="Cascade belt",
legs="Kaykaus tights",
feet="Medium's sabots",
}
sets.midcast.Cursna = set_combine(sets.precast.FC, {
{main="Queller rod",
sub="Sors shield",
ammo="Incantor Stone",
head="Vanya hood",
neck="Malison medallion",
ear1="Nourishing earring",
ear2="Glorious earring",
body="",
hands="Fanatic gloves",
ring1="Haoma's ring",
ring2="Haoma's ring",
back="Alaunus's cape",
waist="Channeler's stone",
legs="",
feet="Gende. Galosh. +1",}
})
-- Just a standard set for spells that have no set
sets.midcast.Enfeeble = {
main="Daybreak",
sub="Ammurapi Shield",
head="Cath Palug Crown",
neck="Erra Pendant",
ear1="Malignance Earring",
ear2="Dignitary's Earring",
body="Inyanga Jubbah +2",
hands="Inyanga Dastanas +2",
ring1="Stikini Ring +1",
ring2="Stikini Ring",
back={ name="Campestres's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Haste+10','Phys. dmg. taken-10%',}},
waist="Luminary Sash",
legs="Inyanga Shalwar +2",
feet=""
}
sets.midcast.Enhancing = {
main="Gada",
sub="Ammurapi Shield",
head="Telchine Cap",
neck="Incanter's Torque",
ear1="",
ear2="Andoaa Earring",
body="Telchine Chas.",
hands="Telchine Gloves",
ring1="Stikini Ring +1",
ring2="Stikini Ring",
back="Merciful Cape",
waist="Embla Sash",
legs="Telchine Braconi",
feet="Telchine Pigaches",
}
sets.midcast.Stoneskin = set_combine(sets.midcast.Enhancing, {
neck="Nodens Gorget",
ear2="",
waist="Siegel Sash",
--legs="Shedir Seraweels"
})
sets.midcast.Nuke = {
main={ name="Grioavolr", augments={'"Fast Cast"+6','INT+2','"Mag.Atk.Bns."+17',}},
sub="Niobid Strap",
head="Cath Palug Crown",
neck="Sanctity Necklace",
ear1="Malignance Earring",
ear2="Friomisi Earring",
body={ name="Amalric Doublet +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
hands={ name="Amalric Gages +1", augments={'INT+12','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
ring1="Freke Ring",
ring2="Shiva Ring +1",
back={ name="Campestres's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Haste+10','Phys. dmg. taken-10%',}},
waist="Eschan Stone",
legs={ name="Amalric Slops +1", augments={'MP+80','Mag. Acc.+20','"Mag.Atk.Bns."+20',}},
feet={ name="Amalric Nails +1", augments={'Mag. Acc.+20','"Mag.Atk.Bns."+20','"Conserve MP"+7',}}
}
sets.midcast["Refresh"] = set_combine(sets.midcast.Enhancing, {
head="Amalric Coif +1",
waist="Gishdubar Sash",
feet="Inspirited boots",
})
sets.midcast["Aquaveil"] = set_combine(sets.midcast.Enhancing, {
main="",
head=""
})
sets.midcast["Dispelga"] = set_combine(sets.midcast.Enfeeble, {
main="Daybreak",
sub="Ammurapi Shield"
})
sets.midcast["Mana Cede"] = { hands="Beckoner's Bracers +1" }
sets.midcast["Astral Flow"] = { head="Glyphic Horn +3" }
-- ===================================================================================================================
-- Weaponskills
-- ===================================================================================================================
-- I stack magic accuracy here to land the defense down effect, rather than MAB for damage.
-- It's a personal preference, use whatever you prefer.
sets.midcast["Garland of Bliss"] = {
head="Inyanga Tiara +2",
neck="Sanctity Necklace",
ear1="Malignance Earring",
ear2="Dignitary's Earring",
body="Inyanga Jubbah +2",
hands="Inyanga Dastanas +2",
ring1="Stikini Ring +1",
ring2="Stikini Ring +1",
back={ name="Campestres's Cape", augments={'MND+20','Mag. Acc+20 /Mag. Dmg.+20','Mag. Acc.+10','Haste+10','Phys. dmg. taken-10%',}},
waist="Eschan Stone",
legs="Inyanga Shalwar +2",
feet="Inyanga Crackows +2"
}
-- My set focuses on accuracy here to make skillchains with Ifrit
-- Just like Garland, it's not hard to improve on the damage from this set if that's what you're after.
sets.midcast["Shattersoul"] = {
head="Convoker's Horn +3",
neck="Fotia Gorget",
ear1="Zennaroi Earring",
ear2="Telos Earring",
body="Tali'ah Manteel +2",
hands={ name="Merlinic Dastanas", augments={'STR+7','INT+7','Weapon skill damage +6%','Accuracy+11 Attack+11','Mag. Acc.+10 "Mag.Atk.Bns."+10',}},
ring1="Freke Ring",
ring2="Shiva Ring +1",
back={ name="Campestres's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
waist="Fotia Belt",
legs={ name="Telchine Braconi", augments={'Accuracy+17','Weapon Skill Acc.+14','Weapon skill damage +3%',}},
feet="Convoker's Pigaches +3"
}
sets.midcast["Cataclysm"] = sets.midcast.Nuke
sets.pet_midcast = {}
-- Main physical pact set (Volt Strike, Pred Claws, etc.)
-- Prioritize BP Damage & Pet: Double Attack
-- Strong Alternatives:
-- Apogee Crown, Apogee Pumps, Convoker's Doublet, Apogee Dalmatica, Shulmanu Collar, Gelos Earring
sets.pet_midcast.Physical_BP = {
main="Nirvana",
sub="Elan Strap +1",
ammo="Sancus Sachet +1",
head="Apogee crown +1",
neck="Summoner's Collar +2",
ear1="Lugalbanda Earring",
ear2="Gelos earring",
body="Glyphic Doublet +3",
hands="Apogee Mitts",
ring1="Cath Palug Ring",
ring2="Varar Ring +1",
back="Campestres's Cape",
waist="Incarnation Sash",
legs="Apogee Slacks",
feet="Apogee pumps +1",
}
-- Physical Pact AM3 set, less emphasis on Pet:DA
sets.pet_midcast.Physical_BP_AM3 = set_combine(sets.pet_midcast.Physical_BP, {
ear2="Gelos Earring",
body="Convoker's Doublet +3",
ring1="Varar Ring +1",
feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: Attack+35','Blood Pact Dmg.+8',}}
})
-- Physical pacts which benefit more from TP than Pet:DA (like Spinning Dive and other pacts you never use except that one time)
sets.pet_midcast.Physical_BP_TP = set_combine(sets.pet_midcast.Physical_BP, {
head={ name="Apogee Crown +1", augments={'MP+80','Pet: Attack+35','Blood Pact Dmg.+8',}},
ear2="Gelos Earring",
body="Convoker's Doublet +3",
ring1="Varar Ring +1",
waist="Regal Belt",
legs="Enticer's Pants",
feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: Attack+35','Blood Pact Dmg.+8',}}
})
-- Used for all physical pacts when AccMode is true
sets.pet_midcast.Physical_BP_Acc = set_combine(sets.pet_midcast.Physical_BP, {
head={ name="Apogee Crown +1", augments={'MP+80','Pet: Attack+35','Blood Pact Dmg.+8',}},
body="Convoker's Doublet +3",
hands="",
--feet="Convoker's Pigaches +3"
})
-- Base magic pact set
-- Prioritize BP Damage & Pet:MAB
-- Strong Alternatives:
-- Apogee Crown, Adad Amulet
sets.pet_midcast.Magic_BP_Base = {
main={ name="Grioavolr", augments={'Blood Pact Dmg.+10','Pet: STR+5','Pet: Mag. Acc.+18','Pet: "Mag.Atk.Bns."+25',}},
sub="Elan Strap +1",
ammo="Sancus Sachet +1",
head="Cath Palug crown",
neck="Summoner's Collar +2",
ear1="Lugalbanda Earring",
ear2="Gelos Earring",
body="Apogee Dalmatica",
hands="Merlinic Dastanas",
ring1="Varar Ring +1",
ring2="Varar Ring +1",
legs="Enticer's pants",
back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Accuracy+20 Attack+20','Pet: Mag. Acc.+10','"Fast Cast"+10',}},
waist="Regal Belt",
feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}}
}
-- Some magic pacts benefit more from TP than others.
-- Note: This set will only be used on merit pacts if you have less than 4 merits.
-- Make sure to update your merit values at the top of this Lua.
sets.pet_midcast.Magic_BP_TP = set_combine(sets.pet_midcast.Magic_BP_Base, {
legs="Enticer's Pants"
})
-- NoTP set used when you don't need Enticer's
sets.pet_midcast.Magic_BP_NoTP = set_combine(sets.pet_midcast.Magic_BP_Base, {
legs={ name="Apogee Slacks +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}}
})
sets.pet_midcast.Magic_BP_TP_Acc = set_combine(sets.pet_midcast.Magic_BP_TP, {
head={ name="Merlinic Hood", augments={'Pet: Mag. Acc.+21 Pet: "Mag.Atk.Bns."+21','Blood Pact Dmg.+7','Pet: INT+6','Pet: "Mag.Atk.Bns."+11',}},
body="Convoker's Doublet +3",
hands={ name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+29','Blood Pact Dmg.+10','Pet: INT+7','Pet: "Mag.Atk.Bns."+10',}}
})
sets.pet_midcast.Magic_BP_NoTP_Acc = set_combine(sets.pet_midcast.Magic_BP_NoTP, {
head={ name="Merlinic Hood", augments={'Pet: Mag. Acc.+21 Pet: "Mag.Atk.Bns."+21','Blood Pact Dmg.+7','Pet: INT+6','Pet: "Mag.Atk.Bns."+11',}},
body="Convoker's Doublet +3",
hands={ name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+29','Blood Pact Dmg.+10','Pet: INT+7','Pet: "Mag.Atk.Bns."+10',}}
})
-- Favor BP Damage above all. Pet:MAB also very strong.
-- Pet: Accuracy, Attack, Magic Accuracy moderately important.
-- Strong Alternatives:
-- Apogee Crown, Apogee Dalmatica
sets.pet_midcast.FlamingCrush = {
main="Nirvana",
sub="Elan Strap +1",
ammo="Sancus Sachet +1",
head="Cath Palug Crown",
neck="Summoner's Collar +2",
ear1="Lugalbanda Earring",
ear2="Gelos Earring",
body="Convoker's Doublet +3",
hands={ name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+25 Pet: "Mag.Atk.Bns."+25','Blood Pact Dmg.+10','Pet: "Mag.Atk.Bns."+7',}},
ring1="Varar Ring +1",
ring2="Varar Ring +1",
back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: "Regen"+10','Pet: Damage taken -5%',}},
waist="Regal Belt",
legs={ name="Apogee Slacks +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
--legs={ name="Apogee Slacks +1", augments={'Pet: STR+20','Blood Pact Dmg.+14','Pet: "Dbl. Atk."+4',}},
feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}}
}
sets.pet_midcast.FlamingCrush_Acc = set_combine(sets.pet_midcast.FlamingCrush, {
ear2="Kyrene's Earring",
body="Convoker's Doublet +3",
hands={ name="Merlinic Dastanas", augments={'Pet: Accuracy+28 Pet: Rng. Acc.+28','Blood Pact Dmg.+10','Pet: DEX+9','Pet: Mag. Acc.+9','Pet: "Mag.Atk.Bns."+3',}},
--feet="Convoker's Pigaches +3"
})
-- Pet: Magic Acc set - Mainly used for debuff pacts like Shock Squall
sets.pet_midcast.MagicAcc_BP = {
main="Nirvana",
sub="Vox Grip",
ammo="Sancus Sachet +1",
head="Convoker's Horn +3",
neck="Summoner's Collar +2",
ear1="Lugalbanda Earring",
ear2="Enmerkar Earring",
body="Convoker's Doublet +3",
hands="Apogee Mitts +1",
ring1="Cath Palug Ring",
ring2="Evoker's Ring",
back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Accuracy+20 Attack+20','Pet: Mag. Acc.+10','"Fast Cast"+10',}},
waist="Regal Belt",
legs="Convoker's Spats +3",
feet="Convoker's Pigaches +3"
}
sets.pet_midcast.Debuff_Rage = sets.pet_midcast.MagicAcc_BP
-- Pure summoning magic set, mainly used for buffs like Hastega II.
-- Strong Alternatives:
-- Andoaa Earring, Summoning Earring, Lamassu Mitts +1, Caller's Pendant
sets.pet_midcast.SummoningMagic = {
main={ name="Espiritus", augments={'Summoning magic skill +15','Pet: Mag. Acc.+30','Pet: Damage taken -4%',}},
sub="Vox Grip",
ammo="Sancus Sachet +1",
head="Baayami Hat",
neck="Incanter's Torque",
ear1="Cath Palug Earring",
ear2="Lodurr Earring",
body="Baayami Robe",
hands="Baayami Cuffs",
ring1="Stikini Ring +1",
ring2="Evoker's Ring",
back={ name="Conveyance Cape", augments={'Summoning magic skill +5','Pet: Enmity+12','Blood Pact Dmg.+2',}},
waist="Kobo Obi",
legs="Baayami Slops",
feet="Baayami Sabots"
}
sets.pet_midcast.Buff = sets.pet_midcast.SummoningMagic
-- Wind's Blessing set. Pet:MND increases potency.
sets.pet_midcast.Buff_MND = set_combine(sets.pet_midcast.Buff, {
main="Nirvana",
neck="Summoner's Collar +2",
back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: "Regen"+10','Pet: Damage taken -5%',}},
legs="Assiduity Pants +1",
})
-- Don't drop Avatar level in this set if you can help it.
-- You can use Avatar:HP+ gear to increase the HP recovered, but most of it will decrease your own max HP.
sets.pet_midcast.Buff_Healing = set_combine(sets.pet_midcast.Buff, {
main="Nirvana",
back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: "Regen"+10','Pet: Damage taken -5%',}},
--body={ name="Apo. Dalmatica", augments={'Summoning magic skill +20','Enmity-6','Pet: Damage taken -4%',}},
--feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}}
})
-- This set is used for certain blood pacts when ImpactDebuff mode is turned ON. (/console gs c ImpactDebuff)
-- These pacts are normally used with magic damage gear, but they're also strong debuffs when enhanced by summoning skill.
-- This set is safe to ignore.
sets.pet_midcast.Impact = set_combine(sets.pet_midcast.SummoningMagic, {
main="Nirvana",
head="Convoker's Horn +3",
ear1="Lugalbanda Earring",
ear2="Enmerkar Earring"
})
sets.aftercast = {}
-- Idle set with no avatar out.
sets.aftercast.Idle = {
main="Nirvana",
sub="Oneiros Grip",
ammo="Sancus Sachet +1",
head="Convoker's Horn +2",
body="Amalric Doublet +1",
hands="Baayami Cuffs",
legs="Volte Brais",
feet="Baayami Sabots",
neck={ name="Smn. Collar +2", augments={'Path: A',}},
waist="Lucidity Sash",
left_ear="C. Palug Earring",
right_ear={ name="Moonshade Earring", augments={'MP+25','Latent effect: "Refresh"+1',}},
left_ring="Stikini Ring +1",
right_ring="Evoker's Ring",
back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Mag. Acc+15 /Mag. Dmg.+15','Pet: Mag. Acc.+10','Pet: "Regen"+10',}},
}
-- Idle set used when ForceIlvl is ON. Use this mode to avoid Gaiters dropping ilvl.
sets.aftercast.Idle_Ilvl = set_combine(sets.aftercast.Idle, {
feet="Baayami Sabots"
})
sets.aftercast.DT = sets.DT_Base
-- Many idle sets inherit from this set.
-- Put common items here so you don't have to repeat them over and over.
-- Strong Alternatives:
-- Asteria Mitts, Shomonjijoe
sets.aftercast.Perp_Base = {
main="Nirvana",
sub="Oneiros Grip",
ammo="Sancus Sachet +1",
head="Convoker's Horn +3",
neck="Caller's Pendant",
ear1="Cath Palug Earring",
ear2="Moonshade Earring",
body="Apo. Dalmatica",
hands="",
ring1="Stikini Ring +1",
ring2="Evoker's Ring",
back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: "Regen"+10','Pet: Damage taken -5%',}},
waist="Lucidity Sash",
legs="Volte brais",
feet="Baayami Sabots"
}
-- Avatar Melee set. Equipped when IdleMode is "DD" and MeleeMode is OFF.
-- You really don't need this set. It's only here because I can't bring myself to throw it away.
sets.aftercast.Perp_DD = set_combine(sets.aftercast.Perp_Base, {
ear2="Rimeice Earring",
body="Glyphic Doublet +3",
hands={ name="Helios Gloves", augments={'Pet: Accuracy+22 Pet: Rng. Acc.+22','Pet: "Dbl. Atk."+8','Pet: Haste+6',}},
waist="Klouskap Sash",
feet={ name="Helios Boots", augments={'Pet: Accuracy+21 Pet: Rng. Acc.+21','Pet: "Dbl. Atk."+8','Pet: Haste+6',}}
})
-- Refresh set with avatar out. Equipped when IdleMode is "Refresh".
sets.aftercast.Perp_Refresh = set_combine(sets.aftercast.Perp_Base, {
})
-- Refresh set when MP is under 50%
-- If you have Fucho and don't need Lucidity Sash for perp down, you can uncomment the belt here to enable using it.
sets.aftercast.Perp_RefreshSub50 = set_combine(sets.aftercast.Perp_Refresh, {
--waist="Fucho-no-obi"
})
-- Used when IdleMode is "Favor" to maximize avatar's favor effect.
-- Skill tiers are 512 / 575 / 670
sets.aftercast.Perp_Favor = set_combine(sets.aftercast.Perp_Refresh, {
head="Beckoner's Horn +1",
ear2="Lodurr Earring",
ring1="Stikini Ring +1",
ring2="Evoker's Ring",
legs="Baayami Slops",
feet="Baayami Sabots"
})
sets.aftercast.Perp_Zendik = set_combine(sets.aftercast.Perp_Favor, {
body="Zendik Robe"
})
-- TP set. Equipped when IdleMode is "DD" and MeleeMode is ON.
sets.aftercast.Perp_Melee = set_combine(sets.aftercast.Perp_Refresh, {
head="Convoker's Horn +3",
neck="Shulmanu Collar",
ear1="Telos Earring",
ear2="Cessance Earring",
body="Tali'ah Manteel +2",
hands={ name="Merlinic Dastanas", augments={'"Mag.Atk.Bns."+3','Accuracy+12','"Store TP"+7','Accuracy+7 Attack+7',}},
ring1="Rajas Ring",
ring2="Petrov Ring",
back={ name="Campestres's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
waist="Cetl Belt",
legs="Convoker's Spats +3",
feet="Convoker's Pigaches +3"
})
-- Pet:DT build. Equipped when IdleMode is "PetDT".
sets.aftercast.Avatar_DT = {
main="Nirvana",
sub="Oneiros Grip",
ammo="Sancus Sachet +1",
head={ name="Apogee Crown +1", augments={'Pet: Accuracy+25','"Avatar perpetuation cost"+7','Pet: Damage taken -4%',}},
neck="Summoner's Collar +2",
ear1="Cath Palug Earring",
ear2="",
body={ name="Apo. Dalmatica +1", augments={'Summoning magic skill +20','Enmity-6','Pet: Damage taken -4%',}},
hands={ name="Telchine Gloves", augments={'Pet: Mag. Evasion+18','Pet: "Regen"+3','Pet: Damage taken -4%',}},
ring1="Stikini Ring +1",
ring2="Stikini Ring +1",
back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Eva.+20 /Mag. Eva.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: "Regen"+10','Pet: Damage taken -5%',}},
waist="Isa Belt",
legs="Enticer's Pants",
feet={ name="Telchine Pigaches", augments={'Pet: Mag. Evasion+20','Pet: "Regen"+3','Pet: Damage taken -4%',}}
}
-- Perp down set used when ForceIlvl is ON. If you use Selenian Cap for Pet:DT, you can make another set here without it.
sets.aftercast.Avatar_DT_Ilvl = set_combine(sets.aftercast.Avatar_DT, {
})
-- DT build with avatar out. Equipped when IdleMode is "DT".
sets.aftercast.Perp_DT = set_combine(sets.DT_Base, {
ear2="Evans Earring",
body="Udug Jacket",
waist="Lucidity Sash"
})
-- Idle set used when you have a spirit summoned. Glyphic Spats will make them cast more frequently.
sets.aftercast.Spirit = {
main="Nirvana",
sub="Vox Grip",
ammo="Sancus Sachet +1",
head="Convoker's Horn +3",
neck="Incanter's Torque",
ear1="Cath Palug Earring",
ear2="Evans Earring",
body="Baayami Robe",
hands="Baayami Cuffs",
ring1="Stikini Ring +1",
ring2="Evoker's Ring",
back={ name="Conveyance Cape", augments={'Summoning magic skill +5','Pet: Enmity+12','Blood Pact Dmg.+2',}},
waist="Lucidity Sash",
legs="Glyphic Spats +3",
feet="Baayami Sabots"
}
-- ===================================================================================================================
-- End of Sets
-- ===================================================================================================================
Buff_BPs_Duration = S{'Shining Ruby','Aerial Armor','Frost Armor','Rolling Thunder','Crimson Howl','Lightning Armor','Ecliptic Growl','Glittering Ruby','Earthen Ward','Hastega','Noctoshield','Ecliptic Howl','Dream Shroud','Earthen Armor','Fleet Wind','Inferno Howl','Heavenward Howl','Hastega II','Soothing Current','Crystal Blessing','Katabatic Blades'}
Buff_BPs_Healing = S{'Healing Ruby','Healing Ruby II','Whispering Wind','Spring Water'}
Buff_BPs_MND = S{"Wind's Blessing"}
Debuff_BPs = S{'Mewing Lullaby','Eerie Eye','Lunar Cry','Lunar Roar','Nightmare','Pavor Nocturnus','Ultimate Terror','Somnolence','Slowga','Tidal Roar','Diamond Storm','Sleepga','Shock Squall','Bitter Elegy','Lunatic Voice'}
Debuff_Rage_BPs = S{'Moonlit Charge','Tail Whip'}
Magic_BPs_NoTP = S{'Holy Mist','Nether Blast','Aerial Blast','Searing Light','Diamond Dust','Earthen Fury','Zantetsuken','Tidal Wave','Judgment Bolt','Inferno','Howling Moon','Ruinous Omen','Night Terror','Thunderspark','Tornado II','Sonic Buffet'}
Magic_BPs_TP = S{'Impact','Conflag Strike','Level ? Holy','Lunar Bay'}
Merit_BPs = S{'Meteor Strike','Geocrush','Grand Fall','Wind Blade','Heavenly Strike','Thunderstorm'}
Physical_BPs_TP = S{'Rock Buster','Mountain Buster','Crescent Fang','Spinning Dive','Roundhouse'}
ZodiacElements = S{'Fire','Earth','Water','Wind','Ice','Lightning'}
--TownIdle = S{"windurst woods","windurst waters","windurst walls","port windurst","bastok markets","bastok mines","port bastok","southern san d'oria","northern san d'oria","port san d'oria","upper jeuno","lower jeuno","port jeuno","ru'lude gardens","norg","kazham","tavnazian safehold","rabao","selbina","mhaura","aht urhgan whitegate","al zahbi","nashmau","western adoulin","eastern adoulin"}
--Salvage = S{"Bhaflau Remnants","Zhayolm Remnants","Arrapago Remnants","Silver Sea Remnants"}
-- Select initial macro set and set lockstyle
-- This section likely requires changes or removal if you aren't Pergatory
if pet.isvalid then
if pet.name=='Fenrir' then
send_command('input /macro book 10;wait .1;input /macro set 2;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Ifrit' then
send_command('input /macro book 10;wait .1;input /macro set 3;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Titan' then
send_command('input /macro book 10;wait .1;input /macro set 4;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Leviathan' then
send_command('input /macro book 10;wait .1;input /macro set 5;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Garuda' then
send_command('input /macro book 10;wait .1;input /macro set 6;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Shiva' then
send_command('input /macro book 10;wait .1;input /macro set 7;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Ramuh' then
send_command('input /macro book 10;wait .1;input /macro set 8;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Diabolos' then
send_command('input /macro book 10;wait .1;input /macro set 9;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Cait Sith' then
send_command('input /macro book 11;wait .1;input /macro set 2;wait 3;input /lockstyleset '..StartLockStyle)
elseif pet.name=='Siren' then
send_command('input /macro book 11;wait .1;input /macro set 4;wait 3;input /lockstyleset '..StartLockStyle)
end
else
send_command('input /macro book 10;wait .1;input /macro set 1;wait 3;input /lockstyleset '..StartLockStyle)
end
-- End macro set / lockstyle section
end
-- ===================================================================================================================
-- Gearswap rules below this point - Modify at your own peril
-- ===================================================================================================================
function pet_change(pet,gain)
idle()
end
function pretarget(spell,action)
if not buffactive['Muddle'] then
-- Auto Remedy --
if AutoRemedy and (spell.action_type == 'Magic' or spell.type == 'JobAbility') then
if buffactive['Paralysis'] or (buffactive['Silence'] and not AutoEcho) then
cancel_spell()
send_command('input /item "Remedy" <me>')
end
end
-- Auto Echo Drop --
if AutoEcho and spell.action_type == 'Magic' and buffactive['Silence'] then
cancel_spell()
send_command('input /item "Echo Drops" <me>')
end
end
end
function precast(spell)
if (pet.isvalid and pet_midaction() and not spell.type=="SummonerPact") or spell.type=="Item" then
-- Do not swap if pet is mid-action. I added the type=SummonerPact check because sometimes when the avatar
-- dies mid-BP, pet.isvalid and pet_midaction() continue to return true for a brief time.
return
end
-- Spell fast cast
if sets.precast[spell.english] then
equip(sets.precast[spell.english])
elseif spell.action_type=="Magic" then
if spell.name=="Stoneskin" then
equip(sets.precast.FC,{waist="Siegel Sash"})
else
equip(sets.precast.FC)
end
end
end
function midcast(spell)
if (pet.isvalid and pet_midaction()) or spell.type=="Item" then
return
end
-- BP Timer gear needs to swap here
if (spell.type=="BloodPactWard" or spell.type=="BloodPactRage") then
if not buffactive["Astral Conduit"] then
equip(sets.midcast.BP)
end
-- If lag compensation mode is on, set up a timer to equip the BP gear.
if LagMode then
send_command('wait 0.5;gs c EquipBP '..spell.name)
end
-- Spell Midcast & Potency Stuff
elseif sets.midcast[spell.english] then
equip(sets.midcast[spell.english])
elseif spell.name=="Elemental Siphon" then
if pet.element==world.day_element and ZodiacElements:contains(pet.element) then
if pet.element==world.weather_element then
equip(sets.midcast.SiphonWeatherZodiac)
else
equip(sets.midcast.SiphonZodiac)
end
else
if pet.element==world.weather_element then
equip(sets.midcast.SiphonWeather)
else
equip(sets.midcast.Siphon)
end
end
elseif spell.type=="SummonerPact" then
equip(sets.midcast.Summon)
elseif spell.type=="WhiteMagic" then
if string.find(spell.name,"Cure") or string.find(spell.name,"Curaga") then
equip(sets.midcast.Cure)
elseif string.find(spell.name,"Protect") or string.find(spell.name,"Shell") then
equip(sets.midcast.Enhancing,{ring2="Sheltered Ring"})
elseif spell.skill=="Enfeebling Magic" then
equip(sets.midcast.Enfeeble)
elseif spell.skill=="Enhancing Magic" then
equip(sets.midcast.Enhancing)
else
idle()
end
elseif spell.type=="BlackMagic" then
if spell.skill=="Elemental Magic" then
equip(sets.midcast.Nuke)
end
elseif spell.action_type=="Magic" then
equip(sets.midcast.EnmityRecast)
else
idle()
end
-- Treasure Hunter
if THSpells:contains(spell.name) then
equip(sets.TH)
end
-- Auto-cancel existing buffs
if spell.name=="Stoneskin" and buffactive["Stoneskin"] then
windower.send_command('cancel 37;')
elseif spell.name=="Sneak" and buffactive["Sneak"] and spell.target.type=="SELF" then
windower.send_command('cancel 71;')
elseif spell.name=="Utsusemi: Ichi" and buffactive["Copy Image"] then
windower.send_command('wait 1;cancel 66;')
end
end
function aftercast(spell)
if pet_midaction() or spell.type=="Item" then
return
end
if not string.find(spell.type,"BloodPact") then
idle()
end
end
function status_change(new,old)
if new=="Idle" then
idle()
end
end
function buff_change(name,gain)
if name=="quickening" then
idle()
end
if SacTorque and name=="sleep" and gain and pet.isvalid then
equip({neck="Sacrifice Torque"})
disable("neck")
if buffactive["Stoneskin"] then
windower.send_command('cancel 37;')
end
end
if name=="sleep" and not gain then
enable("neck")
end
end
function pet_midcast(spell)
if not LagMode then
equipBPGear(spell.name)
end
end
function pet_aftercast(spell)
idle()
end
function equipBPGear(spell)
if spell=="Perfect Defense" then
equip(sets.pet_midcast.SummoningMagic)
elseif Debuff_BPs:contains(spell) then
equip(sets.pet_midcast.MagicAcc_BP)
elseif Buff_BPs_Healing:contains(spell) then
equip(sets.pet_midcast.Buff_Healing)
elseif Buff_BPs_Duration:contains(spell) then
equip(sets.pet_midcast.Buff)
elseif Buff_BPs_MND:contains(spell) then
equip(sets.pet_midcast.Buff_MND)
elseif spell=="Flaming Crush" then
if AccMode then
equip(sets.pet_midcast.FlamingCrush_Acc)
else
equip(sets.pet_midcast.FlamingCrush)
end
elseif ImpactDebuff and (spell=="Impact" or spell=="Conflag Strike") then
equip(sets.pet_midcast.Impact)
elseif Magic_BPs_NoTP:contains(spell) then
if AccMode then
equip(sets.pet_midcast.Magic_BP_NoTP_Acc)
else
equip(sets.pet_midcast.Magic_BP_NoTP)
end
elseif Magic_BPs_TP:contains(spell) or string.find(spell," II") or string.find(spell," IV") then
if AccMode then
equip(sets.pet_midcast.Magic_BP_TP_Acc)
else
equip(sets.pet_midcast.Magic_BP_TP)
end
elseif Merit_BPs:contains(spell) then
if AccMode then
equip(sets.pet_midcast.Magic_BP_TP_Acc)
elseif spell=="Meteor Strike" and MeteorStrike>4 then
equip(sets.pet_midcast.Magic_BP_NoTP)
elseif spell=="Geocrush" and Geocrush>4 then
equip(sets.pet_midcast.Magic_BP_NoTP)
elseif spell=="Grand Fall" and GrandFall>4 then
equip(sets.pet_midcast.Magic_BP_NoTP)
elseif spell=="Wind Blade" and WindBlade>4 then
equip(sets.pet_midcast.Magic_BP_NoTP)
elseif spell=="Heavenly Strike" and HeavenlyStrike>4 then
equip(sets.pet_midcast.Magic_BP_NoTP)
elseif spell=="Thunderstorm" and Thunderstorm>4 then
equip(sets.pet_midcast.Magic_BP_NoTP)
else
equip(sets.pet_midcast.Magic_BP_TP)
end
elseif Debuff_Rage_BPs:contains(spell) then
equip(sets.pet_midcast.Debuff_Rage)
else
if AccMode then
equip(sets.pet_midcast.Physical_BP_Acc)
elseif Physical_BPs_TP:contains(spell) then
equip(sets.pet_midcast.Physical_BP_TP)
elseif buffactive["Aftermath: Lv.3"] then
equip(sets.pet_midcast.Physical_BP_AM3)
else
equip(sets.pet_midcast.Physical_BP)
end
end
end
-- This command is called whenever you input "gs c <command>"
function self_command(command)
IdleModeCommands = {'DD','Refresh','DT','Favor','PetDT','Zendik'}
is_valid = false
for _, v in ipairs(IdleModeCommands) do
if command:lower()==v:lower() then
IdleMode = v
send_command('console_echo "Idle Mode: ['..IdleMode..']"')
idle()
return
end
end
if string.sub(command,1,7)=="EquipBP" then
equipBPGear(string.sub(command,9,string.len(command)))
return
elseif command:lower()=="accmode" then
AccMode = AccMode==false
is_valid = true
send_command('console_echo "AccMode: '..tostring(AccMode)..'"')
elseif command:lower()=="impactmode" then
ImpactDebuff = ImpactDebuff==false
is_valid = true
send_command('console_echo "Impact Debuff: '..tostring(ImpactDebuff)..'"')
elseif command:lower()=="forceilvl" then
ForceIlvl = ForceIlvl==false
is_valid = true
send_command('console_echo "Force iLVL: '..tostring(ForceIlvl)..'"')
elseif command:lower()=="lagmode" then
LagMode = LagMode==false
is_valid = true
send_command('console_echo "Lag Compensation Mode: '..tostring(LagMode)..'"')
elseif command:lower()=="th" then
TreasureHunter = TreasureHunter==false
is_valid = true
send_command('console_echo "Treasure Hunter Mode: '..tostring(TreasureHunter)..'"')
elseif command:lower()=="meleemode" then
if MeleeMode then
MeleeMode = false
enable("main","sub")
send_command('console_echo "Melee Mode: false"')
else
MeleeMode = true
equip({main="Nirvana",sub="Elan Strap +1"})
disable("main","sub")
send_command('console_echo "Melee Mode: true"')
end
is_valid = true
elseif command=="ToggleIdle" then
is_valid = true
-- If you want to change the sets cycled with F9, this is where you do it
if IdleMode=="Refresh" then
IdleMode = "DT"
elseif IdleMode=="DT" then
IdleMode = "PetDT"
elseif IdleMode=="PetDT" then
IdleMode = "DD"
else
IdleMode = "Refresh"