Final Fantasy XIV Database - Ffxivpro.com

Eorzea Time
 
 
 
Language: JP EN FR DE
Ffxivpro Yellow Box
users online
Search Term:
In:
Sort By:
Date:
Showing 1561-1590 of 10000
By MelioraXI on 2025-12-20 08:31:30
1. I believe /status should give you that info.
2. There isn't but it wouldn't take long to do. I can get that fixed over the weekend.
By Felgarr on 2025-12-20 08:21:23
I use it on our discord server and love it so far. I use "/subscribe all"



1.) Is there a way to list subscriptions/subscriptions options? It feels kind of kludgy to unsubscribe/subscribe over and over to see what's been subscribed to. I've only see /subscribe update once and it was when I typed the /subscribe command. I assume when there is an official update on POL it'll appear in this discord channel too?

2.) Also, can there be a /campaignlist command? (to see what campaigns are currently active)
By Radec on 2025-12-20 07:39:18
Long shot, do you have both of Shortcuts and Rolltracker loaded?

Intermittently I'd have that issue, but with emotes doubling up (/hurray, etc) possibly depending on which addon loaded first.

Try unloading rolltracker. If the doubling stops, play with the load order for those two addons, or anything else you have loaded that uses the "outgoing text" event.
By Byrthnoth on 2025-12-20 06:01:00
Bismarck.Radec said: »
series? 9 there + 16 missing = full expected 25.

lol... D followed by F. Flu A is bad this year, guys.
By Lili on 2025-12-20 05:13:03
Asura.Sechs said: »
Absolutely, but in my case (and several other people in my LS back then) the source of the issue was NOT player's aftercast.

There's another clarification that needs to be made: pet_midcast is not, and really cannot be, a reliable event to equip gear in. This is because it's a "reactive" event: it fires off the server telling the client that the pet has initiated the action, and there's really no guarantee the equipset packet will arrive in time in that event.

Everything I stated in my post still stands, with the addition that, for maximum guarantee, you want to equip gear in the normal midcast event, and ignore pet_midcast entirely, only using pet_aftercast to return to idle gear.

I tested this very thoroughly back when I was on smn a lot, and I have never had a wrong BP set unless a) i had a buff/debuff event firing off between the pact JA and the avatar activating, which is another issue entirely and common to other thing, or b) heavy packet drop situations making the pet_aftercast never triggering (tho packetflow mostly resolved that, for me).

Yeah it's quirky but gearswaps for pet jobs for the most part very much are.
By Lili on 2025-12-20 05:05:04
Carbuncle.Maletaru said: »
I made myself a little heat map and it's wild.

Pls share heat maps are cool
By . on 2025-12-20 05:01:01
Well, the latest Palworld update dropped like a bomb on me.

It feels like they are ramping games challenge based on veterans that are already hoarded in every single material.

What is a kick in the nuts for my project to go from zero to hero.

My previous iteration most of the time was spent just building a raid army to beat all raid bosses.

But the latest raid boss would obliterate my ongoing raid army just for the elemental aligment alone. And building another army for that would add something like 10h extra of gameplays just doing repeated stuffs, what wouldnt be fitting in something to play on Youtube.

So, Ive decided to narrow down the scope of my project, focusing on beating everything but the raid bosses.

It is a shame, but building raid armies is just a process of farming materials and breeding pals. There is nothing exciting about this, just a shameless time sink
By Asura.Vyre on 2025-12-20 02:45:14
Mog Garden's up to Rank 5, and Monster Rearing is up to rank 3, and I got a blue and white sea monk now :) And actual stat bonuses out of it, to boot!
By enoch on 2025-12-20 00:50:17
Notable drops today were Cehuetzi Pelt and Moldy Staff.
By frodnonnag on 2025-12-20 00:35:59
Cloudius777 said: »
I'm curious which would win a Flaming Crush competition between Nirvana(AM3) and Opashoro(AM3)

opa wins.
By maletaru on 2025-12-20 00:28:18
I broke 3 leathers and then lost one of the new mats, so I couldn't continue. It's great that the loss isn't guaranteed, still: the prices of the HQ armor will vary wildly based on the cost (and availability) of the new mats.

Some pieces will also be dramatically more than others because of the insane way they set the vendor mats. I made myself a little heat map and it's wild.
By Anillla on 2025-12-19 23:34:24
gregchiro2013 said: »
Well some good news...new gear sets have a low material loss (ive not yet been successful, but only lost one mat, I am using shield for HQ only success. Lost a hydro oil lol Ill just wait till next month when prices will come way down since supply is RMT sold currently...

I just came here to say the same thing. Had 3 failures with no breaks. 4th failure lost my only ash wood, so will need to wait longer.
By Goltana101 on 2025-12-19 22:45:23
Localization error. Bugged description since update. Still gives all the relevant stats. Double check.
By Malkavius on 2025-12-19 22:40:03
Wsnt even all chars. 51 of them. I cannot imagine 90+ this is painful as it is
By HyaAsura on 2025-12-19 22:38:12
Asura.Malkavius said: »
today.
Asura.Malkavius said: »
Instant Stoneskin
T. Whiteshell
Potion +2
Salt Ramen Soup
Chocolate cake
Iron ingot
Popoto
Fetich Legs
Bloodthread
Ancient Image
Cassia Lumber
Light Chest
Cherry Bavarois
Protectra
Lauan Log
Protect
Ortolana
Toolbag (ranka)
O. Palimpsest
Bloody Robe
Melon pie
Coffee Cherries
Voidleg: SAM
Cibol
Pebble Soup
Blindfish
Titanium sheet
Vivi-valve II
Two of Cups
P. RNG Card
Tomeshelf
Goblin Stir-Fry
Tiger Hide
Lesser Chigoe
Muculent ingot
Black Curry
Foe Sirvente
Lauan log
Fernan's Diaries
Simba Buckler
Opalus Gem
Cursed Schaller
Byakko Scrap
E. Tincture (LF)

Bro...
By Malkavius on 2025-12-19 22:31:31
Nothing good so far today.

Instant Stoneskin
T. Whiteshell
Potion +2
Salt Ramen Soup
Chocolate cake
Iron ingot
Popoto
Fetich Legs
Bloodthread
Ancient Image
Cassia Lumber
Light Chest
Cherry Bavarois
Protectra
Lauan Log
Protect
Ortolana
Toolbag (ranka)
O. Palimpsest
Bloody Robe
Melon pie
Coffee Cherries
Voidleg: SAM
Cibol
Pebble Soup
Blindfish
Titanium sheet
Vivi-valve II
Two of Cups
P. RNG Card
Tomeshelf
Goblin Stir-Fry
Tiger Hide
Lesser Chigoe
Muculent ingot
Black Curry
Foe Sirvente
Lauan log
Fernan's Diaries
Simba Buckler
Opalus Gem
Cursed Schaller
Byakko Scrap
E. Tincture (LF)
By Lancextrm on 2025-12-19 22:19:05
Seems to happen to all my gear swap data on all my 3 characters .I'll post my bard gs first and see.

Code
include('organizer-lib')

function get_sets()
  
  
	organizer_items = {}
	
	

	AccIndex = 1
	-- on BRD this is melee acc, not macc
	AccArray = {"LowACC","MidACC","HighACC"}
	timer_reg = {}
	pianissimo_cycle = false
	Armor = 'None'
	Kiting = 'ON'
	Daurdabla = 'OFF' -- Set Default Daurdabla ON or OFF Here --
	Capa = 'OFF' -- Sets Capacity Point+ Mantle --
	maxduration = 'OFF' -- This is debuff max duration (lose a bunch of macc)
	TH = 'OFF' -- Set Default Full TH ON or OFF Here --
	target_distance = 5 -- Set Default Distance Here --
	dyna = 'OFF'

	-- Daurdabla Trigger Songs --
	DaurdSongs = T{'Fowl Aubade', 'Shining Fantasia','Herb Pastoral','Goblin Gavotte', 'Gold Capriccio', 'Chocobo Mazurka', 'Raptor Mazurka'}
	
	Duration_buffs = S{'Haste',  'Refresh', 'Flurry',
						'Firestorm','Sandstorm', 'Rainstorm', 'Windstorm', 'Hailstorm', 'Thunderstorm', 'Aurorastorm', 'Voidstorm'}


	sets.Dyna = {}

	-- Idle Sets --
	sets.Idle = {main="Sangoma",
    sub="Genmei Shield",
    head="Nyame Helm",
    body="Nyame Mail",
    hands="Nyame Gauntlets",
    legs="Assid. Pants +1",
    feet={ name="Chironic Slippers", augments={'Accuracy+8','Accuracy+7 Attack+7','"Refresh"+1',}},
    neck="Twilight Torque",
    waist="Gishdubar Sash",
    left_ear={ name="Moonshade Earring", augments={'MP+25','Latent effect: "Refresh"+1',}},
    right_ear="Ethereal Earring",
    left_ring="Defending Ring",
    right_ring="Vocane ring",
    back={ name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-5%',}},
}

	sets.Resting = set_combine(sets.Idle,{})

	-- PDT Set --
	sets.PDT = {main="Sangoma",
    sub="Genmei Shield",
    head="Nyame Helm",
    body="Nyame Mail",
    hands="Nyame Gauntlets",
    legs="Nyame Flanchard",
    feet="Nyame Sollerets",
    neck="Twilight Torque",
    waist="Gishdubar Sash",
    left_ear="Genmei Earring",
    right_ear="Ethereal Earring",
    left_ring="Defending Ring",
    right_ring="Vocane ring",
    back={ name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-5%',}},}

	sets.MDT = set_combine(sets.PDT, {})
	
	sets.TH = {}
			
	
	sets.Precast = {}
	-- Song Precast Set --
	sets.Precast.Song = {main={ name="Kali", augments={'Mag. Acc.+15','String instrument skill +10','Wind instrument skill +10',}},
    sub="Ammurapi Shield",
    head="Fili calot +2",
    body="Inyanga Jubbah +2",
    feet={ name="Bihu Slippers +3", augments={'Enhances "Nightingale" effect',}},
	waist="Embla sash",
    neck="Voltsurge Torque",
    left_ear="Loquac. Earring",
	right_ear="Aoidos's earring",
    back={ name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-5%',}},}

	-- Fastcast Set --
	sets.Precast.FastCast = {main={ name="Kali", augments={'Mag. Acc.+15','String instrument skill +10','Wind instrument skill +10',}},
    sub="Ammurapi Shield",
    body="Inyanga Jubbah +2",
    neck="Voltsurge Torque",
	waist="Embla sash",
    left_ear="Loquac. Earring",
    left_ring="Lebeche Ring",
    back="Perimede Cape",
	}
	

	-- Cure Precast Set --
	sets.Precast.Cure = set_combine(sets.Precast.FastCast,{back="Pahtli Cape"})

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

	-- Song Debuff Set --
	sets.Midcast.WindDebuff = {main="Carnwenhan",
    sub="Ammurapi Shield",
	Range="Gjallarhorn",
    head="Fili calot +2",
    body="Mousai manteel +1",
    hands="Fili Manchettes +2",
    legs="Inyanga Shalwar +2",
    feet="Brioso Slippers +3",
    neck="Moonbow Whistle +1",
    waist="Kobo Obi",
    back={ name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-5%',}},}
	
	sets.Midcast.WindDebuff.Duration = set_combine(sets.Midcast.WindDebuff, {main="Carnwenhan",
    sub="Ammurapi Shield",
	Range="Gjallarhorn",
    head="Fili calot +2",
    body="Mousai manteel +1",
    hands="Fili Manchettes +2",
    legs="Inyanga Shalwar +2",
    feet="Brioso Slippers +3",
    neck="Moonbow Whistle +1",
    waist="Kobo Obi",
    back={ name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-5%',}},})

	-- Song Buff Set --
	sets.Midcast.WindBuff = {main="Carnwenhan",
    sub="Ammurapi Shield",
	Range="Gjallarhorn",
    head="Fili calot +2",
    body="Fili Hongreline +2",
    hands="Fili Manchettes +2",
    legs="Inyanga Shalwar +2",
    feet="Brioso Slippers +3",
    neck="Moonbow Whistle +1",
    waist="Kobo Obi",
    back={ name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-5%',}},}

	sets.Midcast.March = {hands="Fili Manchettes +2"}
	sets.Midcast.Minuet = {body="Fili Hongreline +2"}
	sets.Midcast.Madrigal = {head="Fili calot +2", back="Intarabus's Cape"}
	sets.Midcast.Etude = {head="Mousai turban +1"}
	sets.Midcast.Ballad = {legs="Fili Rhingrave +2"}
	sets.Midcast.Scherzo = {feet="Fili Cothurnes +2"}
	sets.Midcast.Carol = {hands="Mousai gages +1"}
	sets.Midcast.Minne = {legs="Mousai seraweels +1"}
	sets.Midcast.Mambo = {feet="Mousai crackows +1"}
	sets.Midcast.Paeon = {head="Brioso roundlet +3"}
	sets.Midcast.Finale = {}
	sets.Midcast.Lullaby = {hands="Brioso cuffs +3"}
	sets.Midcast.Prelude = {back="Intarabus's Cape"}

	-- Cure Set --
	sets.Midcast.Cure = {main="Sangoma",
    sub="Genmei Shield",
    head={ name="Vanya Hood", augments={'MP+50','"Cure" potency +7%','Enmity-6',}},
    body="Vrikodara Jupon",
    hands="Inyan. Dastanas +2",
    legs="Gyve Trousers",
    feet={ name="Chironic Slippers", augments={'Accuracy+8','Accuracy+7 Attack+7','"Refresh"+1',}},
    neck="Nodens Gorget",
    waist="Hachirin-no-Obi",
    left_ear="Gifted Earring",
    right_ear="Loquac. Earring",
    left_ring="Lebeche Ring",
    right_ring="Sirona's Ring",
    back="Solemnity Cape",}

	-- Curaga Set --
	sets.Midcast.Curaga = sets.Midcast.Cure

	-- Haste Set --
	sets.Midcast.Haste = set_combine(sets.Precast.FastCast,{waist="Embla sash",})

	-- Cursna Set --
	sets.Midcast.Cursna = set_combine(sets.Midcast.Haste,{})
			
	sets.Midcast['Enhancing Magic'] = {waist="Embla sash",}

			
	sets.Midcast['Enhancing Magic'].Duration = set_combine(sets.Midcast['Enhancing Magic'], {waist="Embla sash",})
	
	sets.Midcast['Enfeebling Magic'] = sets.Midcast.WindDebuff

	-- JA Sets --
	sets.JA = {}
	sets.JA.Nightingale = {feet="Bihu Slippers +3"}
	sets.JA.Troubadour = {body="Bihu justaucorps +3"}
	sets.JA["Soul Voice"] = {legs="Bihu Cannions +3"}

	-- Waltz --
	sets.Waltz = {}

	-- Melee Sets --
	
    sets.Melee={}	

   sets.WS={}
	
	sets.Melee = {}
	--sets.Melee.MidACC = set_combine(sets.Melee,{
		--left_ear="Zennaroi Earring",
		--left_ring="Chirich Ring",
		--right_ring="Chirich Ring",})
	--sets.Melee.HighACC = set_combine(sets.Melee.MidACC,{})>

	-- WS Base Set --
	--sets.WS = sets.Melee

	sets.WS.Exenterator = sets.WS
	sets.WS.Exenterator.MidACC = set_combine(sets.WS.Exenterator,{})
	sets.WS.Exenterator.HighACC = set_combine(sets.WS.Exenterator.MidACC,{})

	sets.WS.Evisceration = sets.WS
	sets.WS.Evisceration.MidACC = set_combine(sets.WS.Evisceration,{})
	sets.WS.Evisceration.HighACC = set_combine(sets.WS.Evisceration.MidACC,{})

	sets.WS["Mercy Stroke"] = sets.WS
	sets.WS["Mercy Stroke"].MidACC = set_combine(sets.WS["Mercy Stroke"],{})
	sets.WS["Mercy Stroke"].HighACC = set_combine(sets.WS["Mercy Stroke"].MidACC,{})

	sets.WS["Rudra's Storm"] = sets.WS
	sets.WS["Rudra's Storm"].MidACC = set_combine(sets.WS["Rudra's Storm"],{})
	sets.WS["Rudra's Storm"].HighACC = set_combine(sets.WS["Rudra's Storm"].MidACC,{})

	sets.WS["Mordant Rime"] = {main="Carnwenhan",
    sub="Demers. Degen +1",
    range="Gjallarhorn",
    head="Brioso Roundlet +3",
    body={ name="Bihu Jstcorps. +3", augments={'Enhances "Troubadour" effect',}},
    hands="Brioso Cuffs +3",
    legs={ name="Bihu Cannions +3", augments={'Enhances "Soul Voice" effect',}},
    feet={ name="Bihu Slippers +3", augments={'Enhances "Nightingale" effect',}},
    neck="Mnbw. Whistle +1",
    waist="Fotia Belt",
    left_ear="Ishvara Earring",
    right_ear="Brutal Earring",
    left_ring="Petrov Ring",
    right_ring="Hetairoi Ring",
    back={ name="Intarabus's Cape", augments={'CHR+20','Mag. Acc+20 /Mag. Dmg.+20','"Fast Cast"+10','Damage taken-5%',}},
}

	-- Lock Capa Mantle --
	sets.Capa = {
			back="Mecisto. Mantle"}
	
end

function pretarget(spell,action)
end

function precast(spell,action)
	if spell.action_type == 'Magic' then
		if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu or BardSong 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 == "Honor March" then
				equip(set_combine(sets.Precast.Song,{range="Marsyas"}))
			elseif spell.type == 'BardSong' then
				equip(sets.Precast.Song)
			elseif string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
				equip(sets.Precast.Cure)
			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.english .. ' Canceled: [3+ Images]')
					return
				else
					equip(sets.Precast.FastCast)
				end
			else
				equip(sets.Precast.FastCast)
			end
		end
	elseif 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 equipSet[AccArray[AccIndex]] then
				equipSet = equipSet[AccArray[AccIndex]]
			end
			equip(equipSet)
		end
	elseif spell.type == "JobAbility" then
		if sets.JA[spell.english] then
			equip(sets.JA[spell.english])
		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
end

function midcast(spell,action)
	equipSet = {}
	if spell.type:endswith('Magic') or spell.type == 'Ninjutsu' then
		equipSet = sets.Midcast
		if equipSet[spell.english] then
			equipSet = equipSet[spell.english]
		elseif string.find(spell.english,'Cure') then
			equipSet = equipSet.Cure
		elseif string.find(spell.english,'Cura') then
			equipSet = equipSet.Curaga
		elseif spell.english == "Stoneskin" then
			if buffactive.Stoneskin then
				send_command('@wait 2.8;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
		end
		if Duration_buffs:contains(spell.english) then
				equipSet = sets.Midcast['Enhancing Magic'].Duration
		end
	elseif spell.type == 'BardSong' then
		equip_song_gear(spell)
	end
	equip(equipSet)
	if TH == 'ON' then
		equip(sets.TH)
	end
end

function aftercast(spell,action)
	status_change(player.status)
end

function status_change(new,old)
	if Armor == 'PDT' then
		equip(sets.PDT)
		if Kiting == 'ON' then
			equip({feet="Fili Cothurnes +2"})
		end
	elseif Armor == 'MDT' then
		equip(sets.MDT)
		if Kiting == 'ON' then
			equip({feet="Fili Cothurnes +2"})
		end
	elseif new == 'Engaged' then
		equipSet = sets.Melee
		if equipSet[AccArray[AccIndex]] then
			equipSet = equipSet[AccArray[AccIndex]]
		end
		equip(equipSet)
	elseif new == 'Idle' then
		equip(sets.Idle)
		if Kiting == 'ON' then
			equip({feet="Fili Cothurnes +2"})
		end
	elseif new == 'Resting' then
		equip(sets.Resting)
	end
	if Capa == 'ON' then
		equip(sets.Capa)
	end
	if TH == 'ON' then
		equip(sets.TH)
	end
	if dyna == 'ON' then
		equip(sets.Dyna)
	end
end

function buff_change(buff,gain)
	buff = string.lower(buff)
	if buff == 'weakness' then -- Weakness Timer --
		if gain then
			send_command('timers create "Weakness" 300 up')
		else
			send_command('timers delete "Weakness"')
		end
	end
	if not midaction() then
		status_change(player.status)
	end
end

-- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
function self_command(command)
	if command == 'March2' then
		send_command('input /ma "Victory March" <me>')
		add_to_chat(158,'Melee Speed II: [Victory March]')
	elseif command == 'March1' then
		send_command('input /ma "Advancing March" <me>')
		add_to_chat(158,'Melee Speed: [Advancing March]')
	elseif command == 'Minuet5' then
		send_command('input /ma "Valor Minuet V" <me>')
		add_to_chat(158,'Melee Attack: [Valor Minuet V]')
	elseif command == 'Minuet4' then
		send_command('input /ma "Valor Minuet IV" <me>')
		add_to_chat(158,'Melee Attack: [Valor Minuet IV]')
	elseif command == 'Prelude1' then
		send_command('input /ma "Hunter\'s Prelude" <me>')
		add_to_chat(158,'Ranged Accuracy: [Hunter\'s Prelude]')
	elseif command == 'Prelude2' then
		send_command('input /ma "Archer\'s Prelude" <me>')
		add_to_chat(158,'Ranged Accuracy: [Archer\'s Prelude]')
	elseif command == 'Madrigal2' then
		send_command('input /ma "Blade Madrigal" <me>')
		add_to_chat(158,'Melee Accuracy II: [Blade Madrigal]')
	elseif command == 'Madrigal1' then
		send_command('input /ma "Sword Madrigal" <me>')
		add_to_chat(158,'Melee Accuracy: [Sword Madrigal]')
	elseif command == 'Minuet3' then
		send_command('input /ma "Valor Minuet III" <me>')
		add_to_chat(158,'Melee Attack: [Valor Minuet III]')
	elseif command == 'Mazurka' then
		send_command('input /ma "Chocobo Mazurka" <me>')
		add_to_chat(158,'~~~ Mazurka ~~~')
	elseif command == 'Capacity' then -- Capa Back Toggle --
		if Capa == 'ON' then
			Capa = 'OFF'
			add_to_chat(123,'Capacity Mantle: [Unlocked]')
		else
			Capa = 'ON'
			add_to_chat(158,'Capacity Mantle: [Locked]')
		end
		status_change(player.status)
	elseif command == 'PDT' then
		if Armor == 'PDT' then -- PDT Toggle --
			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 == 'MDT' then
		if Armor == 'MDT' then -- MDT Toggle --
			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 == 'Distance' 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 == 'Daur' or command == 'Daurdabla' then -- Daurdabla Toggle --
		if Daurdabla == 'ON' then
			Daurdabla = 'OFF'
			add_to_chat(123,'Daurdabla: [OFF]')
		else
			Daurdabla = 'ON'
			add_to_chat(158,'Daurdabla: [ON]')
		end
		status_change(player.status)
	elseif command == 'TH' then -- Full TH Set Toggle --
		if TH == 'ON' then
			TH = 'OFF'
			add_to_chat(123,'Full TH Set: [Unlocked]')
		else
			TH = 'ON'
			add_to_chat(158,'Full TH Set: [Locked]')
		end
		status_change(player.status)
	elseif command == 'duration' then
		if maxduration == 'ON' then
			maxduration = 'OFF'
			add_to_chat(123, 'Max debuff duration: [OFF]')
		else
			maxduration = 'ON'
			add_to_chat(158, 'Max debuff duration: [ON]')
		end
	elseif command == 'Acc' then -- Accuracy Level Toggle --
		AccIndex = (AccIndex % #AccArray) + 1
		status_change(player.status)
		add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
	elseif command == 'Update' then -- Auto Update Gear Toggle --
		status_change(player.status)
		add_to_chat(158,'Auto Update Gear')
	elseif command == "Dyna" then
		dyna = 'ON'
		add_to_chat(158,'Dyna neck locked')
	elseif command:match('^SC%d$') then
		send_command('//' .. sc_map[command])
	end
end

function equip_song_gear(spell)
	if DaurdSongs:contains(spell.english) then
		equip(set_combine(sets.Precast.Song,{range="Daurdabla"}))
		add_to_chat(158,'Daurdabla: [OFF]')
	else
		if spell.target.type == 'MONSTER' then
			if maxduration == 'ON' then
				equip(sets.Midcast.WindDebuff.Duration)
				if string.find(spell.english,'Lullaby') then equip(sets.Midcast.Lullaby) end
				if string.find(spell.english,'Horde Lullaby') then equip({range="Daurdabla"}) end
			else
				equip(sets.Midcast.WindDebuff)
				if string.find(spell.english,'Finale') then equip(sets.Midcast.Finale) end
				if string.find(spell.english,'Foe Lullaby') then equip(sets.Midcast.Lullaby) end
				if string.find(spell.english,'Horde Lullaby') then equip(set_combine(sets.Midcast.Lullaby, {range="Daurdabla"})) end
			end
		else
			equip(sets.Midcast.WindBuff)
			if string.find(spell.english,'March') then 
				equip(sets.Midcast.March)
				if spell.english == "Honor March" then
					equip({range="Marsyas"})
				end
			end
			if string.find(spell.english,'Minuet') then equip(sets.Midcast.Minuet) end
			if string.find(spell.english,'Madrigal') then equip(sets.Midcast.Madrigal) end
			if string.find(spell.english,'Ballad') then equip(sets.Midcast.Ballad) end
			if string.find(spell.english,'Scherzo') then equip(sets.Midcast.Scherzo) end
			if string.find(spell.english,'Mazurka') then equip(sets.Midcast.Mazurka) end
			if string.find(spell.english,'Etude') then equip(sets.Midcast.Etude) end
			if string.find(spell.english,'Minne') then equip(sets.Midcast.Minne) end
			if string.find(spell.english,'Carol') then equip(sets.Midcast.Carol) end
			if string.find(spell.english,'Mambo') then equip(sets.Midcast.Mambo) end
			if string.find(spell.english,'Paeon') then equip(sets.Midcast.Paeon) end
		end
		if Daurdabla == 'ON' then
			equip({range="Daurdabla"})
		end
	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

-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------

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

By Sidiov on 2025-12-19 20:28:03
Phoenix.Capuchin said: »
Then don't do it 96 times a day?
YOU DONT PAY MY SUB CAPUCHIN OF PHOENIX!!!!!!1!!


but yea I'm just doing a few from now on, mostly trash so far.
By SimonSes on 2025-12-19 20:02:11
Asura.Otomis said: »
Is it possible to add a drop down box containing Magic Defense bonus + 25/30/35/40/45/50 & Magic Evasion 500/550/600/650/700/750?

Some end game content: Odyssey v25, Sortie Basement Bosses/Aminon, new Omega/Ultima, etc. require higher defensive stats. This update could prove useful.

I am not a programmer and have no clue how hard it would be to add something like this. Appreciate the consideration.

I usually simply reduce available gear to only high meva pieces. I will probably just permanently throw out stuff like Tatenashi, Semnuha, mummu and others and I will leave stuff I consider I would have no problem using in high level content, but adding minimum meva and mdb to optimizer would be great too :)
By gregchiro2013 on 2025-12-19 19:49:16
Well some good news...new gear sets have a low material loss (ive not yet been successful, but only lost one mat, I am using shield for HQ only success. Lost a hydro oil lol Ill just wait till next month when prices will come way down since supply is RMT sold currently...
By Richybear on 2025-12-19 19:11:40
Now you're mad, look how mad you are
By Akumasama on 2025-12-19 17:47:39
Nynja I understand your point, it does make sense. I see your approach and your stance.
I simply do not agree with it, I'm sorry.
I don't think it's a stupid or nonsensical stance, I just disagree with it.
By Cloudius777 on 2025-12-19 17:35:25
In my opinion it's a shame Opashoro didnt give the avatar any MAB outside of the Aftermath, after all BLM and SCH benefit from the +80 MAB at stage 5 but none of it was added for the pet. Opashoro could have then easily replaced Griovolr for best pet nukes on SMN.
By Cloudius777 on 2025-12-19 17:32:20
My finding on Stage 5 Opashoro using Diabolos Netherblast for accurate damage readings.

Nirvana: 13454 / 14791
Griovolr: 14610 / 16245
Opashoro: 14204 / 15619
Opashoro w/AM3: 17229 / 18944

Netherblast was always giving 2 different numbers per weapon, possibly crits and non-crits.

Nirvana being the weakest option for Magical Bloodpacts, followed by Opashoro(no AM), Griovolr (+10 BPD, +20 petMAB) takes the high spot usually but with Opashoro(AM3) it beats Griovolr by 16.6%

I'm curious which would win a Flaming Crush competition between Nirvana(AM3) and Opashoro(AM3)
By Zeig on 2025-12-19 17:06:41
Leviathan.Cumincustard said: »


Been trying to get this for years.
congratulations on finally being an adult

the real pain begins now
By Lutia on 2025-12-19 16:41:43
Phoenix.Capuchin said: »
The "effort" required is so minimal though.
The effort is noticeable if "someone" does it on 96 characters.

Also, that Rainbow Box will most likely be a Mog House thing - it'll disable my Mega Moglifications and I'll hate it.
By Akumasama on 2025-12-19 16:36:20
I get your point, but I respectfully disagree and think it's a different matter.
While not world changing it would be such a small change and I still stand to the point that I find it would be small yet positive QoL change.
By Anza on 2025-12-19 16:35:51
Asura.Certainly said: »
The effort/reward ratio has been abysmal so far. :D

Aren't you familiar with the regular Gobbiebox and SP Keys that have been around for over a decade? FES Keys are basically an extra daily try at that, with a slightly different treasure pool. Not sure why anyone is surprised that the Gobbiebox is working the way the Gobbiebox has ALWAYS worked: mostly NPC trash, occasionally a decent money item or a R/E item.

But, again, none of that is the reason this one is a little more interesting. The twist here is that on the 10th FES Key, you get a Rainbow Box that we've been told increases the rate of high tier battle drops. Nobody really knows what that means yet, and the earliest we'll see any rainbow chest results is December 25 (Japan time), or December 24 for those who logged in before JP Midnight on the first day of the event.

The "effort" required is so minimal though. Basically just remembering to log in and use the Gobbiebox daily, with the extra step of interacting with a couple NPCs. Nets me a couple items (one from the FES Key, and might as well open the Special Dial when I'm already standing there). Yeah it's usually trash or low value NPC fodder, but the occasional decent item does show up. The one Koh-I-Noor I got the other day from a FES key probably justifies the small time spent logging in mules while half paying attention and working on my other screen. The real hope is that maybe the rainbow chest offers some good rewards, especially since high tier drops can be sent from mules.
By Vyrerus on 2025-12-19 16:06:27
Are there any shenanigans or titles with changing your home point a lot?
By Kylos on 2025-12-19 16:05:54
Izanami said: »
Cerberus.Kylos said: »
Edit: Screenshots of September.
Thanks. That looks horrible.

I'll look into explicitly providing font size, widget size, and application DPI settings to see if this can be avoided after the holidays.

Yeah, I've just been working around it lol. Super appreciate that this exists, so I stuck with it.

December is way more broken than this. I can't even describe what is going on there. Things got super weird.
Top
First Page 2 3 ... 52 53 54 ... 332 333 334