MMOMinion

Full Version: Tank Assist
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Doesn't seems to target tank's target for tank. Has this been fully implemented?
My static is DRK and WAR.
Class job helper needs to be update.
Code:
--===========================
--Class/Role Helpers
--===========================

function GetRoleString(jobID)
    if
        jobID == FFXIV.JOBS.ARCANIST or
        jobID == FFXIV.JOBS.ARCHER or
        jobID == FFXIV.JOBS.BARD or
        jobID == FFXIV.JOBS.BLACKMAGE or
        jobID == FFXIV.JOBS.DRAGOON or
        jobID == FFXIV.JOBS.LANCER or
        jobID == FFXIV.JOBS.MONK or
        jobID == FFXIV.JOBS.PUGILIST or
        jobID == FFXIV.JOBS.SUMMONER or
        jobID == FFXIV.JOBS.THAUMATURGE or
        jobID == FFXIV.JOBS.ROGUE or
        jobID == FFXIV.JOBS.NINJA
    then
        return GetString("dps")
    elseif
        jobID == FFXIV.JOBS.CONJURER or
        jobID == FFXIV.JOBS.SCHOLAR or
        jobID == FFXIV.JOBS.WHITEMAGE
    then
        return GetString("healer")
    elseif
        jobID == FFXIV.JOBS.GLADIATOR or
        jobID == FFXIV.JOBS.MARAUDER or
        jobID == FFXIV.JOBS.PALADIN or
        jobID == FFXIV.JOBS.WARRIOR
    then
        return GetString("tank")
    end
end

function GetRoleTable(rolestring)
    if (rolestring == "DPS") then
        return {
            [FFXIV.JOBS.ARCHER] = true,
            [FFXIV.JOBS.BARD] = true,
            [FFXIV.JOBS.BLACKMAGE] = true,
            [FFXIV.JOBS.DRAGOON] = true,
            [FFXIV.JOBS.LANCER] = true,
            [FFXIV.JOBS.MONK] = true,
            [FFXIV.JOBS.PUGILIST] = true,
            [FFXIV.JOBS.ROGUE] = true,
            [FFXIV.JOBS.NINJA] = true,
        }
    elseif (rolestring == "Healer") then
        return {
            [FFXIV.JOBS.CONJURER] = true,
            [FFXIV.JOBS.SCHOLAR] = true,
            [FFXIV.JOBS.WHITEMAGE] = true,
        }
    elseif (rolestring == "Tank") then
        return {
            [FFXIV.JOBS.GLADIATOR] = true,
            [FFXIV.JOBS.MARAUDER] = true,
            [FFXIV.JOBS.PALADIN] = true,
            [FFXIV.JOBS.WARRIOR] = true,
        }
    elseif (rolestring == "Caster") then
        return {
            [FFXIV.JOBS.ARCANIST] = true,
            [FFXIV.JOBS.BLACKMAGE] = true,
            [FFXIV.JOBS.SUMMONER] = true,
            [FFXIV.JOBS.THAUMATURGE] = true,
            [FFXIV.JOBS.WHITEMAGE] = true,
            [FFXIV.JOBS.CONJURER] = true,
            [FFXIV.JOBS.SCHOLAR] = true,
        }
    end
    return nil
end

function IsMeleeDPS(jobID)
    local jobID = tonumber(jobID)
    return     jobID == FFXIV.JOBS.MONK or
            jobID == FFXIV.JOBS.PUGILIST or
            jobID == FFXIV.JOBS.DRAGOON or
            jobID == FFXIV.JOBS.LANCER or
            jobID == FFXIV.JOBS.ROGUE or
            jobID == FFXIV.JOBS.NINJA
end

function IsRangedDPS(jobID)
    local jobID = tonumber(jobID)
    return     jobID == FFXIV.JOBS.ARCANIST or
            jobID == FFXIV.JOBS.ARCHER or
            jobID == FFXIV.JOBS.BARD or
            jobID == FFXIV.JOBS.BLACKMAGE or
            jobID == FFXIV.JOBS.SUMMONER or
            jobID == FFXIV.JOBS.THAUMATURGE
end

function IsRanged(jobID)
    local jobID = tonumber(jobID)
    return     jobID == FFXIV.JOBS.ARCANIST or
            jobID == FFXIV.JOBS.ARCHER or
            jobID == FFXIV.JOBS.BARD or
            jobID == FFXIV.JOBS.BLACKMAGE or
            jobID == FFXIV.JOBS.SUMMONER or
            jobID == FFXIV.JOBS.THAUMATURGE or
            jobID == FFXIV.JOBS.CONJURER or
            jobID == FFXIV.JOBS.SCHOLAR or
            jobID == FFXIV.JOBS.WHITEMAGE
end

function IsPhysicalDPS(jobID)
    local jobID = tonumber(jobID)
    return     jobID == FFXIV.JOBS.MONK or
            jobID == FFXIV.JOBS.PUGILIST or
            jobID == FFXIV.JOBS.DRAGOON or
            jobID == FFXIV.JOBS.LANCER or
            jobID == FFXIV.JOBS.ROGUE or
            jobID == FFXIV.JOBS.NINJA or
            jobID == FFXIV.JOBS.ARCHER or
            jobID == FFXIV.JOBS.BARD
end

function IsCasterDPS(jobID)
    local jobID = tonumber(jobID)
    return     jobID == FFXIV.JOBS.ARCANIST or
            jobID == FFXIV.JOBS.BLACKMAGE or
            jobID == FFXIV.JOBS.SUMMONER or
            jobID == FFXIV.JOBS.THAUMATURGE
end

function IsCaster(jobID)
    local jobID = tonumber(jobID)
    return     jobID == FFXIV.JOBS.ARCANIST or
            jobID == FFXIV.JOBS.BLACKMAGE or
            jobID == FFXIV.JOBS.SUMMONER or
            jobID == FFXIV.JOBS.THAUMATURGE or
            jobID == FFXIV.JOBS.WHITEMAGE or
            jobID == FFXIV.JOBS.CONJURER or
            jobID == FFXIV.JOBS.SCHOLAR
end

function IsTank(jobID)
    local jobID = tonumber(jobID)
    local tanks = {
        [FFXIV.JOBS.GLADIATOR] = true,
        [FFXIV.JOBS.MARAUDER] = true,
        [FFXIV.JOBS.PALADIN] = true,
        [FFXIV.JOBS.WARRIOR] = true,
    }
    
    return tanks[jobID]
end
Well, your helpers file is outdated if it looks like that, I can tell you that much. Second, the tank assist doesn't use any of those helpers there anyway. Third, it checks for the nearest tank, which would be you if you are a tank, so yea.. guess I didn't foresee that usage.
Weird that how it looks like even if I deleted it and pulled fresh one off the main updater.
2nd, I saw your code it doesn't use it perhaps it used from paf of your library which there is no way to validate.
3rd, I was not the tank, I am the drg. Almost 100% I am next to the drk (main tank and it will not target the tank mob.)
I am still resort to nearest target is best option but I want to see if tank assist actually functioning.
I updated it a few moments ago to be valid even for a tank, it just excludes the player as the tank to assist now.
Also anything that references my library will start with AceLib.API, since it's not at the global visibility level.
I feel like member.role is not working correctly.

I changed
Code:
if ((member.job == 32 or member.job == 19 or member.job == 21) and member.id ~= Player.id) then
Which is our tank DRK and tank assist works.
DRK(32) PLD(19) WAR(21)
Can you take a look again?
This is good but terrible if dps had to do add. Is there a check for focus target priority?
Ace,
I saw you fixed this in latest download but it is still not working.

You had it fetch member.jobid when IsTank function called a member.job
Can you update so minionapp stop nagging me to update again?

Downloaded:
Code:
                if (IsTank(member.jobid) and member.id ~= Player.id) then
                    table.insert(tanks,member)
                end
Fixed:
Code:
                if (IsTank(member.job) and member.id ~= Player.id) then
                    table.insert(tanks,member)
                end
It is done.