MMOMinion

Full Version: Suggestion : custom counter for ffxiv crafting (trick of trade)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
For efficient 3 and 4 stars crafting rotation we need to use trick of trade and do action depending the number of tricks of trade we get.
We could work without it, but it would be a really great addition and that way we could make 3/4 stars profile that's works exacltly as manual rotation.

I don't think it would be a really difficult thing to implement on the SkillEditor_Crafting windows this lines :

Add to custom counter : [0] (And we can write 1, -1 ...)
Custom Counter > = [0]
Custom Counter < [0]

To give an exemple, that way, we could replace Hasty Touch with Basic Touch if we get enought Trick of Trade.
There is currently no way to do that efficiently, we can't guess the number of Trick of trade with CP since Comfort Zone (66CP, Give 8Cp per turn) will mess detection by CP.

That will be a game changer on ffxivminion crafting.

---------------

Btw, i have a second suggestion related to crafting, it's not something essential like the first one but it would save a lot of time when writing profile.
On the skillbook, if we can have extra skill like : Global_InnerQuiet, Global_GreatStride, Global_BasicTouch who works for every crafting jobs, it would be a lot easier to write crafting profile.
For exemple, InnerQuiet have a unique spell id for each job : 252,253,254,255,256,257,258,259
If we can have a Hard coded custom skill named Global_InnerQuiet who act like we add each of this id, we could have crafting profile a lot cleaner and faster to write.
there is tons of talk in the crafting forums, about coniditonal based crafting. Where if you have this many stacks of IQ use this skill if you get ToT and you are beleow x CP use ToT. If you are Y Durability use Mend/Mend II. and if you are Z quality use synth. Its all possible to be done this way. Just have to take the time and put in all the possible conditions and what skill to use during what condition.

example if above this X CP and above X Durablity use Basic Touch. If below X CP and above X durablity use Hasty Touch. If above X CP and below X Durablity use Mend II. If good conditon and below X CP use ToT. Its all possible people just refuse to take the time to figure out all the conditions and rather use simple profiles with steps.
Since there is no way to track the status of Confort Zone it's difficult to track the number of Tricks of trades with you did get using CP.
I don't say it's technicly impossible to figure each possibility, but you will get a f.. hard time to make a rotation like this :


Tricks on each good, on each trick you replace a Hasty touch with a basic touch.
Comfort Zone
Inner Quiet
Steady Hand II
Piece by Piece
Piece by Piece
Hasty Touch/Basic Touch until 20/80 or 10/80
*Refresh Comfort Zone when it falls off and Steady Hand II whenever you plan in doing another touch
Master's Mend II
Hasty Touch/Basic Touch until 40/80
Steady Hand
Great Strides
Ingenuity II
(Innovation)
Byregot's Blessing
Careful Synthesis II
Careful Synthesis II
Careful Synthesis II


My suggestion to make custom counter would make things loooot easier.
I'm a noob on lua so i don't know how to code an addon, but it's kinda simple to edit the code to make it work if someone is interested :

On langague lua replace :
iqstack = "InnerQuiet Stack >=",
With :
custommin = "custommin",
custommax = "custommax",
customcounteradd = "customcounteradd",
customcounterremove = "customcounterremove",

On ffxiv_task_craft.lua :
Replace :
SkillMgr.currentIQStack = 0
With :
SkillMgr.currentIQStack = 0
SkillMgr.currentcustomcounter = 0

On ffxiv_skillmgr.lua :
GUI_NewNumeric(SkillMgr.editwindow_crafting.name,strings[gCurrentLanguage].iqstack,"SKM_IQSTACK",strings[gCurrentLanguage].skillDetails);
With :
GUI_NewNumeric(SkillMgr.editwindow_crafting.name,strings[gCurrentLanguage].custommin,"SKM_CUSTOMMIN",strings[gCurrentLanguage].skillDetails);
GUI_NewNumeric(SkillMgr.editwindow_crafting.name,strings[gCurrentLanguage].custommax,"SKM_CUSTOMMAX",strings[gCurrentLanguage].skillDetails);
GUI_NewNumeric(SkillMgr.editwindow_crafting.name,strings[gCurrentLanguage].customcounteradd,"SKM_CUSTOMCOUNTERADD",strings[gCurrentLanguage].skillDetails);
GUI_NewNumeric(SkillMgr.editwindow_crafting.name,strings[gCurrentLanguage].customcounterremove,"SKM_CUSTOMCOUNTERREMOVE",strings[gCurrentLanguage].skillDetails);

Replace
SKM_IQSTACK = { default = 0, cast = "number", profile = "iqstack", section = "crafting"},
With :
SKM_IQSTACK = { default = 0, cast = "number", profile = "iqstack", section = "crafting"},
SKM_CUSTOMMIN = { default = 0, cast = "number", profile = "custommin", section = "crafting"},
SKM_CUSTOMMAX = { default = 0, cast = "number", profile = "custommax", section = "crafting"},
SKM_CUSTOMCOUNTERADD = { default = 0, cast = "number", profile = "customcounteradd", section = "crafting"},
SKM_CUSTOMCOUNTERREMOVE = { default = 0, cast = "number", profile = "customcounterremove", section = "crafting"},

Remplace :
SkillMgr.currentIQStack = 0
With :
SkillMgr.currentIQStack = 0
SkillMgr.currentcustomcounter = 0

Remplace :
(skill.iqstack > 0 and SkillMgr.currentIQStack < skill.iqstack) or
With :
(skill.iqstack > 0 and SkillMgr.currentIQStack < skill.iqstack) or
(skill.custommin > 0 and SkillMgr.currentcustomcounter < skill.custommin) or
(skill.custommax > 0 and SkillMgr.currentcustomcounter >= skill.custommax) or

Remplace
if ( castable ) then
With :
if ( castable ) then
if skill.customcounteradd > 0 then SkillMgr.currentcustomcounter = SkillMgr.currentcustomcounter + skill.customcounteradd end
if skill.customcounterremove > 0 then SkillMgr.currentcustomcounter = SkillMgr.currentcustomcounter - skill.customcounterremove end
On my custom config, i even add a customcounter2. It allow me to flag progress, like :

Steady Hand : custommax2 = 1, customcounteradd2 = 1 //That way, it will be executed only one time
Hasty Touch : custommax2 = 2 and durability > 10
Master Mend II : custommax2 = 2 and custommaxadd = 2

That way, i can flag skill to be used only one time and on my exemple, hasty touch will not be executed again after reperation.
It avoid calculation based on Step or CP that can be messed quite a lot by ToT and CZ anyway.

And now i can make a 3 star rotation as efficient as my manual rotation.