Alastor Antlion Bug Fixes - #11531
KiplingFFXI wants to merge 2 commits into
Conversation
3a9e663 to
cbe6a0f
Compare
| mob:setAnimationSub(4) | ||
| mob:setMobMod(xi.mobMod.NO_MOVE, 1) | ||
| -- mob:setStatus(xi.status.INVISIBLE) -- TODO: Implement once packet 0x00E is rewritten. | ||
| -- mob:setStatus(xi.status.INVISIBLE) -- Retail hides the whole antlion while it is buried, not just the name. Turn this on once a capture proves it. |
There was a problem hiding this comment.
Dont change this comment
There was a problem hiding this comment.
Fixed, and addressed everything else
| SpawnMob(alastorId, 120):updateClaim(target) | ||
| end | ||
| end | ||
| skill:setMsg(xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.BLINDNESS, 40, 0, 90)) |
There was a problem hiding this comment.
Why halve the duration?
There was a problem hiding this comment.
Purely based on the caps, the maximum duration it ever landed on either player was 90 seconds.
| g_mixins.families = g_mixins.families or {} | ||
|
|
||
| g_mixins.families.antlion_ambush_no_rehide = function(antlion) | ||
| -- Underground the antlion keeps its name and stays targetable. |
There was a problem hiding this comment.
I would just rename this mixin if this is only used for antlion nms that are poped, and as such, they dont need to be hidden
| -- Engage one tick later so the ambush is not dropped for anyone who has not seen it yet. | ||
| -- Both can go once SpawnMob announces new mobs itself. | ||
| executioner:setPos(pos.x, pos.y, pos.z) | ||
| executioner:queue(0, function(executionerArg) |
There was a problem hiding this comment.
is this qeue actually needed?
There was a problem hiding this comment.
When I was testing this fight to bug fix, I encountered another bug where the damage from pit ambush will go off but the animation packet won't fire. it seems to only happen randomly or on the first use. I cannot reliably reproduce it. after speaking with @sruon about the causes and potential solutions we discussed there may be a core change to be had here but that a lua change making the ambush happen a tick later would solve the issue. this is because it seems like when a script pops a mob the server doesn't tell nearby players it exists until their own position packet gets processed, so anything the mob does in its first tick like pit ambush can get discarded
|
|
||
| -- Same one tick wait as the Executioners. | ||
| alastor:setPos(pos.x, pos.y, pos.z) | ||
| alastor:queue(0, function(alastorArg) |
| SpawnMob(ID.mob.ALASTOR_ANTLION) | ||
|
|
||
| -- Same one tick wait as the Executioners. | ||
| alastor:setPos(pos.x, pos.y, pos.z) |
There was a problem hiding this comment.
if we are already setting the spawn point, why do we need to also set its pos after spawn on the same point?
There was a problem hiding this comment.
Spawning it doesn't tell nearby players it's there until the next tick. setPos does it right away, so that was the intention with this
cbe6a0f to
f453ab8
Compare
|
Dropped the lua queue after suggestion from sruon to update the pos to near the QM. It worked. |
I affirm:
What does this pull request do?
This PR fixes a few bugs with Alastor Antlion and some Antlion files generally against retail captures. It does the following:
Steps to test these changes
Do the fight and see it all works as discussed above. Fight normal antlions that hide underground and see the same.
Captures
Alastor Antlion.zip
@Valentine-PHX
NM_Alastor_Antlion.zip