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

Eorzea Time
 
 
 
Language: JP EN FR DE
users online
Forum » 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 ... 61 62 63 ... 209 210 211
 Asura.Evildemon
Offline
Server: Asura
Game: FFXI
Posts: 134
By Asura.Evildemon 2016-03-04 21:20:37
Link | Quote | Reply
 
I have an older gearswap that I got about a year ago that I decided to try and put some sets together. I noticed it didn't have sets for casting drain, aspir and absorb spells so I added them but they aren't working. I feel like I'm having a coding issue but I don't know the right coding to make them work. I know the drain/aspir isn't working simply because i took away my other ring1 items and it won't equip Archon ring at all.
Code
-- *** Credit goes to Flippant for helping me with Gearswap *** --
-- ** I Use Some of Motenten's Functions ** --
-- Last Updated: 05/05/14 12:00 AM ** --

function get_sets()
	AccIndex = 1
	AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid/Stun. First Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below. Most of These Sets Are Empty So You Need To Edit Them On Your Own. Remember To Check What The Combined Set Is For Each Sets. --
	WeaponIndex = 1
	WeaponArray = {"Liberator","Ragnarok","Apocalypse"} -- Default Main Weapon Is Liberator. Can Delete Any Weapons/Sets That You Don't Need Or Replace/Add The New Weapons That You Want To Use. --
	IdleIndex = 1
	IdleArray = {"Movement","Regen","Refresh"} -- Default Idle Set Is Movement --
	Armor = 'None'
	Warp = 'None'
	Twilight = 'None'
	Attack = 'OFF' -- Set Default Attack Set ON or OFF Here --
	Rancor = 'ON' -- Set Default Rancor ON or OFF Here --
	Mekira = 'OFF' -- Set Default Mekira ON or OFF Here --
	Samurai_Roll = 'OFF' -- Set Default SAM Roll ON or OFF Here --
	target_distance = 5 -- Set Default Distance Here --
	select_default_macro_book() -- Change Default Macro Book At The End --

	sc_map = {SC1="Resolution", SC2="LastResort", SC3="Souleater"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --

	sets.Idle = {}
	-- Idle/Town Sets --
	sets.Idle.Regen = {
			ammo="Ginsen",
			head="Twilight Helm",
			neck="Coatl Gorget +1",
			ear1="Ethereal Earring",
			ear2="Brutal Earring",
			body="Ares' Cuirass +1",
			hands="Emicho Gauntlets",
			ring1="Paguroidea Ring",
			ring2="Defending Ring",
			back="Shadow Mantle",
			waist="Nierenschutz",
			legs="Blood Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	
	sets.Idle.Regen.Liberator = set_combine(sets.Idle.Regen,{
			main="Liberator"})
	sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{
			main="Ragnarok"})
	sets.Idle.Regen.Apocalypse = set_combine(sets.Idle.Regen,{
			main="Apocalypse"})

	sets.Idle.Movement = set_combine(sets.Idle.Regen,{
			ammo="Ginsen",
			head="Twilight Helm",
			neck="Coatl Gorget +1",
			ear1="Ethereal Earring",
			ear2="Brutal Earring",
			body="Ares' Cuirass +1",
			hands="Emicho Gauntlets",
			ring1="Paguroidea Ring",
			ring2="Defending Ring",
			back="Shadow Mantle",
			waist="Nierenschutz",
			legs="Blood Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}})
		
	sets.Idle.Movement.Liberator = set_combine(sets.Idle.Movement,{
			main="Liberator"})
	sets.Idle.Movement.Ragnarok = set_combine(sets.Idle.Movement,{
			main="Ragnarok"})
	sets.Idle.Movement.Apocalypse = set_combine(sets.Idle.Movement,{
			main="Apocalypse"})

	sets.Idle.Refresh = set_combine(sets.Idle.Regen,{
			ammo="Ginsen",
			head="Twilight Helm",
			neck="Coatl Gorget +1",
			ear1="Ethereal Earring",
			ear2="Brutal Earring",
			body="Ares' Cuirass +1",
			hands="Emicho Gauntlets",
			ring1="Paguroidea Ring",
			ring2="Defending Ring",
			back="Shadow Mantle",
			waist="Nierenschutz",
			legs="Blood Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}})
			
	sets.Idle.Refresh.Liberator = set_combine(sets.Idle.Refresh,{
			main="Liberator"})
	sets.Idle.Refresh.Ragnarok = set_combine(sets.Idle.Refresh,{
			main="Ragnarok"})
	sets.Idle.Refresh.Apocalypse = set_combine(sets.Idle.Refresh,{
			main="Apocalypse"})

	sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
	sets.WarpSet = {ring1="Warp Ring"}

	-- TP Base Set --
	sets.TP = {}

	-- Liberator(AM3 Down) TP Sets --
	sets.TP.Liberator = {
			main="Liberator",
			sub="Duplus Grip",
			ammo="Ginsen",
			head="Otomi Helm",
			neck="Ganesha's Mala",
			ear1="Trux Earring",
			ear2="Brutal Earring",
			body="Pak Corselet +1",
			hands="Cizin Mufflers +1",
			ring1="K'ayres Ring",
			ring2="Rajas Ring",
			back="Atheling Mantle",
			waist="Windbuffet Belt",
			legs="Ares' Flanchard +1",
			feet="Huginn Gambieras"}
	sets.TP.Liberator.MidACC = set_combine(sets.TP.Liberator,{
			head="Yaoyotl Helm",
			neck="Ziel Charm",
			ear1="Steelflash Earring",
			ear2="Bladeborn Earring",
			body="Xaddi Mail",
			hands="Xaddi Gauntlets",
			back="Letalis Mantle",
			waist="Dynamic Belt +1",
			legs="Xaddi Cuisses",
			feet="Xaddi Boots"})
	sets.TP.Liberator.HighACC = set_combine(sets.TP.Liberator.MidACC,{
			body="Mes. Haubergeon",
			ring1="Mars's Ring"})

	-- Liberator(AM3 Up) TP Sets --
	sets.TP.Liberator.AM3 = set_combine(sets.TP.Liberator,{
			head="Yaoyotl Helm",
			ear1="Tripudio Earring",
			ear2="Brutal Earring",
			body="Enif Corazza"})
	sets.TP.Liberator.MidACC.AM3 = set_combine(sets.TP.Liberator.AM3,{
			neck="Ziel Charm",
			ear1="Steelflash Earring",
			ear2="Bladeborn Earring",
			body="Xaddi Mail",
			hands="Xaddi Gauntlets",
			back="Letalis Mantle",
			waist="Dynamic Belt +1",
			legs="Xaddi Cuisses",
			feet="Xaddi Boots"})
	sets.TP.Liberator.HighACC.AM3 = set_combine(sets.TP.Liberator.MidACC.AM3,{
			body="Mes. Haubergeon",
			ring1="Mars's Ring"})

	-- Liberator(AM3 Down: High Haste) TP Sets --
	sets.TP.Liberator.HighHaste = set_combine(sets.TP.Liberator,{})
	sets.TP.Liberator.MidACC.HighHaste = set_combine(sets.TP.Liberator.HighHaste,{})
	sets.TP.Liberator.HighACC.HighHaste = set_combine(sets.TP.Liberator.MidACC.HighHaste,{})

	-- Liberator(AM3 Up: High Haste) TP Sets --
	sets.TP.Liberator.AM3.HighHaste = set_combine(sets.TP.Liberator.AM3,{})
	sets.TP.Liberator.MidACC.AM3.HighHaste = set_combine(sets.TP.Liberator.AM3.HighHaste,{})
	sets.TP.Liberator.HighACC.AM3.HighHaste = set_combine(sets.TP.Liberator.MidACC.AM3.HighHaste,{})

	-- Liberator(AM3 Down: Ionis) TP Sets --
	sets.TP.Liberator.Ionis = set_combine(sets.TP.Liberator,{})
	sets.TP.Liberator.MidACC.Ionis = set_combine(sets.TP.Liberator.Ionis,{})
	sets.TP.Liberator.HighACC.Ionis = set_combine(sets.TP.Liberator.MidACC.Ionis,{})

	-- Liberator(AM3 Up: Ionis) TP Sets --
	sets.TP.Liberator.AM3.Ionis = set_combine(sets.TP.Liberator.AM3,{})
	sets.TP.Liberator.MidACC.AM3.Ionis = set_combine(sets.TP.Liberator.AM3.Ionis,{})
	sets.TP.Liberator.HighACC.AM3.Ionis = set_combine(sets.TP.Liberator.MidACC.AM3.Ionis,{})

	-- Liberator(AM3 Down: High Haste + Ionis) TP Sets --
	sets.TP.Liberator.HighHaste.Ionis = set_combine(sets.TP.Liberator.HighHaste,{})
	sets.TP.Liberator.MidACC.HighHaste.Ionis = set_combine(sets.TP.Liberator.HighHaste.Ionis,{})
	sets.TP.Liberator.HighACC.HighHaste.Ionis = set_combine(sets.TP.Liberator.MidACC.HighHaste.Ionis,{})

	-- Liberator(AM3 Up: High Haste + Ionis) TP Sets --
	sets.TP.Liberator.AM3.HighHaste.Ionis = set_combine(sets.TP.Liberator.AM3.HighHaste,{})
	sets.TP.Liberator.MidACC.AM3.HighHaste.Ionis = set_combine(sets.TP.Liberator.AM3.HighHaste.Ionis,{})
	sets.TP.Liberator.HighACC.AM3.HighHaste.Ionis = set_combine(sets.TP.Liberator.MidACC.AM3.HighHaste.Ionis,{})

	-- Liberator(AM3 Down: SAM Roll) TP Sets --
	sets.TP.Liberator.STP = set_combine(sets.TP.Liberator,{})
	sets.TP.Liberator.MidACC.STP = set_combine(sets.TP.Liberator.MidACC,{})
	sets.TP.Liberator.HighACC.STP = set_combine(sets.TP.Liberator.HighACC,{})

	-- Liberator(AM3 Up: SAM Roll) TP Sets --
	sets.TP.Liberator.AM3.STP = set_combine(sets.TP.Liberator.AM3,{})
	sets.TP.Liberator.MidACC.AM3.STP = set_combine(sets.TP.Liberator.MidACC.AM3,{})
	sets.TP.Liberator.HighACC.AM3.STP = set_combine(sets.TP.Liberator.HighACC.AM3,{})

	-- Liberator(AM3 Down: High Haste + SAM Roll) TP Sets --
	sets.TP.Liberator.HighHaste.STP = set_combine(sets.TP.Liberator.HighHaste,{})
	sets.TP.Liberator.MidACC.HighHaste.STP = set_combine(sets.TP.Liberator.MidACC.HighHaste,{})
	sets.TP.Liberator.HighACC.HighHaste.STP = set_combine(sets.TP.Liberator.HighACC.HighHaste,{})

	-- Liberator(AM3 Up: High Haste + SAM Roll) TP Sets --
	sets.TP.Liberator.AM3.HighHaste.STP = set_combine(sets.TP.Liberator.HighHaste,{})
	sets.TP.Liberator.MidACC.AM3.HighHaste.STP = set_combine(sets.TP.Liberator.MidACC.HighHaste,{})
	sets.TP.Liberator.HighACC.AM3.HighHaste.STP = set_combine(sets.TP.Liberator.HighACC.HighHaste,{})

	-- Liberator(AM3 Down: Ionis + SAM Roll) TP Sets --
	sets.TP.Liberator.Ionis.STP = set_combine(sets.TP.Liberator.Ionis,{})
	sets.TP.Liberator.MidACC.Ionis.STP = set_combine(sets.TP.Liberator.MidACC.Ionis,{})
	sets.TP.Liberator.HighACC.Ionis.STP = set_combine(sets.TP.Liberator.HighACC.Ionis,{})

	-- Liberator(AM3 Up: Ionis + SAM Roll) TP Sets --
	sets.TP.Liberator.AM3.Ionis.STP = set_combine(sets.TP.Liberator.AM3,{})
	sets.TP.Liberator.MidACC.AM3.Ionis.STP = set_combine(sets.TP.Liberator.MidACC.AM3,{})
	sets.TP.Liberator.HighACC.AM3.Ionis.STP = set_combine(sets.TP.Liberator.HighACC.AM3,{})

	-- Liberator(AM3 Down: High Haste + Ionis + SAM Roll) TP Sets --
	sets.TP.Liberator.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.HighHaste,{})
	sets.TP.Liberator.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.MidACC.HighHaste,{})
	sets.TP.Liberator.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.HighACC.HighHaste,{})

	-- Liberator(AM3 Up: High Haste + Ionis + SAM Roll) TP Sets --
	sets.TP.Liberator.AM3.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.HighHaste,{})
	sets.TP.Liberator.MidACC.AM3.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.MidACC.HighHaste,{})
	sets.TP.Liberator.HighACC.AM3.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.HighACC.HighHaste,{})

	-- Ragnarok TP Sets --
	sets.TP.Ragnarok = {	
			ammo="Ginsen",
			head="Valorous Mask",
			neck="Ganesha's Mala",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			body="Acro Surcoat",
			hands="Emicho Gauntlets",
			ring1="Petrov Ring",
			ring2="Rajas Ring",
			back="Bleating Mantle",
			waist="Windbuffet Belt +1",
			legs="Odyssean Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring",})	
	sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{
			neck="Lissome necklace",
			ear2="Heartseeker earring",
			ring2="Ramuh ring",})

	-- Ragnarok(High Haste) TP Sets --
	sets.TP.Ragnarok.HighHaste = set_combine(sets.TP.Ragnarok,{})
	sets.TP.Ragnarok.MidACC.HighHaste = set_combine(sets.TP.Ragnarok.HighHaste,{})
	sets.TP.Ragnarok.HighACC.HighHaste = set_combine(sets.TP.Ragnarok.MidACC.HighHaste,{})

	-- Ragnarok(Ionis) TP Sets --
	sets.TP.Ragnarok.Ionis = set_combine(sets.TP.Ragnarok,{})
	sets.TP.Ragnarok.MidACC.Ionis = set_combine(sets.TP.Ragnarok.Ionis,{})
	sets.TP.Ragnarok.HighACC.Ionis = set_combine(sets.TP.Ragnarok.MidACC.Ionis,{})

	-- Ragnarok(High Haste + Ionis) TP Sets --
	sets.TP.Ragnarok.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.HighHaste,{})
	sets.TP.Ragnarok.MidACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.HighHaste.Ionis,{})
	sets.TP.Ragnarok.HighACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.MidACC.HighHaste.Ionis,{})

	-- Ragnarok(SAM Roll) TP Sets --
	sets.TP.Ragnarok.STP = set_combine(sets.TP.Ragnarok,{})
	sets.TP.Ragnarok.MidACC.STP = set_combine(sets.TP.Ragnarok.MidACC,{})
	sets.TP.Ragnarok.HighACC.STP = set_combine(sets.TP.Ragnarok.HighACC,{})

	-- Ragnarok(High Haste + SAM Roll) TP Sets --
	sets.TP.Ragnarok.HighHaste.STP = set_combine(sets.TP.Ragnarok.HighHaste,{})
	sets.TP.Ragnarok.MidACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.MidACC.HighHaste,{})
	sets.TP.Ragnarok.HighACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.HighACC.HighHaste,{})

	-- Ragnarok(Ionis + SAM Roll) TP Sets --
	sets.TP.Ragnarok.Ionis.STP = set_combine(sets.TP.Ragnarok.Ionis,{})
	sets.TP.Ragnarok.MidACC.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC.Ionis,{})
	sets.TP.Ragnarok.HighACC.Ionis.STP = set_combine(sets.TP.Ragnarok.HighACC.Ionis,{})

	-- Ragnarok(High Haste + Ionis + SAM Roll) TP Sets --
	sets.TP.Ragnarok.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.HighHaste,{})
	sets.TP.Ragnarok.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC.HighHaste,{})
	sets.TP.Ragnarok.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.HighACC.HighHaste,{})

	-- Apocalypse(AM Down) TP Sets --
	sets.TP.Apocalypse = {
			ammo="Ginsen",
			head="Valorous Mask",
			neck="Ganesha's Mala",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			body="Acro Surcoat",
			hands="Emicho Gauntlets",
			ring1="Petrov Ring",
			ring2="Rajas Ring",
			back="Bleating Mantle",
			waist="Windbuffet Belt +1",
			legs="Odyssean Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.TP.Apocalypse.MidACC = set_combine(sets.TP.Apocalypse,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring",})	
	sets.TP.Apocalypse.HighACC = set_combine(sets.TP.Apocalypse.MidACC,{
			neck="Lissome necklace",
			ear2="Heartseeker earring",
			ring2="Ramuh ring",})

	-- Apocalypse(AM Down: High Haste) TP Sets --
	sets.TP.Apocalypse.HighHaste = set_combine(sets.TP.Apocalypse,{})
	sets.TP.Apocalypse.MidACC.HighHaste = set_combine(sets.TP.Apocalypse.HighHaste,{})
	sets.TP.Apocalypse.HighACC.HighHaste = set_combine(sets.TP.Apocalypse.MidACC.HighHaste,{})

	-- Apocalypse(AM Down: Ionis) TP Sets --
	sets.TP.Apocalypse.Ionis = set_combine(sets.TP.Apocalypse,{})
	sets.TP.Apocalypse.MidACC.Ionis = set_combine(sets.TP.Apocalypse.Ionis,{})
	sets.TP.Apocalypse.HighACC.Ionis = set_combine(sets.TP.Apocalypse.MidACC.Ionis,{})

	-- Apocalypse(AM Down: High Haste + Ionis) TP Sets --
	sets.TP.Apocalypse.HighHaste.Ionis = set_combine(sets.TP.Apocalypse.HighHaste,{})
	sets.TP.Apocalypse.MidACC.HighHaste.Ionis = set_combine(sets.TP.Apocalypse.HighHaste.Ionis,{})
	sets.TP.Apocalypse.HighACC.HighHaste.Ionis = set_combine(sets.TP.Apocalypse.MidACC.HighHaste.Ionis,{})

	-- Apocalypse(AM Down: SAM Roll) TP Sets --
	sets.TP.Apocalypse.STP = set_combine(sets.TP.Apocalypse,{})
	sets.TP.Apocalypse.MidACC.STP = set_combine(sets.TP.Apocalypse.MidACC,{})
	sets.TP.Apocalypse.HighACC.STP = set_combine(sets.TP.Apocalypse.HighACC,{})

	-- Apocalypse(AM Down: High Haste + SAM Roll) TP Sets --
	sets.TP.Apocalypse.HighHaste.STP = set_combine(sets.TP.Apocalypse.HighHaste,{})
	sets.TP.Apocalypse.MidACC.HighHaste.STP = set_combine(sets.TP.Apocalypse.MidACC.HighHaste,{})
	sets.TP.Apocalypse.HighACC.HighHaste.STP = set_combine(sets.TP.Apocalypse.HighACC.HighHaste,{})

	-- Apocalypse(AM Down: Ionis + SAM Roll) TP Sets --
	sets.TP.Apocalypse.Ionis.STP = set_combine(sets.TP.Apocalypse.Ionis,{})
	sets.TP.Apocalypse.MidACC.Ionis.STP = set_combine(sets.TP.Apocalypse.MidACC.Ionis,{})
	sets.TP.Apocalypse.HighACC.Ionis.STP = set_combine(sets.TP.Apocalypse.HighACC.Ionis,{})

	-- Apocalypse(AM Down: High Haste + Ionis + SAM Roll) TP Sets --
	sets.TP.Apocalypse.HighHaste.Ionis.STP = set_combine(sets.TP.Apocalypse.HighHaste,{})
	sets.TP.Apocalypse.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Apocalypse.MidACC.HighHaste,{})
	sets.TP.Apocalypse.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Apocalypse.HighACC.HighHaste,{})

	-- Liberator(AM3 Down) /SAM TP Sets --
	sets.TP.Liberator.SAM = {
			main="Liberator",
			sub="Duplus Grip",
			ammo="Ginsen",
			head="Otomi Helm",
			neck="Ganesha's Mala",
			ear1="Trux Earring",
			ear2="Brutal Earring",
			body="Pak Corselet +1",
			hands="Cizin Mufflers +1",
			ring1="K'ayres Ring",
			ring2="Rajas Ring",
			back="Atheling Mantle",
			waist="Windbuffet Belt",
			legs="Ares' Flanchard +1",
			feet="Huginn Gambieras"}
	sets.TP.Liberator.SAM.MidACC = set_combine(sets.TP.Liberator.SAM,{
			head="Yaoyotl Helm",
			neck="Ziel Charm",
			ear1="Steelflash Earring",
			ear2="Bladeborn Earring",
			body="Xaddi Mail",
			hands="Xaddi Gauntlets",
			back="Letalis Mantle",
			waist="Dynamic Belt +1",
			legs="Xaddi Cuisses",
			feet="Xaddi Boots"})
	sets.TP.Liberator.SAM.HighACC = set_combine(sets.TP.Liberator.SAM.MidACC,{
			ammo="Fire Bomblet",
			neck="Ziel Charm",
			body="Mes. Haubergeon",
			hands="Buremte Gloves",
			ring1="Patricius Ring",
			ring2="Mars's Ring",
			feet="Whirlpool Greaves"})

	-- Liberator(AM3 Up) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3 = set_combine(sets.TP.Liberator.SAM,{
			head="Yaoyotl Helm",
			ear1="Tripudio Earring",
			ear2="Brutal Earring",
			body="Enif Corazza"})
	sets.TP.Liberator.SAM.MidACC.AM3 = set_combine(sets.TP.Liberator.SAM.AM3,{
			ear1="Steelflash Earring",
			ear2="Bladeborn Earring",
			hands="Miki. Gauntlets",
			back="Letalis Mantle",
			waist="Dynamic Belt +1",
			feet="Mikinaak Greaves"})
	sets.TP.Liberator.SAM.HighACC.AM3 = set_combine(sets.TP.Liberator.SAM.MidACC.AM3,{
			body="Mes. Haubergeon",
			ring1="Mars's Ring"})

	-- Liberator(AM3 Down: High Haste) /SAM TP Sets --
	sets.TP.Liberator.SAM.HighHaste = set_combine(sets.TP.Liberator.SAM,{})
	sets.TP.Liberator.SAM.MidACC.HighHaste = set_combine(sets.TP.Liberator.SAM.HighHaste,{})
	sets.TP.Liberator.SAM.HighACC.HighHaste = set_combine(sets.TP.Liberator.SAM.MidACC.HighHaste,{})

	-- Liberator(AM3 Up: High Haste) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3.HighHaste = set_combine(sets.TP.Liberator.SAM.AM3,{})
	sets.TP.Liberator.SAM.MidACC.AM3.HighHaste = set_combine(sets.TP.Liberator.SAM.AM3.HighHaste,{})
	sets.TP.Liberator.SAM.HighACC.AM3.HighHaste = set_combine(sets.TP.Liberator.SAM.MidACC.AM3.HighHaste,{})

	-- Liberator(AM3 Down: Ionis) /SAM TP Sets --
	sets.TP.Liberator.SAM.Ionis = set_combine(sets.TP.Liberator.SAM,{})
	sets.TP.Liberator.SAM.MidACC.Ionis = set_combine(sets.TP.Liberator.SAM.Ionis,{})
	sets.TP.Liberator.SAM.HighACC.Ionis = set_combine(sets.TP.Liberator.SAM.MidACC.Ionis,{})

	-- Liberator(AM3 Up: Ionis) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3.Ionis = set_combine(sets.TP.Liberator.SAM.AM3,{})
	sets.TP.Liberator.SAM.MidACC.AM3.Ionis = set_combine(sets.TP.Liberator.SAM.AM3.Ionis,{})
	sets.TP.Liberator.SAM.HighACC.AM3.Ionis = set_combine(sets.TP.Liberator.SAM.MidACC.AM3.Ionis,{})

	-- Liberator(AM3 Down: High Haste + Ionis) /SAM TP Sets --
	sets.TP.Liberator.SAM.HighHaste.Ionis = set_combine(sets.TP.Liberator.SAM.HighHaste,{})
	sets.TP.Liberator.SAM.MidACC.HighHaste.Ionis = set_combine(sets.TP.Liberator.SAM.HighHaste.Ionis,{})
	sets.TP.Liberator.SAM.HighACC.HighHaste.Ionis = set_combine(sets.TP.Liberator.SAM.MidACC.HighHaste.Ionis,{})

	-- Liberator(AM3 Up: High Haste + Ionis) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3.HighHaste.Ionis = set_combine(sets.TP.Liberator.SAM.AM3.HighHaste,{})
	sets.TP.Liberator.SAM.MidACC.AM3.HighHaste.Ionis = set_combine(sets.TP.Liberator.SAM.AM3.HighHaste.Ionis,{})
	sets.TP.Liberator.SAM.HighACC.AM3.HighHaste.Ionis = set_combine(sets.TP.Liberator.SAM.MidACC.AM3.HighHaste.Ionis,{})

	-- Liberator(AM3 Down: SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.STP = set_combine(sets.TP.Liberator.SAM,{})
	sets.TP.Liberator.SAM.MidACC.STP = set_combine(sets.TP.Liberator.SAM.MidACC,{})
	sets.TP.Liberator.SAM.HighACC.STP = set_combine(sets.TP.Liberator.SAM.HighACC,{})

	-- Liberator(AM3 Up: SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3.STP = set_combine(sets.TP.Liberator.SAM.AM3,{})
	sets.TP.Liberator.SAM.MidACC.AM3.STP = set_combine(sets.TP.Liberator.SAM.MidACC.AM3,{})
	sets.TP.Liberator.SAM.HighACC.AM3.STP = set_combine(sets.TP.Liberator.SAM.HighACC.AM3,{})

	-- Liberator(AM3 Down: High Haste + SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.HighHaste.STP = set_combine(sets.TP.Liberator.SAM.HighHaste,{})
	sets.TP.Liberator.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.Liberator.SAM.MidACC.HighHaste,{})
	sets.TP.Liberator.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.Liberator.SAM.HighACC.HighHaste,{})

	-- Liberator(AM3 Up: High Haste + SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3.HighHaste.STP = set_combine(sets.TP.Liberator.SAM.HighHaste,{})
	sets.TP.Liberator.SAM.MidACC.AM3.HighHaste.STP = set_combine(sets.TP.Liberator.SAM.MidACC.HighHaste,{})
	sets.TP.Liberator.SAM.HighACC.AM3.HighHaste.STP = set_combine(sets.TP.Liberator.SAM.HighACC.HighHaste,{})

	-- Liberator(AM3 Down: Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.Ionis.STP = set_combine(sets.TP.Liberator.SAM.Ionis,{})
	sets.TP.Liberator.SAM.MidACC.Ionis.STP = set_combine(sets.TP.Liberator.SAM.MidACC.Ionis,{})
	sets.TP.Liberator.SAM.HighACC.Ionis.STP = set_combine(sets.TP.Liberator.SAM.HighACC.Ionis,{})

	-- Liberator(AM3 Up: Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3.Ionis.STP = set_combine(sets.TP.Liberator.SAM.AM3,{})
	sets.TP.Liberator.SAM.MidACC.AM3.Ionis.STP = set_combine(sets.TP.Liberator.SAM.MidACC.AM3,{})
	sets.TP.Liberator.SAM.HighACC.AM3.Ionis.STP = set_combine(sets.TP.Liberator.SAM.HighACC.AM3,{})

	-- Liberator(AM3 Down: High Haste + Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.SAM.HighHaste,{})
	sets.TP.Liberator.SAM.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.SAM.MidACC.HighHaste,{})
	sets.TP.Liberator.SAM.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.SAM.HighACC.HighHaste,{})

	-- Liberator(AM3 Up: High Haste + Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Liberator.SAM.AM3.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.SAM.HighHaste,{})
	sets.TP.Liberator.SAM.MidACC.AM3.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.SAM.MidACC.HighHaste,{})
	sets.TP.Liberator.SAM.HighACC.AM3.HighHaste.Ionis.STP = set_combine(sets.TP.Liberator.SAM.HighACC.HighHaste,{})

	-- Ragnarok /SAM TP Sets --
	sets.TP.Ragnarok.SAM = {
			ammo="Ginsen",
			head="Valorous Mask",
			neck="Ganesha's Mala",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			body="Acro Surcoat",
			hands="Emicho Gauntlets",
			ring1="Petrov Ring",
			ring2="Rajas Ring",
			back="Bleating Mantle",
			waist="Windbuffet Belt +1",
			legs="Odyssean Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.TP.Ragnarok.SAM.MidACC = set_combine(sets.TP.Ragnarok.SAM,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring",})	
	sets.TP.Ragnarok.SAM.HighACC = set_combine(sets.TP.Ragnarok.SAM.MidACC,{
			neck="Lissome necklace",
			ear2="Heartseeker earring",
			ring2="Ramuh ring",})

	-- Ragnarok(High Haste) /SAM TP Sets --
	sets.TP.Ragnarok.SAM.HighHaste = set_combine(sets.TP.Ragnarok.SAM,{})
	sets.TP.Ragnarok.SAM.MidACC.HighHaste = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{})
	sets.TP.Ragnarok.SAM.HighACC.HighHaste = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste,{})

	-- Ragnarok(Ionis) /SAM TP Sets --
	sets.TP.Ragnarok.SAM.Ionis = set_combine(sets.TP.Ragnarok.SAM,{})
	sets.TP.Ragnarok.SAM.MidACC.Ionis = set_combine(sets.TP.Ragnarok.SAM.Ionis,{})
	sets.TP.Ragnarok.SAM.HighACC.Ionis = set_combine(sets.TP.Ragnarok.SAM.MidACC.Ionis,{})

	-- Ragnarok(High Haste + Ionis) /SAM TP Sets --
	sets.TP.Ragnarok.SAM.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{})
	sets.TP.Ragnarok.SAM.MidACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.SAM.HighHaste.Ionis,{})
	sets.TP.Ragnarok.SAM.HighACC.HighHaste.Ionis = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste.Ionis,{})

	-- Ragnarok(SAM Roll) /SAM TP Sets --
	sets.TP.Ragnarok.SAM.STP = set_combine(sets.TP.Ragnarok.SAM,{})
	sets.TP.Ragnarok.SAM.MidACC.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC,{})
	sets.TP.Ragnarok.SAM.HighACC.STP = set_combine(sets.TP.Ragnarok.SAM.HighACC,{})

	-- Ragnarok(High Haste + SAM Roll) /SAM TP Sets --
	sets.TP.Ragnarok.SAM.HighHaste.STP = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{})
	sets.TP.Ragnarok.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste,{})
	sets.TP.Ragnarok.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.Ragnarok.SAM.HighACC.HighHaste,{})

	-- Ragnarok(Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Ragnarok.SAM.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.Ionis,{})
	sets.TP.Ragnarok.SAM.MidACC.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC.Ionis,{})
	sets.TP.Ragnarok.SAM.HighACC.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.HighACC.Ionis,{})

	-- Ragnarok(High Haste + Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Ragnarok.SAM.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.HighHaste,{})
	sets.TP.Ragnarok.SAM.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.MidACC.HighHaste,{})
	sets.TP.Ragnarok.SAM.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Ragnarok.SAM.HighACC.HighHaste,{})

	-- Apocalypse(AM Down) /SAM TP Sets --
	sets.TP.Apocalypse.SAM = {
			ammo="Ginsen",
			head="Valorous Mask",
			neck="Ganesha's Mala",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			body="Acro Surcoat",
			hands="Emicho Gauntlets",
			ring1="Petrov Ring",
			ring2="Rajas Ring",
			back="Bleating Mantle",
			waist="Windbuffet Belt +1",
			legs="Odyssean Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.TP.Apocalypse.SAM.MidACC = set_combine(sets.TP.Apocalypse.SAM,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring",})	
	sets.TP.Apocalypse.SAM.HighACC = set_combine(sets.TP.Apocalypse.SAM.MidACC,{
			neck="Lissome necklace",
			ear2="Heartseeker earring",
			ring2="Ramuh ring",})

	-- Apocalypse(AM Down: High Haste) /SAM TP Sets --
	sets.TP.Apocalypse.SAM.HighHaste = set_combine(sets.TP.Apocalypse.SAM,{})
	sets.TP.Apocalypse.SAM.MidACC.HighHaste = set_combine(sets.TP.Apocalypse.SAM.HighHaste,{})
	sets.TP.Apocalypse.SAM.HighACC.HighHaste = set_combine(sets.TP.Apocalypse.SAM.MidACC.HighHaste,{})

	-- Apocalypse(AM Down: Ionis) /SAM TP Sets --
	sets.TP.Apocalypse.SAM.Ionis = set_combine(sets.TP.Apocalypse.SAM,{})
	sets.TP.Apocalypse.SAM.MidACC.Ionis = set_combine(sets.TP.Apocalypse.SAM.Ionis,{})
	sets.TP.Apocalypse.SAM.HighACC.Ionis = set_combine(sets.TP.Apocalypse.SAM.MidACC.Ionis,{})

	-- Apocalypse(AM Down: High Haste + Ionis) /SAM TP Sets --
	sets.TP.Apocalypse.SAM.HighHaste.Ionis = set_combine(sets.TP.Apocalypse.SAM.HighHaste,{})
	sets.TP.Apocalypse.SAM.MidACC.HighHaste.Ionis = set_combine(sets.TP.Apocalypse.SAM.HighHaste.Ionis,{})
	sets.TP.Apocalypse.SAM.HighACC.HighHaste.Ionis = set_combine(sets.TP.Apocalypse.SAM.MidACC.HighHaste.Ionis,{})

	-- Apocalypse(AM Down: SAM Roll) /SAM TP Sets --
	sets.TP.Apocalypse.SAM.STP = set_combine(sets.TP.Apocalypse.SAM,{})
	sets.TP.Apocalypse.SAM.MidACC.STP = set_combine(sets.TP.Apocalypse.SAM.MidACC,{})
	sets.TP.Apocalypse.SAM.HighACC.STP = set_combine(sets.TP.Apocalypse.SAM.HighACC,{})

	-- Apocalypse(AM Down: High Haste + SAM Roll) /SAM TP Sets --
	sets.TP.Apocalypse.SAM.HighHaste.STP = set_combine(sets.TP.Apocalypse.SAM.HighHaste,{})
	sets.TP.Apocalypse.SAM.MidACC.HighHaste.STP = set_combine(sets.TP.Apocalypse.SAM.MidACC.HighHaste,{})
	sets.TP.Apocalypse.SAM.HighACC.HighHaste.STP = set_combine(sets.TP.Apocalypse.SAM.HighACC.HighHaste,{})

	-- Apocalypse(AM Down: Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Apocalypse.SAM.Ionis.STP = set_combine(sets.TP.Apocalypse.SAM.Ionis,{})
	sets.TP.Apocalypse.SAM.MidACC.Ionis.STP = set_combine(sets.TP.Apocalypse.SAM.MidACC.Ionis,{})
	sets.TP.Apocalypse.SAM.HighACC.Ionis.STP = set_combine(sets.TP.Apocalypse.SAM.HighACC.Ionis,{})

	-- Apocalypse(AM Down: High Haste + Ionis + SAM Roll) /SAM TP Sets --
	sets.TP.Apocalypse.SAM.HighHaste.Ionis.STP = set_combine(sets.TP.Apocalypse.SAM.HighHaste,{})
	sets.TP.Apocalypse.SAM.MidACC.HighHaste.Ionis.STP = set_combine(sets.TP.Apocalypse.SAM.MidACC.HighHaste,{})
	sets.TP.Apocalypse.SAM.HighACC.HighHaste.Ionis.STP = set_combine(sets.TP.Apocalypse.SAM.HighACC.HighHaste,{})

	-- AM3 Rancor ON Mantle --
	sets.TP.Rancor = {back="Rancorous Mantle"}

	-- PDT/MDT Sets --
	sets.PDT = {
			ammo="Ginsen",
			head="Valorous Mask",
			neck="Loricate Torque",
			ear1="Ethereal Earring",
			ear2="Etiolation Earring",
			body="Acro Surcoat",
			hands="Emicho Gauntlets", 
			ring1={name="Dark Ring",augments={"Phys. dmg. taken -6%","Magic dmg. taken -5%"}},
			ring2="Defending Ring",
			back="Solemnity Cape", 
			waist="Flume Belt", 
			legs="Odyssean Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}

	sets.MDT = set_combine(sets.PDT,{
			ammo="Ginsen",
			head="Valorous Mask",
			neck="Loricate Torque",
			ear1="Ethereal Earring",
			ear2="Etiolation Earring",
			body="Acro Surcoat",
			hands="Emicho Gauntlets",
			ring1={name="Dark Ring",augments={"Phys. dmg. taken -6%","Magic dmg. taken -5%"}},
			ring2="Defending Ring",
			back="Solemnity Cape", 
			waist="Nierenschutz", 
			legs="Odyssean Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}})

	-- Hybrid Set --
	sets.TP.Hybrid = set_combine(sets.PDT,{
			ammo="Ginsen",
			hhead="Valorous Mask",
			neck="Loricate Torque",
			ear1="Ethereal Earring",
			ear2="Etiolation Earring",
			body="Acro Surcoat",
			hands="Emicho Gauntlets",
			ring1={name="Dark Ring",augments={"Phys. dmg. taken -6%","Magic dmg. taken -5%"}},
			ring2="Defending Ring",
			back="Solemnity Cape", 
			waist="Flume Belt", 
			legs="Odyssean Cuisses",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}})
	sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{})
	sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{})

	-- WS Base Set --
	sets.WS = {
			ammo="Aqreqaq Bomblet",
			head="Valorous Mask",
			body="Acro Surcoat",
			hands="Odyssean Gauntlets",
			legs="Odyssean Cuisses",
			neck="Fotia Gorget",
			waist="Fotia Belt",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			ring1="Ifrit Ring",
			ring2="Rajas Ring",
			back="Niht Mantle",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	
	-- Torcleaver Sets --
	
	sets.WS.Torcleaver = {
			ammo="Aqreqaq Bomblet",
			head="Valorous Mask",
			body="Acro Surcoat",
			hands="Odyssean Gauntlets",
			legs="Odyssean Cuisses",
			neck="Fotia Gorget",
			waist="Fotia Belt",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			ring1="Titan Ring",
			ring2="Rajas Ring",
			back="Niht Mantle",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}

	-- Resolution Sets --
	sets.WS.Resolution = {
			ammo="Aqreqaq Bomblet",
			head="Valorous Mask",
			body="Acro Surcoat",
			hands="Odyssean Gauntlets",
			legs="Odyssean Cuisses",
			neck="Fotia Gorget",
			waist="Fotia Belt",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			ring1="Ifrit Ring",
			ring2="Rajas Ring",
			back="Niht Mantle",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.WS.Resolution.MidACC = set_combine(sets.WS.Resolution,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring"})
	sets.WS.Resolution.HighACC = set_combine(sets.WS.Resolution.MidACC,{})

	-- Resolution(Attack) Set --
	sets.WS.Resolution.ATT = set_combine(sets.WS.Resolution,{})

	-- Catastrophe Sets --
	sets.WS.Catastrophe = {
			ammo="Aqreqaq Bomblet",
			head="Valorous Mask",
			body="Acro Surcoat",
			hands="Odyssean Gauntlets",
			legs="Odyssean Cuisses",
			neck="Fotia Gorget",
			waist="Fotia Belt",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			ring1="Ifrit Ring",
			ring2="Rajas Ring",
			back="Niht Mantle",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.WS.Catastrophe.MidACC = set_combine(sets.WS.Catastrophe,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring"})
	sets.WS.Catastrophe.HighACC = set_combine(sets.WS.Catastrophe.MidACC,{})

	-- Catastrophe(Attack) Set --
	sets.WS.Catastrophe.ATT = set_combine(sets.WS.Catastrophe,{})

	-- Entropy Sets --
	sets.WS.Entropy = {
			aammo="Aqreqaq Bomblet",
			head="Valorous Mask",
			body="Acro Surcoat",
			hands="Odyssean Gauntlets",
			legs="Odyssean Cuisses",
			neck="Fotia Gorget",
			waist="Fotia Belt",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			ring1="Ifrit Ring",
			ring2="Rajas Ring",
			back="Niht Mantle",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.WS.Entropy.MidACC = set_combine(sets.WS.Entropy,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring"})
	sets.WS.Entropy.HighACC = set_combine(sets.WS.Entropy.MidACC,{})

	-- Entropy(Attack) Set --
	sets.WS.Entropy.ATT = set_combine(sets.WS.Entropy,{})
	
	-- Quietus Sets --
	sets.WS.Quietus = {
			ammo="Aqreqaq Bomblet",
			head="Valorous Mask",
			body="Acro Surcoat",
			hands="Odyssean Gauntlets",
			legs="Odyssean Cuisses",
			neck="Fotia Gorget",
			waist="Fotia Belt",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			ring1="Ifrit Ring",
			ring2="Rajas Ring",
			back="Niht Mantle",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.WS.Quietus.MidACC = set_combine(sets.WS.Quietus,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring"})
	sets.WS.Quietus.HighACC = set_combine(sets.WS.Quietus.MidACC,{})		

	-- Insurgency Sets --
	sets.WS.Insurgency = {
			ammo="Aqreqaq Bomblet",
			head="Valorous Mask",
			body="Acro Surcoat",
			hands="Odyssean Gauntlets",
			legs="Odyssean Cuisses",
			neck="Fotia Gorget",
			waist="Fotia Belt",
			ear1="Bale Earring",
			ear2="Brutal Earring",
			ring1="Ifrit Ring",
			ring2="Rajas Ring",
			back="Niht Mantle",
			feet={name="Valorous Greaves",augments={'AGI+8','Accuracy+29','"Dbl. Atk."+4'}}}
	sets.WS.Insurgency.MidACC = set_combine(sets.WS.Insurgency,{
			ear1="Steelflash Earring",
			ring1="Mars's Ring"})
	sets.WS.Insurgency.HighACC = set_combine(sets.WS.Insurgency.MidACC,{})

	-- JA Sets --
	sets.JA = {}
	sets.JA["Blood Weapon"] = {body="Fallen's Cuirass"}
	sets.JA["Diabolic Eye"] = {hands="Fall. Fin. Gaunt. +1"}
	sets.JA["Nether Void"] = {legs="Bale Flanchard +2"}
	sets.JA["Arcane Circle"] = {feet="Igno. Sollerets +1"}
	sets.JA["Last Resort"] = {feet="Fall. Sollerets +1"}

	-- Waltz Set --
	sets.Waltz = {}

	sets.Precast = {}
	-- Fastcast Set --
	sets.Precast.FastCast = {
			ammo="Sapience Orb",
			head="Carmine Mask",
			neck="Incanter's Torque",
			ear1="Loquac. Earring",
			ear2="Etiolation Earring",
			body="Nuevo Coselete",
			hands="Leyline Gloves",
			ring1="Weatherspoon Ring",
			ring2="Rahab Ring",
			back="Boxer's Mantle",
			waist="Goading Belt",
			legs="Enif Cosciales",
			feet={name="Odyssean Greaves",augments={'Attack +7','"Fast Cast"+3'}}}

	-- Precast Dark Magic --
	sets.Precast['Dark Magic'] = set_combine(sets.Precast.FastCast,{head="Fall. Burgeonet +1"})

	-- Midcast Base Set --
	sets.Midcast = {
			ammo="Pemphredo Tathlum",			
			head="Founder's Corona",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Leyline Gloves",
			ring1="Vertigo Ring",
			ring2="Evanescence Ring",
			back="Chuparrosa Mantle",
			waist="Eschan Stone",
			legs="Bale Flanchard +2",
			feet="Bale Sollerets +2"}

	-- Magic Haste Set --
	sets.Midcast.Haste = set_combine(sets.PDT,{})

	-- Dark Magic Set --
	sets.Midcast['Dark Magic'] = {
			ammo="Pemphredo Tathlum",
			head="Founder's Corona",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Leyline Gloves",
			ring1="Vertigo Ring",
			ring2="Evanescence Ring",
			back="Merciful Cape",
			waist="Eschan Stone",
			legs="Eschite Cuisses",
			feet="Bale Sollerets +2"}

	-- Stun Sets --
	sets.Midcast.Stun = set_combine(sets.Midcast['Dark Magic'],{})
	sets.Midcast.Stun.MidACC = set_combine(sets.Midcast.Stun,{})
	sets.Midcast.Stun.HighACC = set_combine(sets.Midcast.Stun.MidACC,{})

		-- Endark Set --
	sets.Midcast.Endark = set_combine(sets.Midcast['Dark Magic'],{})

	-- Enfeebling Magic Set --
	sets.Midcast['Enfeebling Magic'] = {body="Igno. Cuirass +1"}

	-- Elemental Magic Set --
	sets.Midcast['Elemental Magic'] = {}
		
	-- Drain Set --
	sets.Midcast.Drain = set_combine(sets.Midcast['Dark Magic'],{
			ammo="Pemphredo Tathlum",
			head="Pixie Hairpin +1",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Fallen Finger Gauntlets +1",
			ring1="Archon Ring",
			ring2="Evanescence Ring",
			back="Niht Mantle",
			waist="Eschan Stone",
			legs="Heath. Flanchard +1",
			feet={name="Odyssean Greaves",augments={'Accuracy+2','Attack +1','"Drain" and "Aspir" potency +9'}}})
	
	-- Aspir Set --
	sets.Midcast.Aspir = set_combine(sets.Midcast['Dark Magic'],{
			ammo="Pemphredo Tathlum",
			head="Pixie Hairpin +1",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Fallen Finger Gauntlets +1",
			ring1="Archon Ring",
			ring2="Evanescence Ring",
			back="Niht Mantle",
			waist="Eschan Stone",
			legs="Heath. Flanchard +1",
			feet={name="Odyssean Greaves",augments={'Accuracy+2','Attack +1','"Drain" and "Aspir" potency +9'}}})
			
	-- Absorb Set --
	sets.Midcast.Absorb = set_combine(sets.Midcast['Dark Magic'],{
			ammo="Pemphredo Tathlum",
			head="Founder's Corona",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Leyline Gloves",
			ring1="Vertigo Ring",
			ring2="Evanescence Ring",
			back="Chuparrosa Mantle",
			waist="Eschan Stone",
			legs="Eschite Cuisses",
			feet="Heath. Sollerets+1"})
	
	-- Dread Spikes Set --
	sets.Midcast['Dread Spikes'] = {
			ammo="Egoist's Tathlum",
			head="Ganesha's Mask",
			neck="Bloodbead Gorget",
			ear1="Bloodgem Earring",
			ear2="Cassie Earring",
			body="Bale Cuirass +2",
			hands="Ares' Gauntlets +1",
			ring1="Bomb Queen Ring",
			ring2="Meridian Ring",
			back="Strendu Mantle",
			waist="Oneiros Belt",
			legs="Osmium Cuisses",
			feet="Llwyd's Clogs"}
end

function pretarget(spell,action)
	if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
		cancel_spell()
		send_command('input /item "Echo Drops" <me>')
	elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
		cancel_spell()
		send_command('Aggressor')
	elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
		cancel_spell()
		send_command('ThirdEye')
	elseif spell.english == "Meditate" and player.tp > 2990 then -- Cancel Meditate If TP Is Above 290 --
		cancel_spell()
		add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
	elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
		cancel_spell()
		add_to_chat(123, spell.name..' Canceled: [Out of Range]')
		return
	elseif buffactive['Light Arts'] or buffactive['Addendum: White'] then
		if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
			cancel_spell()
			send_command('input /ja Addendum: White <me>')
		elseif spell.english == "Manifestation" then
			cancel_spell()
			send_command('input /ja Accession <me>')
		elseif spell.english == "Alacrity" then
			cancel_spell()
			send_command('input /ja Celerity <me>')
		elseif spell.english == "Parsimony" then
			cancel_spell()
			send_command('input /ja Penury <me>')
		end
	elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
		if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
			cancel_spell()
			send_command('input /ja Addendum: Black <me>')
		elseif spell.english == "Accession" then
			cancel_spell()
			send_command('input /ja Manifestation <me>')
		elseif spell.english == "Celerity" then
			cancel_spell()
			send_command('input /ja Alacrity <me>')
		elseif spell.english == "Penury" then
			cancel_spell()
			send_command('input /ja Parsimony <me>')
		end
	end
end

function precast(spell,action)
	if spell.type == "WeaponSkill" then
		if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
			cancel_spell()
			add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
			return
		else
			equipSet = sets.WS
			if equipSet[spell.english] then
				equipSet = equipSet[spell.english]
			end
			if Attack == 'ON' then
				equipSet = equipSet["ATT"]
			end
			if equipSet[AccArray[AccIndex]] then
				equipSet = equipSet[AccArray[AccIndex]]
			end
			if spell.english == "Catastrophe" and (world.day_element == 'Dark' or world.day_element == 'Earth') and Mekira == 'ON' then -- Equip Mekira-oto +1 On Darksday or Earthsday --
				equipSet = set_combine(equipSet,{head="Mekira-oto +1"})
			end
			if spell.english == "Resolution" or spell.english == "Entropy" then
				if spell.english == "Resolution" and (world.day_element == 'Thunder' or world.day_element == 'Wind' or world.day_element == 'Earth') and Mekira == 'ON' then -- Equip Mekira-oto +1 On Lightningday or Windsday or Earthsday --
					equipSet = set_combine(equipSet,{})
				elseif spell.english == "Entropy" and (world.day_element == 'Dark' or world.day_element == 'Earth' or world.day_element == 'Water') and Mekira == 'ON' then -- Equip Mekira-oto +1 On Darksday or Earthsday or Watersday --
					equipSet = set_combine(equipSet,{})
				end
				if player.tp > 299 or buffactive.Sekkanoki then -- Equip Bale Earring When You Have 300 TP or Sekkanoki --
					equipSet = set_combine(equipSet,{ear1="Bale Earring"})
				end
			end
			equip(equipSet)
		end
	elseif spell.type == "JobAbility" then
		if sets.JA[spell.english] then
			equip(sets.JA[spell.english])
		end
	elseif spell.action_type == 'Magic' then
		if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu If You Are Silenced or Out of Range --
			cancel_spell()
			add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
			return
		else
			if spell.english == "Stun" then
				if buffactive.Hasso or buffactive.Seigan then -- Cancel Hasso or Seigan When You Use Stun --
					cast_delay(0.2)
					send_command('cancel Hasso,Seigan')
				end
				equip(sets.Precast.FastCast)
			elseif string.find(spell.english,'Utsusemi') then
				if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
					cancel_spell()
					add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
					return
				else
					equip(sets.Precast.FastCast)
				end
			elseif sets.Precast[spell.skill] then
				equip(sets.Precast[spell.skill])
			else
				equip(sets.Precast.FastCast)
			end
		end
	elseif spell.type == "Waltz" then
		refine_waltz(spell,action)
		equip(sets.Waltz)
	elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
		cast_delay(0.2)
		send_command('cancel Sneak')
	end
	if Twilight == 'Twilight' then
		equip(sets.Twilight)
	end
end

function midcast(spell,action)
	equipSet = {}
	if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
		equipSet = sets.Midcast
		if string.find(spell.english,'Absorb') then
			if buffactive["Dark Seal"] then -- Equip Aug'd Abs. Burgeonet +2 When You Have Dark Seal Up --
				equipSet = set_combine(equipSet,{head="Abs. Burgeonet +2"})
			end
		elseif string.find(spell.english,'Drain') or string.find(spell.english,'Aspir') or string.find(spell.english,'Bio') then
			if world.day == "Darksday" or world.weather_element == "Dark" then -- Equip Anrin Obi On Darksday or Dark Weather --
				equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
			end
		elseif spell.english == "Stoneskin" then
			if buffactive.Stoneskin then
				send_command('@wait 1.7;cancel stoneskin')
			end
			equipSet = equipSet.Stoneskin
		elseif spell.english == "Sneak" then
			if spell.target.name == player.name and buffactive['Sneak'] then
				send_command('cancel sneak')
			end
			equipSet = equipSet.Haste
		elseif string.find(spell.english,'Utsusemi') then
			if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
				send_command('@wait 1.7;cancel Copy Image*')
			end
			equipSet = equipSet.Haste
		elseif spell.english == 'Monomi: Ichi' then
			if buffactive['Sneak'] then
				send_command('@wait 1.7;cancel sneak')
			end
			equipSet = equipSet.Haste
		else
			if equipSet[spell.english] then
				equipSet = equipSet[spell.english]
			end
			if equipSet[AccArray[AccIndex]] then
				equipSet = equipSet[AccArray[AccIndex]]
			end
			if equipSet[spell.skill] then
				equipSet = equipSet[spell.skill]
			end
			if equipSet[spell.type] then
				equipSet = equipSet[spell.type]
			end
		end
	elseif equipSet[spell.english] then
		equipSet = equipSet[spell.english]
	end
	equip(equipSet)
end

function aftercast(spell,action)
	if not spell.interrupted then
		if spell.type == "WeaponSkill" then
			send_command('wait 0.2;gs c TP')
		elseif spell.english == "Arcane Circle" then -- Arcane Circle Countdown --
			send_command('wait 260;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
		elseif spell.english == "Sleep II" then -- Sleep II Countdown --
			send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
		elseif spell.english == "Sleep" then -- Sleep Countdown --
			send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
		end
	end
	status_change(player.status)
end

function status_change(new,old)
	if Warp == 'Warp' then
		equip(sets.WarpSet)
		end
	if Armor == 'PDT' then
		equip(sets.PDT)
	elseif Armor == 'MDT' then
		equip(sets.MDT)
	elseif new == 'Engaged' then
		equipSet = sets.TP
		if Armor == 'Hybrid' and equipSet["Hybrid"] then
			equipSet = equipSet["Hybrid"]
		end
		if equipSet[WeaponArray[WeaponIndex]] then
			equipSet = equipSet[WeaponArray[WeaponIndex]]
		end
		if equipSet[player.sub_job] then
			equipSet = equipSet[player.sub_job]
		end
		if equipSet[AccArray[AccIndex]] then
			equipSet = equipSet[AccArray[AccIndex]]
		end
		if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
			if Rancor == 'ON' then -- Default Rancor Toggle Is Rancorous Mantle --
				equipSet = set_combine(equipSet["AM3"],sets.TP.Rancor)
			else -- Use Rancor Toggle For Atheling Mantle --
				equipSet = equipSet["AM3"]
			end
		end
		if buffactive.Aftermath and equipSet["AM"] then
			equipSet = equipSet["AM"]
		end
		if buffactive["Last Resort"] and buffactive.March == 2 and (buffactive.Haste or buffactive.Embrava) and equipSet["HighHaste"] then
			equipSet = equipSet["HighHaste"]
		end
		if buffactive.Ionis and equipSet["Ionis"] then
			equipSet = equipSet["Ionis"]
		end
		if buffactive["Samurai Roll"] and equipSet["STP"] and Samurai_Roll == 'ON' then
			equipSet = equipSet["STP"]
		end
		equip(equipSet)
	else
		equipSet = sets.Idle
		if equipSet[IdleArray[IdleIndex]] then
			equipSet = equipSet[IdleArray[IdleIndex]]
		end
		if equipSet[WeaponArray[WeaponIndex]] then
			equipSet = equipSet[WeaponArray[WeaponIndex]]
		end
		equip(equipSet)
	end
	if Twilight == 'Twilight' then
		equip(sets.Twilight)
	end
end

function buff_change(buff,gain)
	buff = string.lower(buff)
	if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
		if gain then
			send_command('timers create "Aftermath: Lv.3" 180 down;wait 120;input /echo Aftermath: Lv.3 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
		else
			send_command('timers delete "Aftermath: Lv.3"')
			add_to_chat(123,'AM3: [OFF]')
		end
	elseif buff == 'weakness' then -- Weakness Timer --
		if gain then
			send_command('timers create "Weakness" 300 up')
		else
			send_command('timers delete "Weakness"')
		end
	end
	if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
		equip({neck="Berserker's Torque"})
	else
		if not midaction() then
			status_change(player.status)
		end
	end
end

-- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
function self_command(command)
	if command == 'C1' then -- Accuracy Level Toggle --
		AccIndex = (AccIndex % #AccArray) + 1
		status_change(player.status)
		add_to_chat(158,'Accuracy Level: '..AccArray[AccIndex])
	elseif command == 'C17' then -- Main Weapon Toggle --
		WeaponIndex = (WeaponIndex % #WeaponArray) + 1
		add_to_chat(158,'Main Weapon: '..WeaponArray[WeaponIndex])
		status_change(player.status)
	elseif command == 'C5' then -- Auto Update Gear Toggle --
		status_change(player.status)
		add_to_chat(158,'Auto Update Gear')
	elseif command == 'C2' then -- Hybrid Toggle --
		if Armor == 'Hybrid' then
			Armor = 'None'
			add_to_chat(123,'Hybrid Set: [Unlocked]')
		else
			Armor = 'Hybrid'
			add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
		end
		status_change(player.status)
	elseif command == 'C4' then --Warp Ring--
		if Warp == 'Warp' then
		   Warp = 'None'
		add_to_chat(123,'Warp Ring: [OFF]')
		else
			Warp = 'Warp'
			add_to_chat(158,'Warp Ring: [ON]')
		end
		status_change(player.status)
	elseif command == 'C7' then -- PDT Toggle --
		if Armor == 'PDT' then
			Armor = 'None'
			add_to_chat(123,'PDT Set: [Unlocked]')
		else
			Armor = 'PDT'
			add_to_chat(158,'PDT Set: [Locked]')
		end
		status_change(player.status)
	elseif command == 'C15' then -- MDT Toggle --
		if Armor == 'MDT' then
			Armor = 'None'
			add_to_chat(123,'MDT Set: [Unlocked]')
		else
			Armor = 'MDT'
			add_to_chat(158,'MDT Set: [Locked]')
		end
		status_change(player.status)
	elseif command == 'C16' then -- Rancor Toggle --
		if Rancor == 'ON' then
			Rancor = 'OFF'
			add_to_chat(123,'Rancor: [OFF]')
		else
			Rancor = 'ON'
			add_to_chat(158,'Rancor: [ON]')
		end
		status_change(player.status)
	elseif command == 'C9' then -- Attack Toggle --
		if Attack == 'ON' then
			Attack = 'OFF'
			add_to_chat(123,'Attack: [OFF]')
		else
			Attack = 'ON'
			add_to_chat(158,'Attack: [ON]')
		end
		status_change(player.status)
	elseif command == 'C10' then -- Mekira Toggle --
		if Mekira == 'ON' then
			Mekira = 'OFF'
			add_to_chat(123,'Mekira: [OFF]')
		else
			Mekira = 'ON'
			add_to_chat(158,'Mekira: [ON]')
		end
		status_change(player.status)
	elseif command == 'C3' then -- Twilight Toggle --
		if Twilight == 'Twilight' then
			Twilight = 'None'
			add_to_chat(123,'Twilight Set: [Unlocked]')
		else
			Twilight = 'Twilight'
			add_to_chat(158,'Twilight Set: [locked]')
		end
		status_change(player.status)
	elseif command == 'C8' then -- Distance Toggle --
		if player.target.distance then
			target_distance = math.floor(player.target.distance*10)/10
			add_to_chat(158,'Distance: '..target_distance)
		else
			add_to_chat(123,'No Target Selected')
		end
	elseif command == 'C6' then -- Idle Toggle --
		IdleIndex = (IdleIndex % #IdleArray) + 1
		status_change(player.status)
		add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
	elseif command == 'TP' then
		add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
	elseif command:match('^SC%d$') then
		send_command('//' .. sc_map[command])
	end
end

function refine_waltz(spell,action)
	if spell.type ~= 'Waltz' then
		return
	end

	if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" then
		return
	end

	local newWaltz = spell.english
	local waltzID

	local missingHP

	if spell.target.type == "SELF" then
		missingHP = player.max_hp - player.hp
	elseif spell.target.isallymember then
		local target = find_player_in_alliance(spell.target.name)
		local est_max_hp = target.hp / (target.hpp/100)
		missingHP = math.floor(est_max_hp - target.hp)
	end

	if missingHP ~= nil then
		if player.sub_job == 'DNC' then
			if missingHP < 40 and spell.target.name == player.name then
				add_to_chat(123,'Full HP!')
				cancel_spell()
				return
			elseif missingHP < 150 then
				newWaltz = 'Curing Waltz'
				waltzID = 190
			elseif missingHP < 300 then
				newWaltz = 'Curing Waltz II'
				waltzID = 191
			else
				newWaltz = 'Curing Waltz III'
				waltzID = 192
			end
		else
			return
		end
	end

	local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50}
	local tpCost = waltzTPCost[newWaltz]

	local downgrade

	if player.tp < tpCost then

		if player.tp < 20 then
			add_to_chat(123, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
			cancel_spell()
			return
		elseif player.tp < 35 then
			newWaltz = 'Curing Waltz'
		elseif player.tp < 50 then
			newWaltz = 'Curing Waltz II'
		end

		downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
	end

	if newWaltz ~= spell.english then
		send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
		if downgrade then
			add_to_chat(8, downgrade)
		end
		cancel_spell()
		return
	end

	if missingHP > 0 then
		add_to_chat(8,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
	end
end

function find_player_in_alliance(name)
	for i,v in ipairs(alliance) do
		for k,p in ipairs(v) do
			if p.name == name then
				return p
			end
		end
	end
end

function sub_job_change(newSubjob, oldSubjob)
	select_default_macro_book()
end

function set_macro_page(set,book)
	if not tonumber(set) then
		add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
		return
	end
	if set < 1 or set > 10 then
		add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
		return
	end

	if book then
		if not tonumber(book) then
			add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
			return
		end
		if book < 1 or book > 20 then
			add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
			return
		end
		send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
	else
		send_command('@input /macro set '..tostring(set))
	end
end

function select_default_macro_book()
	-- Default macro set/book
	if player.sub_job == 'WAR' then
		set_macro_page(1, 1)
	elseif player.sub_job == 'SAM' then
		set_macro_page(1, 1)
	elseif player.sub_job == 'NIN' then
		set_macro_page(1, 1)
	elseif player.sub_job == 'DNC' then
		set_macro_page(1, 1)
	elseif player.sub_job == 'SCH' then
		set_macro_page(1, 1)
	else
		set_macro_page(1, 1)
	end
end
 Siren.Flannelman
Offline
Server: Siren
Game: FFXI
Posts: 44
By Siren.Flannelman 2016-03-05 00:12:19
Link | Quote | Reply
 
It seems like you might be having some case sensitive issues. For example youre using Precast (sets.Precast.FastCast) and have a function using precast with a lower case p (function precast(spell,action)).
 Odin.Geriond
Offline
Server: Odin
Game: FFXI
user: Gerion
Posts: 521
By Odin.Geriond 2016-03-05 09:46:59
Link | Quote | Reply
 
A 4-hit setup with Liberator is definitely worth it, and should be your priority in gearing (as long as you have enough accuracy, at least). Indeed, with how well Insurgency and Entropy scale with TP, Store TP should almost always be your priority.

Due to how AM3 is calculated, it makes QA and TA noticeably less effective, and makes DA almost negligible. Unless you can get QA/TA in decent amounts (such as with Ganesha's Mala, Windbuffet +1, or Reisenjima gear augmented with Dark Matter), you should almost always aim for as much Store TP as you can get.

My low accuracy set with Liberator gives STP +99 (84 from gear, 15 from /SAM), giving me 290 TP per hit, and 1 STP still equals roughly 4 DA in terms of DPS.

My low accuracy Liberator set uses:
Liberator/Capitoline Strap/-/Ginsen
Yorium Barbuta/Ganesha’s Mala/Dedition Earring/Tripudio Earring
Acro Surcoat/Acro Gauntlets/Rajas Ring/Petrov Ring
Lupine Cape/Windbuffet +1/Odyssean Cuisses/Valorous Greaves

Head is augmented with 7 STR/DEX, 15 ATK/ACC, 6 STP.
Body is augmented with 7 STR/DEX, 17 ATK/ACC, 6 STP.
Hands are augmented with 7 STR/DEX, 15 ATK/ACC, 6 STP.
Legs are augmented with 4 STR, 14 ATK, 20 ACC, 7 STP.
Feet areaugmented with 7 DEX, 28 ACC, 4 STP.
 Asura.Evildemon
Offline
Server: Asura
Game: FFXI
Posts: 134
By Asura.Evildemon 2016-03-05 10:24:54
Link | Quote | Reply
 
Siren.Flannelman said: »
It seems like you might be having some case sensitive issues. For example youre using Precast (sets.Precast.FastCast) and have a function using precast with a lower case p (function precast(spell,action)).

Any specific spots that need case sensitive corrections that you see?
Offline
Posts: 1045
By Yandaime 2016-03-05 11:07:04
Link | Quote | Reply
 
Siren.Flannelman said: »
It seems like you might be having some case sensitive issues. For example youre using Precast (sets.Precast.FastCast) and have a function using precast with a lower case p (function precast(spell,action)).


Forgive me if I sound like a complete moron but I didn't think gearswap was case sensitive? I honestly wouldn't know because my OCD trips if I don't Cap the first letter of any and all proper nouns but I would think the program only cares about spelling.
 Siren.Kyte
Offline
Server: Siren
Game: FFXI
Posts: 3332
By Siren.Kyte 2016-03-05 12:14:33
Link | Quote | Reply
 
It isn't for gear but the programming language itself is case sensitive, which isn't uncommon across programming languages.
 Quetzalcoatl.Orestes
Offline
Server: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2016-03-05 12:24:25
Link | Quote | Reply
 
Yandaime said: »
Siren.Flannelman said: »
It seems like you might be having some case sensitive issues. For example youre using Precast (sets.Precast.FastCast) and have a function using precast with a lower case p (function precast(spell,action)).


Forgive me if I sound like a complete moron but I didn't think gearswap was case sensitive? I honestly wouldn't know because my OCD trips if I don't Cap the first letter of any and all proper nouns but I would think the program only cares about spelling.
lua is case sensitive, as with other scripting languages. variable names, function names, table names, etc. As Kyte mentioned, gear is not, but gear is represented as a string data type. How it's interpreted is left up to the program to decide.

i.e.
sets.Test and sets.test reference different places in memory.

In regards to Flannelman's comment. There's nothing wrong with using sets.Precast = {} as long as it's defined, and referenced in the precast function. Now, if you were using Mote's includes it would be a different story, as Mote has pre-defined set naming convention using sets.precast.

Evildemon - You need to look at the midcast function. The logic that constructs your sets for Absorbs and Drain/Aspir is located there.

For example, if you want sets.Midcast.Absorb to equip, modify the following block.
Code
        if string.find(spell.english,'Absorb') then
            if buffactive["Dark Seal"] then -- Equip Aug'd Abs. Burgeonet +2 When You Have Dark Seal Up --
                equipSet = set_combine(equipSet,{head="Abs. Burgeonet +2"})
            end
            equipSet = equipSet.Absorb


Understand that you're "appending" tables to one another as you go down the midcast function, from top to bottom. At the beginning of the midcast function you have "equipSet = sets.Midcast" defined. From this point forward you append the correct set or "table" depending on what you're doing. The line "equipSet = equipSet.Absorb" is creating the set - sets.Midcast.Absorb.

Try and think about this from the lua interpreter's standpoint. It's going to read your code line-by-line from top to bottom. When it enters a conditional "if then" block, and something is "true" then it executes the code and ignores all the other "elseif"

HTH
 Asura.Evildemon
Offline
Server: Asura
Game: FFXI
Posts: 134
By Asura.Evildemon 2016-03-05 13:03:41
Link | Quote | Reply
 
Quetzalcoatl.Orestes said: »
Yandaime said: »
Siren.Flannelman said: »
It seems like you might be having some case sensitive issues. For example youre using Precast (sets.Precast.FastCast) and have a function using precast with a lower case p (function precast(spell,action)).


Forgive me if I sound like a complete moron but I didn't think gearswap was case sensitive? I honestly wouldn't know because my OCD trips if I don't Cap the first letter of any and all proper nouns but I would think the program only cares about spelling.
lua is case sensitive, as with other scripting languages. variable names, function names, table names, etc. As Kyte mentioned, gear is not, but gear is represented as a string data type. How it's interpreted is left up to the program to decide.

i.e.
sets.Test and sets.test reference different places in memory.

In regards to Flannelman's comment. There's nothing wrong with using sets.Precast = {} as long as it's defined, and referenced in the precast function. Now, if you were using Mote's includes it would be a different story, as Mote has pre-defined set naming convention using sets.precast.

Evildemon - You need to look at the midcast function. The logic that constructs your sets for Absorbs and Drain/Aspir is located there.

For example, if you want sets.Midcast.Absorb to equip, modify the following block.
Code
        if string.find(spell.english,'Absorb') then
            if buffactive["Dark Seal"] then -- Equip Aug'd Abs. Burgeonet +2 When You Have Dark Seal Up --
                equipSet = set_combine(equipSet,{head="Abs. Burgeonet +2"})
            end
            equipSet = equipSet.Absorb


Understand that you're "appending" tables to one another as you go down the midcast function, from top to bottom. At the beginning of the midcast function you have "equipSet = sets.Midcast" defined. From this point forward you append the correct set or "table" depending on what you're doing. The line "equipSet = equipSet.Absorb" is creating the set - sets.Midcast.Absorb.

Try and think about this from the lua interpreter's standpoint. It's going to read your code line-by-line from top to bottom. When it enters a conditional "if then" block, and something is "true" then it executes the code and ignores all the other "elseif"

HTH

Thanks that makes the most sense. i was thinking it was a midcast error
 Asura.Evildemon
Offline
Server: Asura
Game: FFXI
Posts: 134
By Asura.Evildemon 2016-03-05 14:24:38
Link | Quote | Reply
 
My Absorb spells work but my Drain and Aspir spells do not.

Code
	-- Drain & Aspir Sets --
	sets.Midcast.Drain = set_combine(sets.Midcast['Dark Magic'],{
			ammo="Pemphredo Tathlum",
			head="Pixie Hairpin +1",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Fallen Finger Gauntlets +1",
			ring1="Titan Ring",
			ring2="Evanescence Ring",
			back="Niht Mantle",
			waist="Eschan Stone",
			legs="Heath. Flanchard +1",
			feet={name="Odyssean Greaves",augments={'Accuracy+2','Attack +1','"Drain" and "Aspir" potency +9'}},})
			
	sets.Midcast.Aspir = set_combine(sets.Midcast.Drain,{})


elseif string.find(spell.english,'Drain') or string.find(spell.english,'Aspir') or string.find(spell.english,'Bio') then
			if world.day == "Darksday" or world.weather_element == "Dark" then -- Equip Anrin Obi On Darksday or Dark Weather --
				equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
			end
			equipSet = equipSet.Drain


edited to just show the drain/aspir set section and the function midcast for it.
 Ragnarok.Bigsyke
Offline
Server: Ragnarok
Game: FFXI
user: Bigsyke
Posts: 364
By Ragnarok.Bigsyke 2016-03-05 15:16:47
Link | Quote | Reply
 
Asura.Evildemon said: »
My Absorb spells work but my Drain and Aspir spells do not.

Code
	-- Drain & Aspir Sets --
	sets.Midcast.Drain = set_combine(sets.Midcast['Dark Magic'],{
			ammo="Pemphredo Tathlum",
			head="Pixie Hairpin +1",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Fallen Finger Gauntlets +1",
			ring1="Titan Ring",
			ring2="Evanescence Ring",
			back="Niht Mantle",
			waist="Eschan Stone",
			legs="Heath. Flanchard +1",
			feet={name="Odyssean Greaves",augments={'Accuracy+2','Attack +1','"Drain" and "Aspir" potency +9'}},})
			
	sets.Midcast.Aspir = set_combine(sets.Midcast.Drain,{})


elseif string.find(spell.english,'Drain') or string.find(spell.english,'Aspir') or string.find(spell.english,'Bio') then
			if world.day == "Darksday" or world.weather_element == "Dark" then -- Equip Anrin Obi On Darksday or Dark Weather --
				equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
			end
			equipSet = equipSet.Drain


edited to just show the drain/aspir set section and the function midcast for it.

1. You could just say
sets.Midcast.Aspir = sets.Midcast.Drain
with no combine

2. You have
equipSet = equipSet.Drain
when your set is called
sets.Midcast.Drain

So it won't work.
 Asura.Evildemon
Offline
Server: Asura
Game: FFXI
Posts: 134
By Asura.Evildemon 2016-03-05 15:55:48
Link | Quote | Reply
 
Ragnarok.Bigsyke said: »
Asura.Evildemon said: »
My Absorb spells work but my Drain and Aspir spells do not.

Code
	-- Drain & Aspir Sets --
	sets.Midcast.Drain = set_combine(sets.Midcast['Dark Magic'],{
			ammo="Pemphredo Tathlum",
			head="Pixie Hairpin +1",
			neck="Incanter's Torque",
			ear1="Psystorm earring",
			ear2="Lifestorm Earring",
			body="Carmine Scale Mail",
			hands="Fallen Finger Gauntlets +1",
			ring1="Titan Ring",
			ring2="Evanescence Ring",
			back="Niht Mantle",
			waist="Eschan Stone",
			legs="Heath. Flanchard +1",
			feet={name="Odyssean Greaves",augments={'Accuracy+2','Attack +1','"Drain" and "Aspir" potency +9'}},})
			
	sets.Midcast.Aspir = set_combine(sets.Midcast.Drain,{})


elseif string.find(spell.english,'Drain') or string.find(spell.english,'Aspir') or string.find(spell.english,'Bio') then
			if world.day == "Darksday" or world.weather_element == "Dark" then -- Equip Anrin Obi On Darksday or Dark Weather --
				equipSet = set_combine(equipSet,{waist="Hachirin-no-Obi"})
			end
			equipSet = equipSet.Drain


edited to just show the drain/aspir set section and the function midcast for it.

1. You could just say
sets.Midcast.Aspir = sets.Midcast.Drain
with no combine

2. You have
equipSet = equipSet.Drain
when your set is called
sets.Midcast.Drain

So it won't work.

Ok I don't know how it happened but it finally started working. the only thing that was updated was part one. and I had it set like that earlier so i'm just going to run with it and not touch it lol
 Shiva.Rickis
Offline
Server: Shiva
Game: FFXI
user: Rickis
Posts: 59
By Shiva.Rickis 2016-03-08 00:58:26
Link | Quote | Reply
 
Ruaumoko said: »
These are the sets I use.

Aspir/Drain
ItemSet 342114
I prioritize Magic Accuracy, Dark Magic Skill, Aspir/Drain Potency, and Darkness Affinity when casting Drain/Aspir. Legs are there for the skill and more importantly for the Nether Void effect. This set is almost guaranteed to land you 9999 HP after bursting Drain III and around 6500-7000 without a burst.

Absorb
ItemSet 342115
Again, Skill and Magic Accuracy.

TP (Low Accuracy)
ItemSet 341518
This is a 5-hit build which makes the most of having high Job Points for critical hit damage. You get some absolutely savage critical hits in this set, 2000 or so average. Regardless, high amounts of accuracy and DA/STP on the Reisenjima pieces.

TP (High Accuracy)
ItemSet 342116
If you need more accuracy than what you get here then you probably should not be meleeing what you currently are.

WS (Base / No Fotia)
ItemSet 342117
The thing with a WS set is that you do not want to take off too much accuracy equipment, especially on Dark Knight. Cross Reaper benefits hugely from Weapon Skill Damage +% equipment, hence the Cronus and Ishvara.

Hello, may i know how many damage you are doing on your ws base set?
Offline
Posts: 1600
By Ruaumoko 2016-03-08 04:12:56
Link | Quote | Reply
 
Shiva.Rickis said: »
Hello, may i know how many damage you are doing on your ws base set?
TL;DR - 12-15k Cross Reaper at around 1700~2000% TP. Pack a lot of Accuracy in your WS set or you're going to struggle, a lot.

There is no real standard number for the WS's I do as my damage is hugely dependent on the buffs I have/do not have active at the time. Mob attributes and level also factor in quite heavily. Suffice to say though that Cross Reaper is your best option when using a Scythe unless you have a Liberator at which point Insurgency begins to pull ahead. Catastrophe is also a great alternative if you have an Apocalypse and especially if you have said weapon afterglowed. More on that in a separate post.

Cross Reaper's damage is hugely dependent on your TP, WSD gear (WSD job points), Last Resort, Souleater, Endark II strength, your current HP and the weapon you are using. I know I listed Cronus in my WS set but if the situation allows it (if the target can be drained) I will use Dacnomania and that's when I start seeing some really insane numbers (go back one or two pages to see screenshots of this in practice). Cronus is simply the go-to best choice for an entry level Dark Knight as it packs solid base DMG, has WSD on it, and most importantly packs a metric *** of Accuracy.
[+]
Offline
Posts: 1600
By Ruaumoko 2016-03-08 05:28:55
Link | Quote | Reply
 
I'm going to suggest this re-write of the original post, or at least put this revised list of Dark Knight weapons (Scythes for now) here as a better point of reference for newcomers to the job.

Weapons - Scythe
Note: Mythic and Relic are largely down to play-style when posing the question 'which is better'. Both are very good weapons each with their pros and cons. Personally and between these two weapons, I only own the Apocalypse but have seen Liberator wielders do some impressive feats.

Liberator
A very nice weapon, especially for the Dark Knights who use their absorb spells often (if not, why aren't you?). Capable of absorbing large amounts of stats right from the get-go, by the time you fully upgrade your Liberator your Absorb Spell potency is increased by 50%. This obviously helps your own WS damage by increasing your own stat-mods but it also serves to directly enfeeble the target by draining its own attributes. It also packs a great deal of Magic Accuracy which goes a long way in not only landing Absorb spells but also in landing your Drain and Aspir spells. Insurgency damage rises as the weapon is upgraded, to the extent that it begins outshining your other options. It is also a skillchaining machine with AM3 active and a solid 4-hit build. The only notable drawback to this weapon is that, on top of having tighter requirements comparative to the Apocalypse, is that it lacks Accuracy unless using AM1 - which, chances are you are not. Despite its flaws, which are thin on the ground, is a very very strong option to strive for. If you have the means to get it, go for it.

Apocalypse
Apocalypse has always been a mainstay of many career Dark Knights and with the recent version update it has returned to it's former glory. When fully upgraded it undergoes many changes from its previous incarnation. Firstly, the base DMG skyrockets to a whopping 362 (dwarfing the Liberator). Secondly, the previous 'gear haste' that the aftermath effect gave is replaced with the infinitely more useful 'job ability haste', which will send your attack speed into overdrive when combined with other sources of haste. Thirdly, it gains a great deal of Accuracy (+75) which helps any Dark Knight immensely. The real power of Apocalypse however lies in its potential for extremely high 'white damage over time', which is to say that it greatly increases your melee damage while building TP for a WS. In addition to having a chance to deal double damage on melee attacks (only the first hit if you execute a multi attack) the WS attached to the weapon, Catastrophe, restores your HP. The value of this when used in conjunction with Souleater should be apparent. The drawbacks to Apocalypse are that, although having great utility, Catastrophe is hardly the strongest-hitting WS a Dark Knight has and since you are so reliant on maintaining aftermath to get the most out of the weapon you might lag behind if not careful. Also, it lacks the utility of Liberator with regards to Absorb potential and Magic Accuracy. Finally, it lacks the overwhelming skillchain potential of Liberator. Overall however, it is an extremely strong option.

Redemption
No. An absolute nightmare to obtain through NM camping and it, to be brutally blunt, is not worth the effort. That's to say nothing of the Heavy Metal Plate requirements and the extensive time spent in Abyssea. Blown out of the water entirely by both Liberator and Apocalypse. Avoid.

Anguta
This is an interesting one. Not much is known about it's potential due to little testimony being available but a quick glance at its stats paints a promising picture. Boasting a DMG rating that even defeats the Apocalypse and a nice amount of Store TP and TP Bonus to boot the Anguta is the new kid on the block and it could stake a claim to rival the old faithfuls. The real potential in Anguta lies in that TP Bonus, which is additive with other sources of TP Bonus (Moonshade Earring). Given that many of the strongest Scythe WS's have high scaling FTP (Cross Reaper especially) the prospect of adding +750 TP to each use of a WS is very alluring. The 'Skillchain Potency' is reported to be 10%, the 'Magic Burst Potency' is a moot point to say the least, but the 'Ultimate Skillchain' adds new utility to Entropy by giving it a third skillchain property: Darkness/Umbra. This means that this Scythe is capable of doing a 5-step solo skillchain ending in Umbra. It could, even more-so than the Liberator, encounter Accuracy issues however. The drawback is that Aeonic weapons, although costing very little to obtain, require you to defeat the strongest HNM's in the game in Reisenjima to acquire - an unrealistic benchmark for most.

Misanthropy
A paradoxical weapon to say the least. Higher base DMG than the Dacnomania and possess the same boost rate to Drain and Aspir. It however lacks the raw damage output of the Dacnomania in exchange for INT and MND (weapon skill mods I guess...) and a hefty chunk of magic accuracy to help spells land. I would not use it over a Dacnomania but hey, it looks good as a lockstyle piece.

Dacnomania
Possessing a respectable base DMG of 317, solid Attack+, a neat HP boost and boosts to both Drain and Aspir this Scythe drops from the Warder of Courage in Escha - Ru'Aun. The real power of this scythe however comes from what it does to Souleater. Whereas Souleater usually takes 10% of your current HP with each melee hit and adds it to the damage you deal, the Dacnomania forces Souleater to take 45% of your current HP. Now, consider that you can gain 9999 HP through Drain III, that you can absorb upto 8850 HP with Dread Spikes and that Blood Weapon converts the damage you deal back to your HP pool... and this scythe becomes absolutely DEVASTATING. You will be dealing upwards of 5000 damage per melee attack and upwards of 30000 damage per WS. The downside is that, in addition to lacking Accuracy, the Dacnomania is something of a one-trick pony. This is because using Souleater with it outside of Blood Weapon is near suicidal as any strong magic attack or TP move from the target will bypass Dread Spikes and kill you with ease. You can still use it outside Blood Weapon obviously but for the love of god, be ready to manually disable Souleater before you kill yourself. Despite this, it is your strongest option if Accuracy is not an issue as you work towards Liberator/Apocalypse/Anguta.

Obschine
Drops from Gajasimha in Reisenjima. Has potential to come close to the Cronus but chances are you'll end up using a fair number of augmenting stones before you see it do so. Up to you whether or not you want to use it or not.

Pixquizpan / Pixquizpan +1
Niche weapon for Infernal Scythe and Entropy builds. If you come across it keep it in storage in case the need for it somehow arises. Drops from Wyvernhunter Bambrox UNM.

Deathbane
Drops from Amymone in Escha - Ru'Aun. Higher base DMG than the Cronus and has Double Attack and Store TP as well. Sorely lacks accuracy though, which is often going to be a problem. If you pick this up before you augment a Cronus then stick with it, but cast it aside once you do so.

Triska Scythe / Triska Scythe +1
Drops from Camahueto UNM. While it may seem at first glance to be a poor weapon this actually has a not-so-obvious use. Depending on your TP build you may find that you are 2-3% short of the equipment Haste cap. This enables you to reach that cap without sacrificing too much in other key slots. Okay option to use if you come across it but look to address your equipment sets if that Haste issue is the reason you went for it.

Cronus
The best option by far for an mid-entry level Dark Knight searching for a strong scythe to pick up. Cheap, cheerful and worth keeping hold of even if you acquire one of the above. It has Accuracy, it has a solid base DMG, it has a +10% damage to your WS's, and it has the ability to occasionally drain HP from the target. Unfortunately the effect of Endark/Endark II overwrites this drain effect and since you are going to be using those spells for their attack bonuses you'll likely never get to use that aspect of the Cronus. Requires a Delve clear in any area to unlock from the Port Jeuno NPC Oboro as well as a handful of relatively cheap crafting materials. The ability to upgrade it comes from clearing Rhapsodies of Vana'diel.

Nibiru Sickle
Drops from Nosoi in Escha - Zi'Tah. A decent weapon but hardly worth going out of your way to farm.

Tajabit
Drops from the 'mega boss' of Delve - Marjami Ravine, Cailimh.
Should serve you well until you progress further.

Vunetshelo
Drops from the Delve NM Ironbeak Inguza in Delve - Marjami Ravine. If you come across it and have nothing better, great. Otherwise, look above.

Eminent Scythe
Use as a bare-basic entry level weapon but look to grow out of it as soon as possible.

------------------------------
Weapons - Great Sword
Ragnarok
The grand-daddy of Great Swords. Like it's Scythe counterpart, Apocalypse, the Ragnarok fell out of favor shortly after Seekers of Adoulin was released. However, with the recent update it has likewise made a comeback and did it come back with a vengeance. Sporting a hefty base DMG of 304 the Ragnarok shares the benefits of having great accuracy thus reliable TP gain and hit-rate against higher end targets. The real power of Ragnarok is the absolutely insane things it does to your critical hit rate, something helped even further by it's aftermath effect. You will be dealing an utterly stupid number of critical hits with the Ragnarok. Scourge is passable as a weapon skill but it's real potential is that it gives Great Sword wielders a Fusion category weapon skill, which is immensely useful when self-skillchaining. A Warrior will probably get more use out of it but it remains the strongest Great Sword for a Dark Knight.

Caladbolg
While not as abysmal as it's Scythe counterpart the Caladbolg is somewhat underwhelming. Although it has a similar base DMG to the Ragnarok it lacks any form of an accuracy bonus, does nothing to boost your critical hit rate and takes away your only Fusion category weapon skill in exchange for one you can learn through Walk of Echoes quite easily. Torcleaver is a strong weapon skill and the +50 VIT helps it quite a bit, and the triple damage chance is nice, but for the effort to power ratio fully upgrading it demands it is hardly worth it when you can pickup a Ragnarok in a fraction of the time for a better result.

Zulfiqar
Drops from Sarsaok in Reisenjima. A very strong option for anyone missing or in the process of making the Ragnarok. The surprising thing about the Zulfiqar is just how high it's base DMG is, 297. Considering that you can potentially add +30 to that value it has the realistic opportunity to beat the Ragnarok in base DMG. Small accuracy, attack, double attack and weapon skill damage values on the base form of the weapon can be increased through augmenting. It will take a while to see 'perfect' augments but it is worth investing time and effort into for sure.

Montante / Montante +1
Drops from Sarama UNM. Decent base DMG, HP boost for Souleater, a nice chunk of Store TP, and up to +5% triple attack rate depending on unity ranking this thing is a strong option for sure. Although it lacks accuracy it will serve you well until you feel like playing the augmenting slot machine with the Zulfiqar.

Nullis / Nullis +1
Drops from Hidhaegg UNM. The Balmung returns! Sadly, it has not aged well... Lower base DMG than all of the above and the Dispel effect will not work while Endark/Endark II is active, which it should be. The effort you put into farming this will be better spent on what you see above.

Kladenets / Kladenets +1
No.

Ushenzi / Ushenzi +1
No.

Macbain
Probably the first Great Sword you will pick up and begin using as a Dark Knight and as far as entry level weapons go, it's not bad. Look to upgrade as soon as possible however.

Ukudyoni
Barely passable as an entry level weapon. Look to get the Macbain over this.

Eminent Sword
Bare basic entry level weapon.
[+]
 Shiva.Rickis
Offline
Server: Shiva
Game: FFXI
user: Rickis
Posts: 59
By Shiva.Rickis 2016-03-08 19:20:32
Link | Quote | Reply
 
Ruaumoko said: »
Shiva.Rickis said: »
Hello, may i know how many damage you are doing on your ws base set?
TL;DR - 12-15k Cross Reaper at around 1700~2000% TP. Pack a lot of Accuracy in your WS set or you're going to struggle, a lot.

There is no real standard number for the WS's I do as my damage is hugely dependent on the buffs I have/do not have active at the time. Mob attributes and level also factor in quite heavily. Suffice to say though that Cross Reaper is your best option when using a Scythe unless you have a Liberator at which point Insurgency begins to pull ahead. Catastrophe is also a great alternative if you have an Apocalypse and especially if you have said weapon afterglowed. More on that in a separate post.

Cross Reaper's damage is hugely dependent on your TP, WSD gear (WSD job points), Last Resort, Souleater, Endark II strength, your current HP and the weapon you are using. I know I listed Cronus in my WS set but if the situation allows it (if the target can be drained) I will use Dacnomania and that's when I start seeing some really insane numbers (go back one or two pages to see screenshots of this in practice). Cronus is simply the go-to best choice for an entry level Dark Knight as it packs solid base DMG, has WSD on it, and most importantly packs a metric *** of Accuracy.

Thanks Ruaumoko, I am now working on Apoc, hope it can be done soon. Well, with very little JP gained atm, i am just making 5-7k at Reisenjima and 3-5k on Apex with Cross Reaper while i am solo-ing with trust.
 Asura.Keja
Offline
Server: Asura
Game: FFXI
user: Cleric
Posts: 50
By Asura.Keja 2016-03-08 20:33:14
Link | Quote | Reply
 
Does anyone have a blank gearswap template with aftermath handling for TP sets?

Thanks.
Offline
Posts: 1600
By Ruaumoko 2016-03-11 06:20:29
Link | Quote | Reply
 

Funny how the base cost significantly less than the entire upgrading process. Shout-out to LS members and the many others who did high tier battlefields with me to get the Plutons and Gil necessary to see this done. A huge shout-out to Zetaking for pushing this over the finish line.
[+]
 Quetzalcoatl.Orestes
Offline
Server: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2016-03-11 10:14:12
Link | Quote | Reply
 
Asura.Keja said: »
Does anyone have a blank gearswap template with aftermath handling for TP sets?

Thanks.

You're welcome to mine, but it's hardly a blank template. I'd caution you to read the comments at the top.

https://github.com/AlanWarren/gearswap/blob/master/DRK.lua
 Quetzalcoatl.Commencal
Offline
Server: Quetzalcoatl
Game: FFXI
user: Scwall
Posts: 339
By Quetzalcoatl.Commencal 2016-03-26 20:08:50
Link | Quote | Reply
 
Tearing up Unity Cerberus with Raesvelg's new Epeolatry and my Liberator! Pretty sure we Bolstered it with 5min before maintenance.

YouTube Video Placeholder
[+]
 Siren.Bloodlusty
Offline
Server: Siren
Game: FFXI
Posts: 101
By Siren.Bloodlusty 2016-03-27 13:14:44
Link | Quote | Reply
 
If we are throwing afterglow videos in.. heres mine :)

YouTube Video Placeholder
[+]
 Asura.Failaras
Offline
Server: Asura
Game: FFXI
user: Falaras
Posts: 3213
By Asura.Failaras 2016-03-27 14:10:22
Link | Quote | Reply
 
One of those videos was very boring, and one was very cool, I'll let people figure out which.
 Shiva.Rickis
Offline
Server: Shiva
Game: FFXI
user: Rickis
Posts: 59
By Shiva.Rickis 2016-03-27 20:23:17
Link | Quote | Reply
 
just some very basic question to ask:

1. how to make multi step darkness solo on drk, i mean what ws to use?

2. for making macro:
ws:
/equipset mywsset
/ws "WS name" <stnpc>

drain/aspir:
/equipset myDrainset
/ma "magic name" <stnpc>

Do they work?
 Asura.Saevel
Offline
Server: Asura
Game: FFXI
Posts: 9917
By Asura.Saevel 2016-03-27 21:23:46
Link | Quote | Reply
 
Your going to have some issues with both of those.

Use <t> instead of <stnpc> because otherwise you will spend an attack round in your WS gear due to the delay of you pressing enter. WS's are virtually instant on the server, so you want to spend as little time in your WS gear as possible.
 Siren.Bloodlusty
Offline
Server: Siren
Game: FFXI
Posts: 101
By Siren.Bloodlusty 2016-03-30 01:26:16
Link | Quote | Reply
 
[quote"Asura.Failaras" pid=3069491]One of those videos was very boring, and one was very cool, I'll let people figure out which.[/quote]


Put us out of our misery, which video is better?

1. Shows insurgency spam dealing good damage
2. Shows darkness spam, also dealing good damage
 Asura.Failaras
Offline
Server: Asura
Game: FFXI
user: Falaras
Posts: 3213
By Asura.Failaras 2016-03-30 01:40:23
Link | Quote | Reply
 
I really liked the part where you did actually attack with the weapon until halfway into the video.
 Siren.Bloodlusty
Offline
Server: Siren
Game: FFXI
Posts: 101
By Siren.Bloodlusty 2016-03-30 02:37:47
Link | Quote | Reply
 
Asura.Failaras said: »
I really liked the part where you did actually attack with the weapon until halfway into the video.

People were asking for gear advice, thought i'd show my current TP set up (Work in progress), but agree could have been edited better
 Quetzalcoatl.Trulusia
Offline
Server: Quetzalcoatl
Game: FFXI
user: Trulusia
Posts: 1132
By Quetzalcoatl.Trulusia 2016-03-30 08:28:05
Link | Quote | Reply
 
Shiva.Rickis said: »
just some very basic question to ask:

1. how to make multi step darkness solo on drk, i mean what ws to use?

2. for making macro:
ws:
/equipset mywsset
/ws "WS name" <stnpc>

drain/aspir:
/equipset myDrainset
/ma "magic name" <stnpc>

Do they work?

You've got a lot of options based on your situation.

Cross Reaper/Spiral Hell/Quietus are all Distortion, and will combo with Entropy for Darkness. Even just Quietus > Quietus will make darkness. If you want to go fancy, Cross Reaper > Insurgency > Entropy > Quietus > Quietus will give you a very nice 5 step double darkness, but you need to be very will geared to pull that AND burst Drain III on it.

There is no reason to use stnpc in your WS or Drain macro. Just use <t>. I'd say you really want to use your fastcast set as a precast for your drains/aspirs, give a <wait1> on your /ma line at the end and swap to potency on the next line.
 Quetzalcoatl.Commencal
Offline
Server: Quetzalcoatl
Game: FFXI
user: Scwall
Posts: 339
By Quetzalcoatl.Commencal 2016-03-30 09:05:24
Link | Quote | Reply
 
Quetzalcoatl.Trulusia said: »
Shiva.Rickis said: »
just some very basic question to ask:

1. how to make multi step darkness solo on drk, i mean what ws to use?

2. for making macro:
ws:
/equipset mywsset
/ws "WS name" <stnpc>

drain/aspir:
/equipset myDrainset
/ma "magic name" <stnpc>

Do they work?

You've got a lot of options based on your situation.

Cross Reaper/Spiral Hell/Quietus are all Distortion, and will combo with Entropy for Darkness. Even just Quietus > Quietus will make darkness. If you want to go fancy, Cross Reaper > Insurgency > Entropy > Quietus > Quietus will give you a very nice 5 step double darkness, but you need to be very will geared to pull that AND burst Drain III on it.

There is no reason to use stnpc in your WS or Drain macro. Just use <t>. I'd say you really want to use your fastcast set as a precast for your drains/aspirs, give a <wait1> on your /ma line at the end and swap to potency on the next line.

Another option for double darkness is CR - Insurgency - Entropy - CR - Quietus.
 Quetzalcoatl.Trulusia
Offline
Server: Quetzalcoatl
Game: FFXI
user: Trulusia
Posts: 1132
By Quetzalcoatl.Trulusia 2016-03-30 09:13:50
Link | Quote | Reply
 
Quetzalcoatl.Commencal said: »
Quetzalcoatl.Trulusia said: »
Shiva.Rickis said: »
just some very basic question to ask:

1. how to make multi step darkness solo on drk, i mean what ws to use?

2. for making macro:
ws:
/equipset mywsset
/ws "WS name" <stnpc>

drain/aspir:
/equipset myDrainset
/ma "magic name" <stnpc>

Do they work?

You've got a lot of options based on your situation.

Cross Reaper/Spiral Hell/Quietus are all Distortion, and will combo with Entropy for Darkness. Even just Quietus > Quietus will make darkness. If you want to go fancy, Cross Reaper > Insurgency > Entropy > Quietus > Quietus will give you a very nice 5 step double darkness, but you need to be very will geared to pull that AND burst Drain III on it.

There is no reason to use stnpc in your WS or Drain macro. Just use <t>. I'd say you really want to use your fastcast set as a precast for your drains/aspirs, give a <wait1> on your /ma line at the end and swap to potency on the next line.

Another option for double darkness is CR - Insurgency - Entropy - CR - Quietus.

Yes, you could also use Spiral Hell over Quietus if you wanted. But both have a lower ftp . At the forth step you most likely will not have enough TP to get a better result from Cross Reaper anyway, but you could match it if you got a double attack at 750tp and are using Moonshade. If you aren't attack capped Quietus will probably still perform better, however.
 Bismarck.Lothoro
Offline
Server: Bismarck
Game: FFXI
user: Lothoro
Posts: 202
By Bismarck.Lothoro 2016-04-05 13:12:40
Link | Quote | Reply
 
New DRK Cape from Ambuscade is augmentable.

Could do STR+20 (or DEX+20, if you want the cape for an Acc set), Acc/att+20, Crit Hit rate+10%. Adding on to the already absurd amount of Crit Hit Rate stacked on Ragnarok III.

In addition, new gear from this update with excellent augments, specific for WAR/DRK/PLD/DRG. Great to see SE at least make an effort at boosting some of the under-utilized jobs.
First Page 2 3 ... 61 62 63 ... 209 210 211