(Don't) Fear The Reaper: A Dark Knight Guide

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » FFXI » Jobs » Dark Knight » (Don't) Fear the Reaper: A Dark Knight Guide
(Don't) Fear the Reaper: A Dark Knight Guide
First Page 2 3 ... 159 160 161 ... 209 210 211
 Asura.Jackflashh
Offline
サーバ: Asura
Game: FFXI
user: Kido
Posts: 50
By Asura.Jackflashh 2019-01-12 16:35:28  
Anyone mind sharing a decent Drk Gearswap for Caladbolg and Apoc user, or something I can translate to that. The lua I've been using seems to have gotten buggy and I'm not good enough at coding to fix it.

Just looking for something I can plug sets into. Much gracias in advance.
 Bahamut.Justthetip
Offline
サーバ: Bahamut
Game: FFXI
user: sairasu
Posts: 974
By Bahamut.Justthetip 2019-01-14 14:51:12  
Anyone got a good ground strike build they wanna share? please and thank you
 Bahamut.Nebohh
Offline
サーバ: Bahamut
Game: FFXI
user: Kealohaa
Posts: 156
By Bahamut.Nebohh 2019-01-14 15:15:46  
Look at Arch’s Reso WSD sets on page 155. It’d be similar to that.

I personally wouldn’t use Argosy +1 (lacks MEVA) in harder content but I suppose it’s fine if you have the support.
 Shiva.Humpo
Offline
サーバ: Shiva
Game: FFXI
user: Humpo
Posts: 269
By Shiva.Humpo 2019-01-17 08:30:00  
Finish augmenting my Anguta and there is still only sadness when using Entropy. I'm curious what to expect when I get around to my Apoc. Does anyone happen to remember/know what their average Cata's do before and after augment? Also, what kind of setup was it. Trust only, or OMGALLDABUFFS
 Leviathan.Kingkitt
Offline
サーバ: Leviathan
Game: FFXI
user: kingkitt
Posts: 517
By Leviathan.Kingkitt 2019-01-17 08:32:32  
Shiva.Humpo said: »
Finish augmenting my Anguta and there is still only sadness when using Entropy. I'm curious what to expect when I get around to my Apoc. Does anyone happen to remember/know what their average Cata's do before and after augment? Also, what kind of setup was it. Trust only, or OMGALLDABUFFS

Liberator!
Offline
Posts: 9078
By SimonSes 2019-01-17 09:14:20  
Shiva.Humpo said: »
Finish augmenting my Anguta and there is still only sadness when using Entropy. I'm curious what to expect when I get around to my Apoc. Does anyone happen to remember/know what their average Cata's do before and after augment? Also, what kind of setup was it. Trust only, or acc
Shiva.Humpo said: »
Finish augmenting my Anguta and there is still only sadness when using Entropy. I'm curious what to expect when I get around to my Apoc. Does anyone happen to remember/know what their average Cata's do before and after augment? Also, what kind of setup was it. Trust only, or OMGALLDABUFFS


According to my calculation avg Cata before aug should be 22500 and 27500 after augment.
 Phoenix.Tearxx
Offline
サーバ: Phoenix
Game: FFXI
user: Tearxx
Posts: 121
By Phoenix.Tearxx 2019-01-17 11:47:03  
Does +1 neck beat fotia for torcleaver? Or is it similar to most other jobs where you need +2 to really win out?
 Asura.Pinsquid
Offline
サーバ: Asura
Game: FFXI
user: Valtiel
Posts: 2
By Asura.Pinsquid 2019-01-17 12:59:24  
Phoenix.Tearxx said: »
Does +1 neck beat fotia for torcleaver? Or is it similar to most other jobs where you need +2 to really win out?

It should, yes. Fotia isn't great for single-hit WSs as it is. The ACC and ATK on the +1 neck are a nice chunk to push you towards capped status, the STP+6 allows you to use Epaminondas's Ring with very little downside, and if you are under capped conditions, PDL +8% is literally damage +8%.
 Phoenix.Tearxx
Offline
サーバ: Phoenix
Game: FFXI
user: Tearxx
Posts: 121
By Phoenix.Tearxx 2019-01-17 13:19:06  
Asura.Pinsquid said: »
Phoenix.Tearxx said: »
Does +1 neck beat fotia for torcleaver? Or is it similar to most other jobs where you need +2 to really win out?

It should, yes. Fotia isn't great for single-hit WSs as it is. The ACC and ATK on the +1 neck are a nice chunk to push you towards capped status, the STP+6 allows you to use Epaminondas's Ring with very little downside, and if you are under capped conditions, PDL +8% is literally damage +8%.

Awesome thanks. Just wanted to make sure it was reasonable to leave in for Torc set since I know +2 is BiS.
 Caitsith.Mahayaya
Offline
サーバ: Caitsith
Game: FFXI
user: Trebold
Posts: 3341
By Caitsith.Mahayaya 2019-01-27 21:14:10  
So Dark Seal needs the Relic helm to be equipped during casting in order to get the benefit of the 50%, is it the same for Empyrean pants and Nether Void, or does that just have impact at the time of using the JA?
By volkom 2019-01-27 23:07:44  
I always thought it had to be equipped at the time of the ability cast,
 Sylph.Brahmsz
Offline
サーバ: Sylph
Game: FFXI
user: Khronos
By Sylph.Brahmsz 2019-01-28 05:14:16  
Caitsith.Mahayaya said: »
So Dark Seal needs the Relic helm to be equipped during casting in order to get the benefit of the 50%, is it the same for Empyrean pants and Nether Void, or does that just have impact at the time of using the JA?
Fallen Burgeonet on casting, Heathen Flanchard on JA activation.
[+]
 Caitsith.Mahayaya
Offline
サーバ: Caitsith
Game: FFXI
user: Trebold
Posts: 3341
By Caitsith.Mahayaya 2019-02-06 07:30:50  
Looking to tribox some Omen because I can't make one of the LS event nights. Was able to do Gin twice as BRD, COR, DRK. But interested to see if there's some better methods/options.

The alt options available to me as R0 Calad+Apocalypse DRK are:
1.) 3-song Ghorn BRD, WHM, RDM, +5 COR
2.) 900 GEO (Idris in 2 months), +7 COR, WHM, RDM, 3-song NQ BRD

The first went sloppy, but won. I got Thinker and the trusts slowly lost all their mp and died leading to me switching to Apocalypse and slowly killing. On Gin, the same thing happened basically. Yoran Oran lost MP, and the other two trusts got wrecked, so I had to slowly do 25% of Gin with Apocalypse.

Since MP was such an issue I adjusted BRD macros to ballad and more easily rebuff.

The second went more smoothly. I got Craver which wasn't bad in DT gear. I think Yoran died due to impalement and View Sync, but again, I switched to Apocalypse for finishing it off. Gin went really smooth, just spammed Torcleavers. The fight ended before Drain III HP boost wore.

The third is where things went south on floor three. I got Gorger and the first death was likely due to Aftermath which I forgot he could steal, then next death I think was getting caught in WS gear both during Quadtratic Contiunuum. Hate was all over the place at around 50% from things curing and just getting lots of damage.


So I went COR+BRD mules but would BRD+GEO be more reliable? I'll miss the Samurai roll for sure, but could use Wilt on Craver and Gorger for more safety? And if COR is better to stick with, how about in ~2 months when Idris is completed? Also, would scherzo help or hurt for Gorger. After the first death, I started spamming dispels with BRD, but still not enough. BRD songs were Victory March, Blade Madrigal, and Advancing March.

I didn't use Last Resort or Dread Spikes, but had Drain III and Hasso up. COR rolls were SAM and Tact, which in retrospect could have been making Quadtratic stronger, but figured since it's on a set TP move timer that it would be better than using Chaos or Fighters rolls.The COR can provide some DD, but it doesn't help too much.
 Leviathan.Isiolia
Offline
サーバ: Leviathan
Game: FFXI
user: Isiolia
Posts: 468
By Leviathan.Isiolia 2019-02-06 08:20:28  
I have done Gin runs a bunch of times with RUN GEO BRD, and I suspect that DRK wouldn't differ too much from that.

GEO is very helpful. Wilt really helps on those two midbosses. It offsets quite a lot of melee buffs getting absorbed by Gorger. Spirit Absorption still tends to hit hard though, so you still want to be prepared for that.
Fade will help reduce Gin's AoE damage if needed.

Times where I've had trusts run dry like that and create issues were (mostly) times where I neglected to get Ballads on them (or tried not-BRD and didn't have them to give).

Also, for Gorger, may want to watch what your RDM trust (if applicable) is doing. To me, Koru does not seem to prioritize or bother with Dispel on it. Arciela does. So while I usually use Koru for the wider range of enfeebles, I swap him out if I get that.
 Caitsith.Mahayaya
Offline
サーバ: Caitsith
Game: FFXI
user: Trebold
Posts: 3341
By Caitsith.Mahayaya 2019-02-06 10:56:00  
Leviathan.Isiolia said: »
I have done Gin runs a bunch of times with RUN GEO BRD, and I suspect that DRK wouldn't differ too much from that.

GEO is very helpful. Wilt really helps on those two midbosses. It offsets quite a lot of melee buffs getting absorbed by Gorger. Spirit Absorption still tends to hit hard though, so you still want to be prepared for that.
Fade will help reduce Gin's AoE damage if needed.

Times where I've had trusts run dry like that and create issues were (mostly) times where I neglected to get Ballads on them (or tried not-BRD and didn't have them to give).

Also, for Gorger, may want to watch what your RDM trust (if applicable) is doing. To me, Koru does not seem to prioritize or bother with Dispel on it. Arciela does. So while I usually use Koru for the wider range of enfeebles, I swap him out if I get that.

Thanks, I'll make the switch to a GEO alt and Arciela, I also have RUN but more interested in DRK cards at the moment. Maybe once I'm done getting the last piece I wanted, I'll give that a try, though only have Epeo atm and no Lionheart so will probably be a lot slower than DRK.
 Asura.Yoshimuru
Offline
サーバ: Asura
Game: FFXI
user: Yoshimuru
Posts: 26
By Asura.Yoshimuru 2019-02-08 13:23:06  
looking for BiS for Torcleave
Offline
Posts: 3551
By Taint 2019-02-08 13:34:15  
Asura.Yoshimuru said: »
looking for BiS for Torcleave


ItemSet 364962

DM augments could replace head.
[+]
Offline
Posts: 9078
By SimonSes 2019-02-08 14:21:24  
Taint said: »
Asura.Yoshimuru said: »
looking for BiS for Torcleave


ItemSet 364962

DM augments could replace head.

Torcleaver accuracy is low even with good accuracy on odyssean hands and head and while using regal ring. Taking head with 0 accuracy and dropping 12 accuracy on ring might actually uncap your accuracy on some things.

EDIT: That set has 1038 accuracy (without augment on hands). Ejiin once said that for Wave 3 you need 1240 accurayc on WS before food and buffs/debuffs (1140 for first hit). So you are 102 accuracy (- hands augment) away from that with that set. At this point not even absorbs and endark can fix that.
[+]
Offline
Posts: 3551
By Taint 2019-02-08 14:39:32  
SimonSes said: »
Taint said: »
Asura.Yoshimuru said: »
looking for BiS for Torcleave


ItemSet 364962

DM augments could replace head.

Torcleaver accuracy is low even with good accuracy on odyssean hands and head and while using regal ring. Taking head with 0 accuracy and dropping 12 accuracy on ring might actually uncap your accuracy on some things.

EDIT: That set has 1038 accuracy (without augment on hands). Ejiin once said that for Wave 3 you need 1240 accurayc on WS before food and buffs/debuffs (1140 for first hit). So you are 102 accuracy (- hands augment) away from that with that set. At this point not even absorbs and endark can fix that.

He asked for BiS, not best for wave3.

No target or buffs were mentioned, but the set i posted will produce the biggest torcleaver numbers. (Outside of DM)

Simple questions get simple answers :)
[+]
Offline
Posts: 274
By trinironnie 2019-02-16 18:14:47  
Anyone have a DRK GS that can work with the export function of GS? All the LUAs i use when i copy paste the exported gear i get a error.
 Siren.Kyte
Offline
サーバ: Siren
Game: FFXI
Posts: 3332
By Siren.Kyte 2019-02-16 18:29:59  
You're probably doing something wrong.
Offline
Posts: 274
By trinironnie 2019-02-16 18:59:35  
I usually copy and paste the sets from main to back like this.
main="Ragnarok",
sub="Utu Grip",
ammo="Ginsen",
head="Flam. Zucchetto +2",
body={ name="Valorous Mail", augments={'Accuracy+23','"Dbl.Atk."+2','DEX+6',}},
hands="Sulev. Gauntlets +2",
legs={ name="Odyssean Cuisses", augments={'Attack+11','"Dbl.Atk."+5',}},
feet="Flam. Gambieras +2",
neck="Lissome Necklace",
waist="Ioskeha Belt",
left_ear="Cessance Earring",
right_ear="Telos Earring",
left_ring="Niqmaddu Ring",
right_ring="Petrov Ring",
back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
Offline
Posts: 274
By trinironnie 2019-02-16 19:02:39  
Code
--[[ Info
Commands
	//gs debugmode
	//gs showswaps
	//gs validate - looks for gear in your sets that isnt in inventory.

-- Scythe Light:
	Insurgency > Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency 
	Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency 
	Entropy > Guillotine > Entropy > Insurgency 
	Guillotine > Entropy > Insurgency
	
-- Scythe Darkness: 
    Insurgency (M) > Vorpal Scythe > Vorpal Scythe > Insurgency (M) > Entropy (MM) > Cross Reaper
    Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
	Cross Reaper > Insurgency (M) > Entropy (MM) > Cross Reaper
    Insurgency (M) > Entropy (MM) > Cross Reaper
	Cross Reaper > Entropy (MM)
    Entropy (MM) > Cross Reaper

-- Apoc Darkness
    Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM) > Catastrophe (R)
    Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
    Insurgency (M) > Entropy (MM) > Cross Reaper > Catastrophe (R)
	Insurgency (M) > Catastrophe (R) > Cross Reaper > Catastrophe (R)
	Cross Reaper > Insurgency (M) > Catastrophe (R) > Cross Reaper
	Catastrophe (R) > Cross Reaper > Catastrophe (R)
	Insurgency (M) > Catastrophe (R) > Cross Reaper
	Cross Reaper > Catastrophe (R) > Catastrophe (R)
    Cross Reaper > Entropy (MM) > Catastrophe (R)
	Entropy (MM) > Cross Reaper > Catastrophe (R)
    Catastrophe (R) > Catastrophe (R)
    Catastrophe (R) > Cross Reaper
    Cross Reaper > Catastrophe (R)

-- Other Light
	Catastrophe (R) > Savage Blade (Q) > Insurgency (M)
    Entropy (MM) > Savage Blade (Q) > Insurgency (M)
	Savage Blade (Q) > Insurgency (M)
	Chant du Cygne (E) > Torcleaver (E)

-- Other Dark
	Atonement (M) > Entropy (MM) > Cross Reaper
	Savage Blade (Q) > Cross Reaper > Entropy (MM)
	Chant du Cygne (E) > Catastrophe (R)
	Chant du Cygne (E) > Entropy (MM)
    Requiescat (MM) > Cross Reaper
	Requiescat (MM) > Torcleaver (E)

-- GreatSword
    Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM) > Torcleaver (E)
	Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM)
    Resolution (MM) > Scourge (R) > Torcleaver (E)
	Scourge (R) > Resolution (MM) > Torcleaver (E)
	Torcleaver (E) > Torcleaver (E)
	Scourge (R) > Resolution (MM)
--]]

-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2
	 -- Load and initialize the include file.
    include('Mote-Include.lua')
end

function binds_on_load()
-- F9-F12
	send_command('bind f9 gs c cycle OffenseMode')
	send_command('bind f10 gs c cycle HybridMode')
	send_command('bind f11 gs c cycle CastingMode')
	send_command('bind f12 gs c cycle IdleMode')
-- ALT F9-12
	send_command('bind !f9 gs c update user')
	send_command('bind !f10 gs c cycle RangedMode')
	send_command('bind !f11 gs c cycle WeaponskillMode')
	send_command('bind !f12 gs c cycle Kiting')
end
 
-- Setup vars that are user-independent.
function job_setup()
    state.Buff.Aftermath = buffactive.Aftermath or false
    state.Buff.Souleater = buffactive.Souleater or false
	state.Buff['Dark Seal'] = buffactive['Dark Seal'] or false
	state.Buff['Last Resort'] = buffactive['Last Resort'] or false
	state.Buff['Doom'] = buffactive['Doom'] or false
	state.Buff['Curse'] = buffactive['Curse'] or false

	Apoc_weapons = S{'Apocalypse'}
	GS_weapons = S{'Ragnarok', 'Montante +1', 'Caladbolg'}
	Anguta_weapons = S{'Anguta'}
	Lib_weapons = S{'Liberator'}

	get_combat_form()
	get_combat_weapon()

	LowTierNuke = S{
		'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
		'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
		'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
		'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
		'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
		
	Absorbs = S{'Absorb-STR', 'Absorb-DEX', 'Absorb-VIT', 'Absorb-AGI', 'Absorb-INT', 'Absorb-MND', 'Absorb-CHR', 'Absorb-Attri', 'Absorb-ACC', 'Absorb-TP'}
		
end

-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    -- Options: Override default values
    state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HighAcc')
    state.WeaponskillMode:options('Normal', 'Acc', 'Fotia')
    state.HybridMode:options('Normal', 'DamageTaken')
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('Normal','DamageTaken')

    select_default_macro_book()
end

-- Called when this job file is unloaded (eg: job change)
function file_unload()
	if binds_on_unload then
		binds_on_unload()
	end
end

-- Define sets and vars used by this job file.
function init_gear_sets()
-- Precast sets
    sets.precast.JA['Diabolic Eye'] = {hands="Fallen's Finger Gauntlets"}
    sets.precast.JA['Arcane Circle'] = {feet="Ignominy Sollerets +3"}
    sets.precast.JA['Nether Void'] = {legs="Heathen's Flanchard +1"}
    sets.precast.JA['Souleater'] = {head="Ignominy Burgonet +3"}
    sets.precast.JA['Last Resort'] = {feet="Abyss Sollerets", back=Ank_STP}
    sets.precast.JA['Weapon Bash'] = {hands="Ignominy Gauntlets"}
    sets.precast.JA['Blood Weapon'] = {body="Fallen's Cuirass +1"}
	sets.precast.JA['Dark Seal']    = {head="Fallen's Burgeonet +1"}

-- Waltz set (chr and vit)
    sets.precast.Waltz = {
        ammo="Seething Bomblet +1",
        head="Loess Barbuta +1", body="Sulevia's Platemail +2",
        back="Moonbeam Cape", neck="Loricate Torque +1",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Sulevia's Cuisses +2", feet="Amm Greaves",
        ring1="Niqmaddu Ring", ring2="Regal Ring",
        ear1="Odnowa Earring +1", ear2="Odnowa Earring"}

-- Fast cast sets for spells
    sets.precast.FC = {
		main="Apocalypse",
    sub="Utu Grip",
    ammo="Sapience Orb",
    head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
    body="Odyss. Chestplate",
    hands="Sulev. Gauntlets +2",
    legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
    feet="Odyssean Greaves",
    neck="Voltsurge Torque",
    waist="Flume Belt +1",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Kishar Ring",
    right_ring="Prolix Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}

    sets.precast.FC.Impact = set_combine(sets.precast.FC, {
		head=empty, body="Twilight Cloak"})

-- Midcast Sets
    sets.midcast.FastRecast = {
		ammo="Impatiens",
		head="Carmine Mask +1", body=Ody_FC_body,
		back=Ank_FC, neck="Orunmila's Torque",
		hands="Leyline Gloves", waist="Sailfi Belt +1",
		legs="Eschite Cuisses", feet=Ody_FC_feet,
		ring1="Lebeche Ring", ring2="Kishar Ring",
		ear1="Enchanter Earring +1", ear2="Loquacious Earring"}

-- Specific spells
    sets.midcast['Dark Magic'] = {
        ammo="Pemphredo Tathlum",
        head="Ignominy Burgonet +3", body="Carmine Scale Mail",
        back=Ank_FC, neck="Erra Pendant",
        hands="Fallen's Finger Gauntlets", waist="Eschan Stone",
        legs="Eschite Cuisses", feet="Ratri Sollerets",
        ring1="Evanescence Ring", Ring2="Stikini Ring",
        ear1="Enchanter Earring +1", ear2="Gwati Earring"}
	sets.midcast['Dark Magic'].Resistant = set_combine(sets.midcast['Dark Magic'], {
		head="Carmine Mask +1", body="Flamma Korazin +1",
        hands="Flamma Manopolas +1", feet="Ignominy Sollerets +3",
		legs="Flamma Dirs +1", ear1="Dignitary's Earring"})
	
    sets.midcast['Enfeebling Magic'] = {
        ammo="Quartz Tathlum +1",
        head="Befouled Crown", body="Flamma Korazin +1",
        back=Ank_FC, neck="Incanter's Torque",
        hands="Flamma Manopolas +1", waist="Eschan Stone",
        legs="Flamma Dirs +1", feet="Ignominy Sollerets +3",
        ring1="Stikini Ring", Ring2="Kishar Ring",
        ear1="Enchanter Earring +1", ear2="Gwati Earring"}
	sets.midcast['Enfeebling Magic'].Resistant = set_combine(sets.midcast['Enfeebling Magic'], {
		ammo="Pemphredo Tathlum",
		head="Carmine Mask +1", body="Flamma Korazin +1",
        hands="Flamma Manopolas +1", ear1="Dignitary's Earring",
		legs="Flamma Dirs +1"})

-- Based on HP when casted.
    sets.midcast['Dread Spikes'] = {
        ammo="Impatiens",
        head=Ody_WSdmg_head, body="Heathen's Cuirass +1",
        back="Moonbeam Cape", neck="Dualism Collar +1",
        hands="Ignominy Gauntlets +2", waist="Oneiros Belt",
        legs="Flamma Dirs +1", feet="Ratri Sollerets",
        ring1="Eihwaz Ring", Ring2="Meridian Ring",
        ear1="Odnowa Earring +1", ear2="Odnowa Earring"}

-- Absorbs
    sets.midcast.Absorb = {
        ammo="Pemphredo Tathlum",
        head="Ignominy Burgonet +3", body="Carmine Scale Mail",
        back="Chuparrosa Mantle", neck="Erra Pendant",
        hands="Pavor Gauntlets", waist="Eschan Stone",
        legs="Onyx Cuisses", feet="Ratri Sollerets",
        Ring1="Evanescence Ring", Ring2="Kishar Ring",
        ear1="Enchanter Earring +1", ear2="Gwati Earring"}
    sets.midcast.Absorb.Resistant = set_combine(sets.midcast.Absorb, {
        head="Carmine Mask +1", body="Flamma Korazin +1",
        back=Ank_FC, hands="Flamma Manopolas +1",
        legs="Flamma Dirs +1", feet="Ignominy Sollerets +3",
        ear1="Dignitary's Earring"})

    sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb, {hands="Heathen's Gauntlets +1"})
	sets.midcast['Absorb-TP'].Resistant = set_combine(sets.midcast.Absorb.Resistant, {hands="Heathen's Gauntlets +1"})

	sets.midcast.Stun = {
		ammo="Impatiens",
		head="Carmine Mask +1", body=Ody_FC_body,
		back=Ank_FC, neck="Orunmila's Torque",
		hands="Leyline Gloves", waist="Sailfi Belt +1",
		legs="Eschite Cuisses", feet=Ody_FC_feet,
		Ring1="Evanescence Ring", Ring2="Stikini Ring",
		ear1="Enchanter Earring +1", ear2="Gwati Earring"}

	sets.midcast.Stun.Resistant =set_combine(sets.midcast.Stun, {
		ammo="Pemphredo Tathlum", body="Flamma Korazin +1",
        hands="Flamma Manopolas +1", feet="Ignominy Sollerets +3",
		legs="Flamma Dirs +1", neck="Incanter's Torque",
		ear1="Dignitary's Earring"})
		
	sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
		head="Pixie Hairpin +1", ear1="Hirudinea Earring",
		ring2="Archon Ring", neck="Erra Pendant",
		hands="Fallen's Finger Gauntlets", feet="Ratri Sollerets",
		back="Niht Mantle", waist="Austerity Belt +1"})
	
	sets.midcast.Drain.Resistant = set_combine(sets.midcast['Dark Magic'].Resistant, {
		head="Pixie Hairpin +1", ear1="Hirudinea Earring",
		ring2="Archon Ring", neck="Erra Pendant",
		hands="Fallen's Finger Gauntlets", 
		back="Niht Mantle", waist="Eschan Stone",
		feet="Ignominy Sollerets +3"})

	sets.midcast['Drain III'] = sets.midcast.Drain
	sets.midcast['Drain III'].Resistant = sets.midcast.Drain.Resistant
		
	sets.midcast.Aspir = sets.midcast.Drain
	sets.midcast.Aspir.Resistant = sets.midcast.Drain.Resistant

	sets.midcast.Impact = set_combine(sets.midcast['Dark Magic'], {head=empty, body="Twilight Cloak"})
	sets.midcast.Impact.Resistant = set_combine(sets.midcast['Dark Magic'].Resistant, {head=empty, body="Twilight Cloak"})

-- Elemental Magic sets are default for handling low-tier nukes.
	sets.midcast.LowTierNuke = {
		ammo="Pemphredo Tathlum",
		head="Carmine Mask +1", body="Carmine Scale Mail",
		back="Izdubar Mantle", neck="Sanctity Necklace",
		hands="Carmine Finger Gauntlets +1", waist="Eschan Stone",
		legs="Eschite Cuisses",feet=Ody_MAB_feet,
		ring1="Shiva Ring +1", ring2="Shiva Ring +1",
		ear1="Crematio Earring", ear2="Friomisi Earring"}

	sets.midcast.LowTierNuke.Resistant = {
        ammo="Pemphredo Tathlum",
        head="Carmine Mask +1", body="Carmine Scale Mail",
        back=Ank_FC, neck="Sanctity Necklace",
        hands="Leyline Gloves", waist="Eschan Stone",
        legs="Eschite Cuisses",feet=Ody_MAB_feet,
        ring1="Shiva Ring +1", ring2="Shiva Ring +1",
        ear1="Crematio Earring", ear2="Friomisi Earring"}

	-- Custom classes for high-tier nukes.
	sets.midcast.HighTierNuke = sets.midcast.LowTierNuke
	sets.midcast.HighTierNuke.Resistant = sets.midcast.LowTierNuke.Resistant

-- Resting sets
	sets.resting = {
		ammo="Ginsen",
        head="", body="Lugra Cloak +1",
        back="Moonbeam Cape", neck="Sanctity Necklace",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Carmine Cuisses +1",feet="Amm Greaves",
        ring1="Sheltered Ring", ring2="Paguroidea Ring",
        ear1="Infused Earring", ear2="Genmei Earring"}

-- Idle sets
    sets.idle = {
		ammo="Seething Bomblet +1",
        head="", body="Lugra Cloak +1",
        back="Moonbeam Cape", neck="Sanctity Necklace",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Carmine Cuisses +1", feet="Amm Greaves",
        ring1="Sheltered Ring", ring2="Paguroidea Ring",
        ear1="Odnowa Earring +1", ear2="Genmei Earring"}

    sets.idle.DamageTaken = {
		ammo="Seething Bomblet +1",
        head="Loess Barbuta +1", body="Sulevia's Platemail +2",
        back="Moonbeam Cape", neck="Loricate Torque +1",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Sulevia's Cuisses +2", feet="Amm Greaves",
        ring1="Defending Ring", ring2="Archon Ring",
        ear1="Odnowa Earring +1", ear2="Odnowa Earring"}

    sets.idle.Town = {
		ammo="Knobkierrie",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Erra Pendant",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Carmine Cuisses +1", feet="Ignominy Sollerets +3",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Telos Earring", ear2="Lugra Earring +1"}

	sets.idle.Weak = {
		ammo="Seething Bomblet +1",
		head="Twilight Helm", body="Twilight Mail",
        back="Moonbeam Cape", neck="Loricate Torque +1",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Sulevia's Cuisses +2", feet="Amm Greaves",
        ring1="Defending Ring", ring2="Patricius Ring",
        ear1="Odnowa Earring +1", ear2="Genmei Earring"}

	sets.Kiting = {legs="Carmine Cuisses +1"}

-- Custom buff sets
	sets.Souleater = {head="Ignominy Burgonet +3"}
	sets['Last Resort'] = {}
	sets.Doom = {head="Twilight Helm", body="Twilight Mail", ring2="Purity Ring"}
	sets['Dark Seal'] = {head="Fallen's Burgeonet +1"}
	sets.Aftermath = {}

-- Earring considerations, given Lugra's day/night stats
    sets.BrutalLugra = { ear1="Brutal Earring", ear2="Lugra Earring +1" }
    sets.Lugra = { ear1="Lugra Earring +1" }

-- Engaged Sets
	--1044acc
	sets.engaged = {
	main="Ragnarok",
    sub="Utu Grip",
    ammo="Ginsen",
    head="Flam. Zucchetto +2",
    body={ name="Valorous Mail", augments={'Accuracy+23','"Dbl.Atk."+2','DEX+6',}},
    hands="Sulev. Gauntlets +2",
    legs={ name="Odyssean Cuisses", augments={'Attack+11','"Dbl.Atk."+5',}},
    feet="Flam. Gambieras +2",
    neck="Lissome Necklace",
    waist="Ioskeha Belt",
    left_ear="Cessance Earring",
    right_ear="Telos Earring",
    left_ring="Niqmaddu Ring",
    right_ring="Petrov Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
	--1103acc
	sets.engaged.LowAcc = {
		ammo="Ginsen",
		head="Flamma Zucchetto +1", body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands="Sulevia's Gauntlets +2", waist="Ioskeha Belt",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Cessance Earring"}
	--1165acc
	sets.engaged.MidAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Ioskeha Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu ring", ring2="Regal ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1225acc
	sets.engaged.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}	

-- Liberator - Need 29stp for 5 hit. 76stp for 4hit.
	--1116acc 31stp 43da 8ta 8qa 22haste
	sets.engaged.Liberator = {
		ammo="Ginsen",
		head="Flamma Zucchetto +1", body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Brutal Earring", ear2="Cessance Earring"}
	--1157acc 32stp 44da 4ta 8qa 24haste
	sets.engaged.Liberator.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1212acc 33stp 36da 4ta 5qa 21haste
	sets.engaged.Liberator.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1297acc 33stp 12da 22haste
	sets.engaged.Liberator.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- Anguta - Need 26stp for 5 hit. 72stp for 4 hit.
	--1093acc 73stp 23da 8ta 6qa 22haste
	sets.engaged.Anguta = {
		ammo="Ginsen",
		head="Flamma Zucchetto +1", body=Val_QA_body,
		back=Ank_STP, neck="Ainia Collar",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs=Ody_STP_legs, feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Brutal Earring"}	
	--1155acc 73stp 27da 2ta 6qa 24haste
	sets.engaged.Anguta.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_STP, neck="Combatant's Torque",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs=Ody_STP_legs, feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Petrov Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1212acc 43stp 36da 4ta 5qa 21haste
	sets.engaged.Anguta.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1297acc 43stp 12da 22haste
	sets.engaged.Anguta.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- Apocalypse - Need 33stp for 5 hit. 82stp for 4hit.
	--1180acc 33stp 41da 8ta 8qa 22haste
	sets.engaged.Apocalypse = {
		ammo="Ginsen",
		head="Flamma Zucchetto +1", body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Brutal Earring"}
	--1217acc 37stp 44da 4ta 8qa 24haste
	sets.engaged.Apocalypse.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1272acc 33stp 36da 4ta 5qa 21haste
	sets.engaged.Apocalypse.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1357acc 33stp 12da 22haste
	sets.engaged.Apocalypse.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- GreatSword - Need 26stp for 6 hit. 62stp for 5 hit.
	--1109acc 31stp 43da 8ta 8qa 22haste
	sets.engaged.GreatSword = {
		ammo="Ginsen",
		head="Flamma Zucchetto +1", body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Brutal Earring", ear2="Cessance Earring"}
	--1150acc 32stp 44da 4ta 8qa 24haste	
	sets.engaged.GreatSword.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1206acc 33stp 36da 4ta 5qa 21haste
	sets.engaged.GreatSword.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1291acc 33stp 12da 22haste
	sets.engaged.GreatSword.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- Engaged DamageTaken
	sets.engaged.DamageTaken = {
		ammo="Seething Bomblet +1",
        head="Sulevia's Mask +1", body="Sulevia's Platemail +2",
        back="Moonbeam Cape", neck="Loricate Torque +1",
        hands="Sulevia's Gauntlets +2", waist="Tempus Fugit",
        legs="Sulevia's Cuisses +2",feet="Amm Greaves",
        ring1="Defending Ring", ring2="Regal Ring",
        ear1="Telos Earring", ear2="Mache Earring"}
	sets.engaged.LowAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
		neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})
	sets.engaged.MidAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
		neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})
	sets.engaged.HighAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
		neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})	
	-- Liberator DamageTaken
	sets.engaged.Liberator.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.Liberator.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.Liberator.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.Liberator.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
	-- Anguta DamageTaken
	sets.engaged.Anguta.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.Anguta.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.Anguta.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.Anguta.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
	-- Apocalypse DamageTaken
	sets.engaged.Apocalypse.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.Apocalypse.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.Apocalypse.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.Apocalypse.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken		
	-- GreatSword DamageTaken
	sets.engaged.GreatSword.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.GreatSword.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.GreatSword.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.GreatSword.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken

-- Weaponskill sets
	sets.precast.WS = {
		ammo="Knobkierrie",
		head=Ody_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Fotia Gorget",
		hands=Ody_WSdmg_hands, waist="Fotia Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS.Acc = set_combine(sets.precast.WS, {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		legs="Ignominy Flanchard +3", 
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Mache Earring"})

-- Insurgency - FTP 0.5, 3.25, 6.0 - STR 20%, INT 20% -- Fusion/Compression
	sets.precast.WS['Insurgency'] = {
		ammo="Knobkierrie",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_DA, neck="Fotia Gorget",
		hands="Sulevia's Gauntlets +2", waist="Fotia Belt",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Insurgency'].Acc = set_combine(sets.precast.WS['Insurgency'], { 
		ammo="Seething Bomblet +1", ear1="Mache Earring"})

-- Entropy - FTP 0.75, 1.25, 2.0, - INT 85% -- Gravitation/Reverberation
	sets.precast.WS['Entropy'] = {
		ammo="Knobkierrie",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_DA, neck="Fotia Gorget",
		hands="Sulevia's Gauntlets +2", waist="Fotia Belt",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Shiva Ring +1", ring2="Shiva Ring +1",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Entropy'].Acc = set_combine(sets.precast.WS['Entropy'], { 	
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		ring1="Ramuh ring +1", ring2="Regal ring"})
		
-- Catastrophe - FTP 2.75 - STR 40%, INT 40% - WSdmg% -- Darkness/Gravitation
	sets.precast.WS['Catastrophe'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Catastrophe'].Acc = set_combine(sets.precast.WS['Catastrophe'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Cross Reaper - FTP 2.75 - STR 40%, INT 40% - WSdmg% -- Darkness/Gravitation
	sets.precast.WS['Cross Reaper'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Quietus - FTP 3.0, - STR 60% MND 60% - Triple Dmg, Ignores Defense -- Darkness/Distortion
	sets.precast.WS['Quietus'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Quietus'].Acc = set_combine(sets.precast.WS['Quietus'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Resolution - FTP .71, 1.5, 2.25, - STR 85% Multi Hit -- Fragmentation/Scission
	sets.precast.WS['Resolution'] = {
		ammo="Knobkierrie",
		head=Arg_HQ_head, body="Ignominy Cuirass +3",
		back=Ank_DA, neck="Fotia Gorget",
		hands=Arg_HQ_hands, waist="Fotia Belt",
		legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Resolution'].Acc = set_combine(sets.precast.WS['Resolution'], { 
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", feet="Flamma Gambieras +1",
		hands="Ignominy Gauntlets +2", ear1="Mache Earring"})

-- Torcleaver - FTP 4.75, 7.5, 10, - VIT 80% -- Light/Distortion
	sets.precast.WS['Torcleaver'] = {
		ammo="Knobkierrie",
		head=Ody_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_Wsdmg_Vit, neck="Fotia Gorget",
		hands=Ody_VitWSdmg_hands, waist="Fotia Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Torcleaver'].Acc = set_combine(sets.precast.WS['Torcleaver'], {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", feet="Flamma Gambieras +1",
		hands="Ignominy Gauntlets +2", ear1="Mache Earring"})
		
-- Scourge - FTP 3.0, - STR 40% VIT 40% -- Light/Fusion
	sets.precast.WS['Scourge'] = sets.precast.WS['Torcleaver']
	sets.precast.WS['Scourge'].Acc = sets.precast.WS['Torcleaver'].Acc
	
-- Savage - FTP 4.0, 10.25, 13.75 - MND 50% STR 50% - Fragmentation/Scission
	sets.precast.WS['Savage Blade'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Judgment
	sets.precast.WS['Judgment'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Judgment'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})
end

function job_pretarget(spell, action, spellMap, eventArgs)
    if spell.type:endswith('Magic') and buffactive.silence then
        eventArgs.cancel = true
        send_command('input /item "Echo Drops" <me>')
    end
end

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)

end

function job_post_precast(spell, action, spellMap, eventArgs)
	-- Make sure abilities using head gear don't swap 
    if spell.type:lower() == 'weaponskill' then
        if player.tp > 2999 then
            equip(sets.BrutalLugra)
        else -- use Lugra + moonshade
		if world.time >= (17*60) or world.time <= (7*60) then
			equip(sets.Lugra)
		else
			-- do nothing.
		end
        end
    end
end


-- Job-specific hooks for standard casting events.
function job_midcast(spell, action, spellMap, eventArgs)
 
end

-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
	if spellMap == 'Cure' and spell.target.type == 'SELF' then
		equip(sets.midcast.CureSelf)
	end
	if buffactive['Dark Seal'] and S{"Drain III"}:contains(spell.english)then
        equip({head="Fallen's Burgeonet +1"})
    end
end

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
 
end

function job_post_aftercast(spell, action, spellMap, eventArgs)

end

---------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
---------------------------------------------------------------------

-- Called before the Include starts constructing melee/idle/resting sets.
-- Can customize state or custom melee class values at this point.
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_handle_equipping_gear(status, eventArgs)

end

-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
    if state.Buff['Doom'] or state.Buff['Curse'] then
        idleSet = set_combine(idleSet, sets.Doom)
	end
	return idleSet
end

-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
	if state.Buff.Souleater then
		meleeSet = set_combine(meleeSet, sets.Souleater)
	end
	if state.Buff['Doom'] or state.Buff['Curse'] then
		meleeSet = set_combine(meleeSet, sets.Doom)
	end
	return meleeSet
end


---------------------------------------------------------------------
-- General hooks for other events.
---------------------------------------------------------------------

-- Called when the player's status changes.
function job_status_change(newStatus, oldStatus, eventArgs)

end

-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
	if state.Buff[buff] ~= nil then
        handle_equipping_gear(player.status)
    end
	if buff == "Souleater" then
        handle_equipping_gear(player.status)
    end
	if buff == "Doom" or buff == "Curse" then
		if gain then
			equip(sets.doom)
		else
			handle_equipping_gear(player.status)
		end
	end
end

----------------------------------------------------------------------
-- User code that supplements self-commands.
-----------------------------------------------------------------------

-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
	get_combat_form()
	get_combat_weapon()
end

----------------------------------------------------------------------
-- Utility functions specific to this job.
-----------------------------------------------------------------------
function get_combat_form()
    -- Check Weapontype
	if  Apoc_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Apocalypse')
	elseif
		Anguta_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Anguta')
	elseif
		GS_weapons:contains(player.equipment.main) then
		state.CombatForm:set('GreatSword')
	elseif
		Lib_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Liberator')
	else
		state.CombatForm:reset()
    end
end

function get_combat_weapon()
	if  Apoc_weapons:contains(player.equipment.main) then
		state.CombatWeapon:set('Apocalypse')
	elseif Anguta_weapons:contains(player.equipment.main) then
		state.CombatWeapon:set('Anguta')
	elseif GS_weapons:contains(player.equipment.main) then
		state.CombatWeapon:set('GreatSword')
	elseif
		Lib_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Liberator')
	else -- Use regular set.
		state.CombatWeapon:reset()
    end
end

-- Set eventArgs.handled to true if we don't want the automatic display to be run.
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)

end

-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
	if spell.skill == 'Dark Magic' and Absorbs:contains(spell.english) then
		return 'Absorb'
	end

	if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
		if LowTierNuke:contains(spell.english) then
			return 'LowTierNuke'
		else
			return 'HighTierNuke'
		end
	end
end

function select_earring()
    if world.time >= (17*60) or world.time <= (7*60) then
        return sets.Lugra
    else
        -- do nothing
    end
end

function update_melee_groups()

end

-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    -- Default macro set/book
    if player.sub_job == 'WAR' then
        set_macro_page(1, 2)
    elseif player.sub_job == 'RDM' then
        set_macro_page(2, 2)
    elseif player.sub_job == 'NIN' then
        set_macro_page(3, 2)
    elseif player.sub_job == 'THF' then
        set_macro_page(4, 2)
    else
        set_macro_page(1, 2)
    end
end


This one gives me a error for line 374
 
Offline
Posts:
By 2019-02-16 19:02:42
 Undelete | Edit  | Link | 引用 | 返事
 
Post deleted by User.
Offline
Posts: 274
By trinironnie 2019-02-16 19:03:34  
Updated with the LUA
Offline
Posts: 274
By trinironnie 2019-02-16 19:04:08  
expected to close { at line 357
 Asura.Eiryl
Offline
サーバ: Asura
Game: FFXI
user: Eiryl
By Asura.Eiryl 2019-02-16 19:06:23  
So, put the } at the end of the set that you forgot to copy and paste
Offline
Posts: 274
By trinironnie 2019-02-16 19:07:22  
*fp* lol thxs
Offline
Posts: 274
By trinironnie 2019-02-16 19:17:21  
Code
--[[ Info
Commands
	//gs debugmode
	//gs showswaps
	//gs validate - looks for gear in your sets that isnt in inventory.

-- Scythe Light:
	Insurgency > Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency 
	Vorpal Scythe > Entropy > Guillotine > Entropy > Insurgency 
	Entropy > Guillotine > Entropy > Insurgency 
	Guillotine > Entropy > Insurgency
	
-- Scythe Darkness: 
    Insurgency (M) > Vorpal Scythe > Vorpal Scythe > Insurgency (M) > Entropy (MM) > Cross Reaper
    Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
	Cross Reaper > Insurgency (M) > Entropy (MM) > Cross Reaper
    Insurgency (M) > Entropy (MM) > Cross Reaper
	Cross Reaper > Entropy (MM)
    Entropy (MM) > Cross Reaper

-- Apoc Darkness
    Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM) > Catastrophe (R)
    Entropy (MM) > Guillotine > Entropy (MM) > Cross Reaper > Entropy (MM)
    Insurgency (M) > Entropy (MM) > Cross Reaper > Catastrophe (R)
	Insurgency (M) > Catastrophe (R) > Cross Reaper > Catastrophe (R)
	Cross Reaper > Insurgency (M) > Catastrophe (R) > Cross Reaper
	Catastrophe (R) > Cross Reaper > Catastrophe (R)
	Insurgency (M) > Catastrophe (R) > Cross Reaper
	Cross Reaper > Catastrophe (R) > Catastrophe (R)
    Cross Reaper > Entropy (MM) > Catastrophe (R)
	Entropy (MM) > Cross Reaper > Catastrophe (R)
    Catastrophe (R) > Catastrophe (R)
    Catastrophe (R) > Cross Reaper
    Cross Reaper > Catastrophe (R)

-- Other Light
	Catastrophe (R) > Savage Blade (Q) > Insurgency (M)
    Entropy (MM) > Savage Blade (Q) > Insurgency (M)
	Savage Blade (Q) > Insurgency (M)
	Chant du Cygne (E) > Torcleaver (E)

-- Other Dark
	Atonement (M) > Entropy (MM) > Cross Reaper
	Savage Blade (Q) > Cross Reaper > Entropy (MM)
	Chant du Cygne (E) > Catastrophe (R)
	Chant du Cygne (E) > Entropy (MM)
    Requiescat (MM) > Cross Reaper
	Requiescat (MM) > Torcleaver (E)

-- GreatSword
    Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM) > Torcleaver (E)
	Resolution (MM) > Torcleaver (E) > Scourge (R) > Resolution (MM)
    Resolution (MM) > Scourge (R) > Torcleaver (E)
	Scourge (R) > Resolution (MM) > Torcleaver (E)
	Torcleaver (E) > Torcleaver (E)
	Scourge (R) > Resolution (MM)
--]]

-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2
	 -- Load and initialize the include file.
    include('Mote-Include.lua')
end

function binds_on_load()
-- F9-F12
	send_command('bind f9 gs c cycle OffenseMode')
	send_command('bind f10 gs c cycle HybridMode')
	send_command('bind f11 gs c cycle CastingMode')
	send_command('bind f12 gs c cycle IdleMode')
-- ALT F9-12
	send_command('bind !f9 gs c update user')
	send_command('bind !f10 gs c cycle RangedMode')
	send_command('bind !f11 gs c cycle WeaponskillMode')
	send_command('bind !f12 gs c cycle Kiting')
end
 
-- Setup vars that are user-independent.
function job_setup()
    state.Buff.Aftermath = buffactive.Aftermath or false
    state.Buff.Souleater = buffactive.Souleater or false
	state.Buff['Dark Seal'] = buffactive['Dark Seal'] or false
	state.Buff['Last Resort'] = buffactive['Last Resort'] or false
	state.Buff['Doom'] = buffactive['Doom'] or false
	state.Buff['Curse'] = buffactive['Curse'] or false

	Apoc_weapons = S{'Apocalypse'}
	GS_weapons = S{'Ragnarok', 'Montante +1', 'Caladbolg'}
	Anguta_weapons = S{'Anguta'}
	Lib_weapons = S{'Liberator'}

	get_combat_form()
	get_combat_weapon()

	LowTierNuke = S{
		'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
		'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
		'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
		'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
		'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
		
	Absorbs = S{'Absorb-STR', 'Absorb-DEX', 'Absorb-VIT', 'Absorb-AGI', 'Absorb-INT', 'Absorb-MND', 'Absorb-CHR', 'Absorb-Attri', 'Absorb-ACC', 'Absorb-TP'}
		
end

-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
    -- Options: Override default values
    state.OffenseMode:options('Normal', 'LowAcc', 'MidAcc', 'HighAcc')
    state.WeaponskillMode:options('Normal', 'Acc', 'Fotia')
    state.HybridMode:options('Normal', 'DamageTaken')
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('Normal','DamageTaken')

    select_default_macro_book()
end

-- Called when this job file is unloaded (eg: job change)
function file_unload()
	if binds_on_unload then
		binds_on_unload()
	end
end

-- Define sets and vars used by this job file.
function init_gear_sets()
-- Precast sets
    sets.precast.JA['Diabolic Eye'] = {hands="Fallen's Finger Gauntlets"}
    sets.precast.JA['Arcane Circle'] = {feet="Ignominy Sollerets +3"}
    sets.precast.JA['Nether Void'] = {legs="Heathen's Flanchard +1"}
    sets.precast.JA['Souleater'] = {head="Ignominy Burgonet +3"}
    sets.precast.JA['Last Resort'] = {feet="Abyss Sollerets", back=Ank_STP}
    sets.precast.JA['Weapon Bash'] = {hands="Ignominy Gauntlets"}
    sets.precast.JA['Blood Weapon'] = {body="Fallen's Cuirass +1"}
	sets.precast.JA['Dark Seal']    = {head="Fallen's Burgeonet +1"}

-- Waltz set (chr and vit)
    sets.precast.Waltz = {
        ammo="Seething Bomblet +1",
        head="Loess Barbuta +1", body="Sulevia's Platemail +2",
        back="Moonbeam Cape", neck="Loricate Torque +1",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Sulevia's Cuisses +2", feet="Amm Greaves",
        ring1="Niqmaddu Ring", ring2="Regal Ring",
        ear1="Odnowa Earring +1", ear2="Odnowa Earring"}

-- Fast cast sets for spells
    sets.precast.FC = {
    sub="Utu Grip",
    ammo="Sapience Orb",
    head={ name="Carmine Mask +1", augments={'Accuracy+20','Mag. Acc.+12','"Fast Cast"+4',}},
    body="Odyss. Chestplate",
    hands="Sulev. Gauntlets +2",
    legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
    feet="Odyssean Greaves",
    neck="Voltsurge Torque",
    waist="Flume Belt +1",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Kishar Ring",
    right_ring="Prolix Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}

    sets.precast.FC.Impact = set_combine(sets.precast.FC, {
		head=empty, body="Twilight Cloak"})

-- Midcast Sets
    sets.midcast.FastRecast = {
		ammo="Impatiens",
		head="Carmine Mask +1", body=Ody_FC_body,
		back=Ank_FC, neck="Orunmila's Torque",
		hands="Leyline Gloves", waist="Sailfi Belt +1",
		legs="Eschite Cuisses", feet=Ody_FC_feet,
		ring1="Lebeche Ring", ring2="Kishar Ring",
		ear1="Enchanter Earring +1", ear2="Loquacious Earring"}

-- Specific spells
    sets.midcast['Dark Magic'] = {
        ammo="Pemphredo Tathlum",
        head="Ignominy Burgonet +3", body="Carmine Scale Mail",
        back=Ank_FC, neck="Erra Pendant",
        hands="Fallen's Finger Gauntlets", waist="Eschan Stone",
        legs="Eschite Cuisses", feet="Ratri Sollerets",
        ring1="Evanescence Ring", Ring2="Stikini Ring",
        ear1="Enchanter Earring +1", ear2="Gwati Earring"}
	sets.midcast['Dark Magic'].Resistant = set_combine(sets.midcast['Dark Magic'], {
		head="Carmine Mask +1", body="Flamma Korazin +1",
        hands="Flamma Manopolas +1", feet="Ignominy Sollerets +3",
		legs="Flamma Dirs +1", ear1="Dignitary's Earring"})
	
    sets.midcast['Enfeebling Magic'] = {
        ammo="Quartz Tathlum +1",
        head="Befouled Crown", body="Flamma Korazin +1",
        back=Ank_FC, neck="Incanter's Torque",
        hands="Flamma Manopolas +1", waist="Eschan Stone",
        legs="Flamma Dirs +1", feet="Ignominy Sollerets +3",
        ring1="Stikini Ring", Ring2="Kishar Ring",
        ear1="Enchanter Earring +1", ear2="Gwati Earring"}
	sets.midcast['Enfeebling Magic'].Resistant = set_combine(sets.midcast['Enfeebling Magic'], {
		ammo="Pemphredo Tathlum",
		head="Carmine Mask +1", body="Flamma Korazin +1",
        hands="Flamma Manopolas +1", ear1="Dignitary's Earring",
		legs="Flamma Dirs +1"})

-- Based on HP when casted.
    sets.midcast['Dread Spikes'] = {
        ammo="Impatiens",
        head=Ody_WSdmg_head, body="Heathen's Cuirass +1",
        back="Moonbeam Cape", neck="Dualism Collar +1",
        hands="Ignominy Gauntlets +2", waist="Oneiros Belt",
        legs="Flamma Dirs +1", feet="Ratri Sollerets",
        ring1="Eihwaz Ring", Ring2="Meridian Ring",
        ear1="Odnowa Earring +1", ear2="Odnowa Earring"}

-- Absorbs
    sets.midcast.Absorb = {
        ammo="Pemphredo Tathlum",
        head="Ignominy Burgonet +3", body="Carmine Scale Mail",
        back="Chuparrosa Mantle", neck="Erra Pendant",
        hands="Pavor Gauntlets", waist="Eschan Stone",
        legs="Onyx Cuisses", feet="Ratri Sollerets",
        Ring1="Evanescence Ring", Ring2="Kishar Ring",
        ear1="Enchanter Earring +1", ear2="Gwati Earring"}
    sets.midcast.Absorb.Resistant = set_combine(sets.midcast.Absorb, {
        head="Carmine Mask +1", body="Flamma Korazin +1",
        back=Ank_FC, hands="Flamma Manopolas +1",
        legs="Flamma Dirs +1", feet="Ignominy Sollerets +3",
        ear1="Dignitary's Earring"})

    sets.midcast['Absorb-TP'] = set_combine(sets.midcast.Absorb, {hands="Heathen's Gauntlets +1"})
	sets.midcast['Absorb-TP'].Resistant = set_combine(sets.midcast.Absorb.Resistant, {hands="Heathen's Gauntlets +1"})

	sets.midcast.Stun = {
		ammo="Impatiens",
		head="Carmine Mask +1", body=Ody_FC_body,
		back=Ank_FC, neck="Orunmila's Torque",
		hands="Leyline Gloves", waist="Sailfi Belt +1",
		legs="Eschite Cuisses", feet=Ody_FC_feet,
		Ring1="Evanescence Ring", Ring2="Stikini Ring",
		ear1="Enchanter Earring +1", ear2="Gwati Earring"}

	sets.midcast.Stun.Resistant =set_combine(sets.midcast.Stun, {
		ammo="Pemphredo Tathlum", body="Flamma Korazin +1",
        hands="Flamma Manopolas +1", feet="Ignominy Sollerets +3",
		legs="Flamma Dirs +1", neck="Incanter's Torque",
		ear1="Dignitary's Earring"})
		
	sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {
		head="Pixie Hairpin +1", ear1="Hirudinea Earring",
		ring2="Archon Ring", neck="Erra Pendant",
		hands="Fallen's Finger Gauntlets", feet="Ratri Sollerets",
		back="Niht Mantle", waist="Austerity Belt +1"})
	
	sets.midcast.Drain.Resistant = set_combine(sets.midcast['Dark Magic'].Resistant, {
		head="Pixie Hairpin +1", ear1="Hirudinea Earring",
		ring2="Archon Ring", neck="Erra Pendant",
		hands="Fallen's Finger Gauntlets", 
		back="Niht Mantle", waist="Eschan Stone",
		feet="Ignominy Sollerets +3"})

	sets.midcast['Drain III'] = sets.midcast.Drain
	sets.midcast['Drain III'].Resistant = sets.midcast.Drain.Resistant
		
	sets.midcast.Aspir = sets.midcast.Drain
	sets.midcast.Aspir.Resistant = sets.midcast.Drain.Resistant

	sets.midcast.Impact = set_combine(sets.midcast['Dark Magic'], {head=empty, body="Twilight Cloak"})
	sets.midcast.Impact.Resistant = set_combine(sets.midcast['Dark Magic'].Resistant, {head=empty, body="Twilight Cloak"})

-- Elemental Magic sets are default for handling low-tier nukes.
	sets.midcast.LowTierNuke = {
		ammo="Pemphredo Tathlum",
		head="Carmine Mask +1", body="Carmine Scale Mail",
		back="Izdubar Mantle", neck="Sanctity Necklace",
		hands="Carmine Finger Gauntlets +1", waist="Eschan Stone",
		legs="Eschite Cuisses",feet=Ody_MAB_feet,
		ring1="Shiva Ring +1", ring2="Shiva Ring +1",
		ear1="Crematio Earring", ear2="Friomisi Earring"}

	sets.midcast.LowTierNuke.Resistant = {
        ammo="Pemphredo Tathlum",
        head="Carmine Mask +1", body="Carmine Scale Mail",
        back=Ank_FC, neck="Sanctity Necklace",
        hands="Leyline Gloves", waist="Eschan Stone",
        legs="Eschite Cuisses",feet=Ody_MAB_feet,
        ring1="Shiva Ring +1", ring2="Shiva Ring +1",
        ear1="Crematio Earring", ear2="Friomisi Earring"}

	-- Custom classes for high-tier nukes.
	sets.midcast.HighTierNuke = sets.midcast.LowTierNuke
	sets.midcast.HighTierNuke.Resistant = sets.midcast.LowTierNuke.Resistant

-- Resting sets
	sets.resting = {
		ammo="Ginsen",
        head="", body="Lugra Cloak +1",
        back="Moonbeam Cape", neck="Sanctity Necklace",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Carmine Cuisses +1",feet="Amm Greaves",
        ring1="Sheltered Ring", ring2="Paguroidea Ring",
        ear1="Infused Earring", ear2="Genmei Earring"}

-- Idle sets
    sets.idle = {
    sub="Utu Grip",
    ammo="Staunch Tathlum +1",
    body="Lugra Cloak +1",
    hands="Sulev. Gauntlets +2",
    legs={ name="Carmine Cuisses +1", augments={'Accuracy+20','Attack+12','"Dual Wield"+6',}},
    feet="Sulev. Leggings +1",
    neck="Loricate Torque +1",
    waist="Flume Belt +1",
    left_ear="Odnowa Earring +1",
    right_ear="Etiolation Earring",
    left_ring="Gelatinous Ring +1",
    right_ring="Defending Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
}

    sets.idle.DamageTaken = {
		ammo="Seething Bomblet +1",
        head="Loess Barbuta +1", body="Sulevia's Platemail +2",
        back="Moonbeam Cape", neck="Loricate Torque +1",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Sulevia's Cuisses +2", feet="Amm Greaves",
        ring1="Defending Ring", ring2="Archon Ring",
        ear1="Odnowa Earring +1", ear2="Odnowa Earring"}

    sets.idle.Town = {
		ammo="Knobkierrie",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Erra Pendant",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Carmine Cuisses +1", feet="Ignominy Sollerets +3",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Telos Earring", ear2="Lugra Earring +1"}

	sets.idle.Weak = {
		ammo="Seething Bomblet +1",
		head="Twilight Helm", body="Twilight Mail",
        back="Moonbeam Cape", neck="Loricate Torque +1",
        hands="Sulevia's Gauntlets +2", waist="Flume Belt +1",
        legs="Sulevia's Cuisses +2", feet="Amm Greaves",
        ring1="Defending Ring", ring2="Patricius Ring",
        ear1="Odnowa Earring +1", ear2="Genmei Earring"}

	sets.Kiting = {legs="Carmine Cuisses +1"}

-- Custom buff sets
	sets.Souleater = {head="Ignominy Burgonet +3"}
	sets['Last Resort'] = {}
	sets.Doom = {head="Twilight Helm", body="Twilight Mail", ring2="Purity Ring"}
	sets['Dark Seal'] = {head="Fallen's Burgeonet +1"}
	sets.Aftermath = {}

-- Earring considerations, given Lugra's day/night stats
    sets.BrutalLugra = { ear1="Brutal Earring", ear2="Lugra Earring +1" }
    sets.Lugra = { ear1="Lugra Earring +1" }

-- Engaged Sets
	--1044acc
	sets.engaged = {
    sub="Utu Grip",
    ammo="Ginsen",
    head="Flam. Zucchetto +2",
    body={ name="Valorous Mail", augments={'Accuracy+23','"Dbl.Atk."+2','DEX+6',}},
    hands="Sulev. Gauntlets +2",
    legs={ name="Odyssean Cuisses", augments={'Attack+11','"Dbl.Atk."+5',}},
    feet="Flam. Gambieras +2",
    neck="Lissome Necklace",
    waist="Ioskeha Belt",
    left_ear="Cessance Earring",
    right_ear="Telos Earring",
    left_ring="Niqmaddu Ring",
    right_ring="Petrov Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
	--1103acc
	sets.engaged.LowAcc = {
		ammo="Ginsen",
		head="Flamma Zucchetto +1", body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands="Sulevia's Gauntlets +2", waist="Ioskeha Belt",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Cessance Earring"}
	--1165acc
	sets.engaged.MidAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Ioskeha Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu ring", ring2="Regal ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1225acc
	sets.engaged.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}	

-- Liberator - Need 29stp for 5 hit. 76stp for 4hit.
	--1116acc 31stp 43da 8ta 8qa 22haste
	sets.engaged.Liberator = {
    sub="Utu Grip",
    ammo="Ginsen",
    head="Flam. Zucchetto +2",
    body={ name="Valorous Mail", augments={'Accuracy+23','"Dbl.Atk."+2','DEX+6',}},
    hands="Sulev. Gauntlets +2",
    legs={ name="Odyssean Cuisses", augments={'Attack+11','"Dbl.Atk."+5',}},
    feet="Flam. Gambieras +2",
    neck="Lissome Necklace",
    waist="Ioskeha Belt",
    left_ear="Cessance Earring",
    right_ear="Telos Earring",
    left_ring="Niqmaddu Ring",
    right_ring="Petrov Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
	--1157acc 32stp 44da 4ta 8qa 24haste
	sets.engaged.Liberator.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1212acc 33stp 36da 4ta 5qa 21haste
	sets.engaged.Liberator.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1297acc 33stp 12da 22haste
	sets.engaged.Liberator.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- Anguta - Need 26stp for 5 hit. 72stp for 4 hit.
	--1093acc 73stp 23da 8ta 6qa 22haste
	sets.engaged.Anguta = {
		sub="Utu Grip",
    ammo="Ginsen",
    head="Flam. Zucchetto +2",
    body={ name="Valorous Mail", augments={'Accuracy+23','"Dbl.Atk."+2','DEX+6',}},
    hands="Sulev. Gauntlets +2",
    legs={ name="Odyssean Cuisses", augments={'Attack+11','"Dbl.Atk."+5',}},
    feet="Flam. Gambieras +2",
    neck="Lissome Necklace",
    waist="Ioskeha Belt",
    left_ear="Cessance Earring",
    right_ear="Telos Earring",
    left_ring="Niqmaddu Ring",
    right_ring="Petrov Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}	
	--1155acc 73stp 27da 2ta 6qa 24haste
	sets.engaged.Anguta.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_STP, neck="Combatant's Torque",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs=Ody_STP_legs, feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Petrov Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1212acc 43stp 36da 4ta 5qa 21haste
	sets.engaged.Anguta.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1297acc 43stp 12da 22haste
	sets.engaged.Anguta.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- Apocalypse - Need 33stp for 5 hit. 82stp for 4hit.
	--1180acc 33stp 41da 8ta 8qa 22haste
	sets.engaged.Apocalypse = {
		sub="Utu Grip",
    ammo="Ginsen",
    head="Flam. Zucchetto +2",
    body={ name="Valorous Mail", augments={'Accuracy+23','"Dbl.Atk."+2','DEX+6',}},
    hands="Sulev. Gauntlets +2",
    legs={ name="Odyssean Cuisses", augments={'Attack+11','"Dbl.Atk."+5',}},
    feet="Flam. Gambieras +2",
    neck="Lissome Necklace",
    waist="Ioskeha Belt",
    left_ear="Cessance Earring",
    right_ear="Telos Earring",
    left_ring="Niqmaddu Ring",
    right_ring="Petrov Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
	--1217acc 37stp 44da 4ta 8qa 24haste
	sets.engaged.Apocalypse.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1272acc 33stp 36da 4ta 5qa 21haste
	sets.engaged.Apocalypse.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1357acc 33stp 12da 22haste
	sets.engaged.Apocalypse.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- GreatSword - Need 26stp for 6 hit. 62stp for 5 hit.
	--1109acc 31stp 43da 8ta 8qa 22haste
	sets.engaged.GreatSword = {
		sub="Utu Grip",
    ammo="Ginsen",
    head="Flam. Zucchetto +2",
    body={ name="Valorous Mail", augments={'Accuracy+23','"Dbl.Atk."+2','DEX+6',}},
    hands="Sulev. Gauntlets +2",
    legs={ name="Odyssean Cuisses", augments={'Attack+11','"Dbl.Atk."+5',}},
    feet="Flam. Gambieras +2",
    neck="Lissome Necklace",
    waist="Ioskeha Belt",
    left_ear="Cessance Earring",
    right_ear="Telos Earring",
    left_ring="Niqmaddu Ring",
    right_ring="Petrov Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
	--1150acc 32stp 44da 4ta 8qa 24haste	
	sets.engaged.GreatSword.LowAcc = {
		ammo="Ginsen",
		head=Arg_HQ_head, body=Val_QA_body,
		back=Ank_DA_TP, neck="Ganesha's Mala",
		hands=Arg_HQ_hands, waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1206acc 33stp 36da 4ta 5qa 21haste
	sets.engaged.GreatSword.MidAcc = {
		ammo="Seething Bomblet +1",
		head=Arg_HQ_head, body=Val_DA_body,
		back=Ank_DA_TP, neck="Combatant's Torque",
		hands="Sulevia's Gauntlets +2", waist="Windbuffet Belt +1",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Niqmaddu Ring", ring2="Hetairoi Ring",
		ear1="Telos Earring", ear2="Cessance Earring"}
	--1291acc 33stp 12da 22haste
	sets.engaged.GreatSword.HighAcc = {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_STP, neck="Combatant's Torque",
		hands="Ignominy Gauntlets +2", waist="Olseni Belt",
		legs="Ignominy Flanchard +3", feet=Val_STP_feet,
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Telos Earring", ear2="Mache Earring"}

-- Engaged DamageTaken
	sets.engaged.DamageTaken = {
		sub="Utu Grip",
    ammo="Ginsen",
    head="Sulevia's Mask +1",
    body="Sulevia's Plate. +1",
    hands="Sulev. Gauntlets +2",
    legs="Sulev. Cuisses +2",
    feet="Sulev. Leggings +1",
    neck="Loricate Torque +1",
    waist="Flume Belt +1",
    left_ear="Telos Earring",
    right_ear="Cessance Earring",
    left_ring="Gelatinous Ring +1",
    right_ring="Defending Ring",
    back={ name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},}
	sets.engaged.MidAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
		neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})
	sets.engaged.HighAcc.DamageTaken = set_combine(sets.engaged.DamageTaken, {
		neck="Combatant's Torque", back=Ank_STP, ring2="Patricius Ring"})	
	-- Liberator DamageTaken
	sets.engaged.Liberator.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.Liberator.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.Liberator.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.Liberator.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
	-- Anguta DamageTaken
	sets.engaged.Anguta.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.Anguta.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.Anguta.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.Anguta.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken
	-- Apocalypse DamageTaken
	sets.engaged.Apocalypse.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.Apocalypse.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.Apocalypse.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.Apocalypse.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken		
	-- GreatSword DamageTaken
	sets.engaged.GreatSword.DamageTaken = sets.engaged.DamageTaken
	sets.engaged.GreatSword.LowAcc.DamageTaken = sets.engaged.LowAcc.DamageTaken
	sets.engaged.GreatSword.MidAcc.DamageTaken = sets.engaged.MidAcc.DamageTaken
	sets.engaged.GreatSword.HighAcc.DamageTaken = sets.engaged.HighAcc.DamageTaken

-- Weaponskill sets
	sets.precast.WS = {
		ammo="Knobkierrie",
		head=Ody_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Fotia Gorget",
		hands=Ody_WSdmg_hands, waist="Fotia Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS.Acc = set_combine(sets.precast.WS, {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		legs="Ignominy Flanchard +3", 
		ring1="Ramuh ring +1", ring2="Regal ring",
		ear1="Mache Earring"})

-- Insurgency - FTP 0.5, 3.25, 6.0 - STR 20%, INT 20% -- Fusion/Compression
	sets.precast.WS['Insurgency'] = {
		ammo="Knobkierrie",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_DA, neck="Fotia Gorget",
		hands="Sulevia's Gauntlets +2", waist="Fotia Belt",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Insurgency'].Acc = set_combine(sets.precast.WS['Insurgency'], { 
		ammo="Seething Bomblet +1", ear1="Mache Earring"})

-- Entropy - FTP 0.75, 1.25, 2.0, - INT 85% -- Gravitation/Reverberation
	sets.precast.WS['Entropy'] = {
		ammo="Knobkierrie",
		head="Ignominy Burgonet +3", body="Ignominy Cuirass +3",
		back=Ank_DA, neck="Fotia Gorget",
		hands="Sulevia's Gauntlets +2", waist="Fotia Belt",
		legs="Ignominy Flanchard +3", feet="Flamma Gambieras +1",
		ring1="Shiva Ring +1", ring2="Shiva Ring +1",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Entropy'].Acc = set_combine(sets.precast.WS['Entropy'], { 	
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		ring1="Ramuh ring +1", ring2="Regal ring"})
		
-- Catastrophe - FTP 2.75 - STR 40%, INT 40% - WSdmg% -- Darkness/Gravitation
	sets.precast.WS['Catastrophe'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Catastrophe'].Acc = set_combine(sets.precast.WS['Catastrophe'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Cross Reaper - FTP 2.75 - STR 40%, INT 40% - WSdmg% -- Darkness/Gravitation
	sets.precast.WS['Cross Reaper'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Quietus - FTP 3.0, - STR 60% MND 60% - Triple Dmg, Ignores Defense -- Darkness/Distortion
	sets.precast.WS['Quietus'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs="Ratri Cuisses", feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Quietus'].Acc = set_combine(sets.precast.WS['Quietus'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Resolution - FTP .71, 1.5, 2.25, - STR 85% Multi Hit -- Fragmentation/Scission
	sets.precast.WS['Resolution'] = {
		ammo="Knobkierrie",
		head=Arg_HQ_head, body="Ignominy Cuirass +3",
		back=Ank_DA, neck="Fotia Gorget",
		hands=Arg_HQ_hands, waist="Fotia Belt",
		legs="Ignominy Flanchard +3", feet=Arg_HQ_feet,
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Brutal Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Resolution'].Acc = set_combine(sets.precast.WS['Resolution'], { 
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", feet="Flamma Gambieras +1",
		hands="Ignominy Gauntlets +2", ear1="Mache Earring"})

-- Torcleaver - FTP 4.75, 7.5, 10, - VIT 80% -- Light/Distortion
	sets.precast.WS['Torcleaver'] = {
		ammo="Knobkierrie",
		head=Ody_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_Wsdmg_Vit, neck="Fotia Gorget",
		hands=Ody_VitWSdmg_hands, waist="Fotia Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Torcleaver'].Acc = set_combine(sets.precast.WS['Torcleaver'], {
		ammo="Seething Bomblet +1",
		head="Ignominy Burgonet +3", feet="Flamma Gambieras +1",
		hands="Ignominy Gauntlets +2", ear1="Mache Earring"})
		
-- Scourge - FTP 3.0, - STR 40% VIT 40% -- Light/Fusion
	sets.precast.WS['Scourge'] = sets.precast.WS['Torcleaver']
	sets.precast.WS['Scourge'].Acc = sets.precast.WS['Torcleaver'].Acc
	
-- Savage - FTP 4.0, 10.25, 13.75 - MND 50% STR 50% - Fragmentation/Scission
	sets.precast.WS['Savage Blade'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Savage Blade'].Acc = set_combine(sets.precast.WS['Savage Blade'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})

-- Judgment
	sets.precast.WS['Judgment'] = {
		ammo="Knobkierrie",
		head=Val_WSdmg_head, body="Ignominy Cuirass +3",
		back=Ank_WSdmg, neck="Caro Necklace",
		hands=Ody_WSdmg_hands, waist="Metalsinger Belt",
		legs=Ody_WSdmg_legs, feet="Sulevia's Leggings +2",
		ring1="Niqmaddu Ring", ring2="Regal Ring",
		ear1="Ishvara Earring", ear2="Moonshade Earring"}
	sets.precast.WS['Judgment'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
		ammo="Seething Bomblet +1", ear1="Mache Earring",
		head="Ignominy Burgonet +3", legs="Ignominy Flanchard +3"})
end

function job_pretarget(spell, action, spellMap, eventArgs)
    if spell.type:endswith('Magic') and buffactive.silence then
        eventArgs.cancel = true
        send_command('input /item "Echo Drops" <me>')
    end
end

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)

end

function job_post_precast(spell, action, spellMap, eventArgs)
	-- Make sure abilities using head gear don't swap 
    if spell.type:lower() == 'weaponskill' then
        if player.tp > 2999 then
            equip(sets.BrutalLugra)
        else -- use Lugra + moonshade
		if world.time >= (17*60) or world.time <= (7*60) then
			equip(sets.Lugra)
		else
			-- do nothing.
		end
        end
    end
end


-- Job-specific hooks for standard casting events.
function job_midcast(spell, action, spellMap, eventArgs)
 
end

-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
	if spellMap == 'Cure' and spell.target.type == 'SELF' then
		equip(sets.midcast.CureSelf)
	end
	if buffactive['Dark Seal'] and S{"Drain III"}:contains(spell.english)then
        equip({head="Fallen's Burgeonet +1"})
    end
end

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
 
end

function job_post_aftercast(spell, action, spellMap, eventArgs)

end

---------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
---------------------------------------------------------------------

-- Called before the Include starts constructing melee/idle/resting sets.
-- Can customize state or custom melee class values at this point.
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_handle_equipping_gear(status, eventArgs)

end

-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
    if state.Buff['Doom'] or state.Buff['Curse'] then
        idleSet = set_combine(idleSet, sets.Doom)
	end
	return idleSet
end

-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
	if state.Buff.Souleater then
		meleeSet = set_combine(meleeSet, sets.Souleater)
	end
	if state.Buff['Doom'] or state.Buff['Curse'] then
		meleeSet = set_combine(meleeSet, sets.Doom)
	end
	return meleeSet
end


---------------------------------------------------------------------
-- General hooks for other events.
---------------------------------------------------------------------

-- Called when the player's status changes.
function job_status_change(newStatus, oldStatus, eventArgs)

end

-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
	if state.Buff[buff] ~= nil then
        handle_equipping_gear(player.status)
    end
	if buff == "Souleater" then
        handle_equipping_gear(player.status)
    end
	if buff == "Doom" or buff == "Curse" then
		if gain then
			equip(sets.doom)
		else
			handle_equipping_gear(player.status)
		end
	end
end

----------------------------------------------------------------------
-- User code that supplements self-commands.
-----------------------------------------------------------------------

-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
	get_combat_form()
	get_combat_weapon()
end

----------------------------------------------------------------------
-- Utility functions specific to this job.
-----------------------------------------------------------------------
function get_combat_form()
    -- Check Weapontype
	if  Apoc_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Apocalypse')
	elseif
		Anguta_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Anguta')
	elseif
		GS_weapons:contains(player.equipment.main) then
		state.CombatForm:set('GreatSword')
	elseif
		Lib_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Liberator')
	else
		state.CombatForm:reset()
    end
end

function get_combat_weapon()
	if  Apoc_weapons:contains(player.equipment.main) then
		state.CombatWeapon:set('Apocalypse')
	elseif Anguta_weapons:contains(player.equipment.main) then
		state.CombatWeapon:set('Anguta')
	elseif GS_weapons:contains(player.equipment.main) then
		state.CombatWeapon:set('GreatSword')
	elseif
		Lib_weapons:contains(player.equipment.main) then
		state.CombatForm:set('Liberator')
	else -- Use regular set.
		state.CombatWeapon:reset()
    end
end

-- Set eventArgs.handled to true if we don't want the automatic display to be run.
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)

end

-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
	if spell.skill == 'Dark Magic' and Absorbs:contains(spell.english) then
		return 'Absorb'
	end

	if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
		if LowTierNuke:contains(spell.english) then
			return 'LowTierNuke'
		else
			return 'HighTierNuke'
		end
	end
end

function select_earring()
    if world.time >= (17*60) or world.time <= (7*60) then
        return sets.Lugra
    else
        -- do nothing
    end
end

function update_melee_groups()

end

-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    -- Default macro set/book
    if player.sub_job == 'WAR' then
        set_macro_page(1, 2)
    elseif player.sub_job == 'RDM' then
        set_macro_page(2, 2)
    elseif player.sub_job == 'NIN' then
        set_macro_page(3, 2)
    elseif player.sub_job == 'THF' then
        set_macro_page(4, 2)
    else
        set_macro_page(1, 2)
    end
end


How about it doesn't equip my idle set after doing anything? Kinda leaves me in the gear i previously had a action in.
Offline
Posts: 52
By Zaryun 2019-02-21 20:17:15  
Boredom does this to a man!



honor/march/minuet x2, chaos/sam roll, DS/NV absorb-str/vit/mnd, last resort, endark2, scarlet delirium, souleater and consume mana (I used EVERYTHING) helped to produce this tasty morsel.

It was averaging 40k with roughly 30 ws's, with 10 of them being at each tp tier anywhere from 20-30k from 1k-1.7k tp, to 50-77k at 3ktp. Most of those without everything but the buffs and LR/endark. 58% wsdmg and 10% pdl in gear for those wondering and Loxotic/Mafic as clubs, sucks DRK gets so few 119 club options :(

Doubt I'll ever try this in most endgame content unless I get really bored but I might try DRK instead of BLU for SL master trial and see how it fares.
[+]
First Page 2 3 ... 159 160 161 ... 209 210 211
Log in to post.