LegionDark / Issues

[ARCHIVE] Issue tracking for the LegionDark private server.
10 stars 76 forks source link

VW ashen2 upgrade #1765

Closed stevomatic closed 6 years ago

stevomatic commented 6 years ago

Date & Time: 12/30/2017 10:30pmest

FFXI Client Version (use /ver): 30171103_1

Server's Expected Client Version matches, yes/no? (use !ecv): yes

Character Name: Agnes Gunt Gurgitator Annebonnie

Nation: Bastok

Job(level)/Sub Job(level): 99BLU/RDMx3 99BRD/WHM

NPC or Monster or item Name:

Mimic King, Modron Zone name: Li'Telor

Coordinates (use !where):

ffxiah.com link (for items issues only):

Multi-boxing? (multiple clients on same connection): yes

Steps To Reproduce / any other info: Needed to farm t2 zilart mob, so I played through the first 6 t1s and upon killing the first t2 my abyssites all upgrade to t3. This just happened with Mimic King, this also happened to me ~2-3 months ago doing the same thing when I wanted to get something off Modron. I've played through all the available VW and gotten all cutscenes and dialogue.

ghost commented 6 years ago

Its known bug(?) in vw. Same thing happens for me when I reprogress through Ashen, I get upto T2 then when I kill 1 T3, in this case, it would revert back to t1 upon just killing 1 of the T3s.

TeoTwawki commented 6 years ago
    if (player:hasKeyItem(ASHEN_STRATUM_ABYSSITE_II)) then -- Mimic King Kill
        if (player:getMaskBit(player:getVar("ASHEN_STRATUM_II"), 2) == false) then
            player:setMaskBit(player:getVar("ASHEN_STRATUM_II"),"ASHEN_STRATUM_II",2,true);
        end

        if (player:getQuestStatus(OUTLANDS, VW_OP_115_LI_TELOR_VARIANT) == QUEST_COMPLETED) then
            if (player:isMaskFull(player:getVar("ASHEN_STRATUM_II"),3) == true) then
                player:addKeyItem(ASHEN_STRATUM_ABYSSITE_III);
                player:delKeyItem(ASHEN_STRATUM_ABYSSITE_II);
                player:setVar("ASHEN_STRATUM_II", 0);
            end
        end
    end;

this is what happens when Mimic King dies.

And here is Modron's version:

    if (player:hasKeyItem(ASHEN_STRATUM_ABYSSITE_II)) then -- Mordon Kill
        if (player:getMaskBit(player:getVar("ASHEN_STRATUM_II"), 1) == false) then
            player:setMaskBit(player:getVar("ASHEN_STRATUM_II"),"ASHEN_STRATUM_II",1,true);
        end

        if (player:getQuestStatus(OUTLANDS, VW_OP_115_LI_TELOR_VARIANT) == QUEST_COMPLETED) then
            if (player:isMaskFull(player:getVar("ASHEN_STRATUM_II"),3) == true) then
                player:addKeyItem(ASHEN_STRATUM_ABYSSITE_III);
                player:delKeyItem(ASHEN_STRATUM_ABYSSITE_II);
                player:setVar("ASHEN_STRATUM_II", 0);
            end
        end
    end

The most likely scenario is that due to the infamous multi box glitch, the var never zero'd out (its the last line in both blocks of code above) so the next item you ran it, first kill got you the clear. This will be less pain in the rear when the key item cycling is removed entirely (its planned, hasn't happened yet).

The intention there is each NM sets one bit in a mask. a series of switched flipping from off (zero) to one (on). When mask "is full" we wipe the variable those bits are stored in after upgrading the abyssite.

I could be wrong and it be some other bug I am missing, but I can't debug this anytime soon and probably the only other person who would spot any other problem would be atom0s.