Jump to content
Dante Unbound: Known Issues ×
Dante Unbound: Share Bug Reports and Feedback Here! ×

[Profit-Taker] Leg regen: legs revive when they shouldn't.


Iterniam
 Share

Recommended Posts

Bug summary:

Short bug description: Profit-Taker will regenerate, and even revive its legs at times it is not supposed to.
Gameplay impact: Per armor phase, you will have to take down up to 3 legs that you have already taken down. This annoys players and ruins speedruns. The bullets fired to down the extra legs also increase the Arch-gun's cooldown which can lead to further time loss.
Reproduction: Take a Necramech and give it this mod setup. Take down or damage one of Profit-Taker's legs within 5 seconds of taking down the final pylon in a pylon phase. Observe that the leg(s) will revive if they got killed, or heals back up to 100% health if it was partially damaged.
To be fast enough to get the bug to occur, shoot the pylons with Zenith's alt fire, with an Opticor (Vandal), or get a teammate to kill the final pylon for you.
Reproduction variations and notes:

Squad type: Host, Client, or Solo can all trigger the leg regen bug.
Required animation: This bug only triggers when Profit-Taker finishes the "GetUpFromStun" (from the EE.log) animation. This animation starts the pylon phase ends, if and only if Profit-Taker is in a stun state at the end of the pylon phase, see this comment (includes pictures and video).
Required stun state conditions: Profit-Taker is not always in the required stun state throughout the pylon phase. Profit-Taker will first enter the stunned state around 15 seconds into the pylon phase. Then, it will be interrupted with another animation (to launch rockets or something, idk), roughly every 20 seconds. In between those times, it will be in the stunned state. If the pylon phase ends while Profit-Taker is stunned, the GetUpFromStun animation will trigger. In turn, the end of this animation triggers the regeneration of all leg health when it finishes. The function responsible for this, according to EE.log, is Camper->CompleteGetUpFromStu
n(). If the pylon phase ends while Profit-Taker is not stunned (i.e. in another animation), the GetUpFromStun animation will not trigger, so neither will the regeneration of the legs.
Second armor phase: The first pylon phase is followed by the second armor phase. Hence, you have 5 seconds to damage a leg after the end of the first pylon phase to trigger leg regen.
Fourth armor phase: The second pylon phase is followed by the third shield phase, which itself is followed by the fourth armor phase. Hence, if you clear the third shield phase and damage or kill a leg of the fourth armor phase within 5 seconds of finishing the third pylon phase, leg regen can also trigger. It is not recommended to try to reproduce this as this is difficult even for speedrunners and relies on 'good' shield elements to be fast enough.
First and third armor phase: Because the first and third armor phase are not (indirectly) following a pylon phase, leg regen cannot trigger for them.
Timing - too slow: If you are too slow, (slower than 5 seconds) the legs will regenerate before you deal any damage to it, meaning you won't be able to observe the leg health being reset back to 100%.
Timing - just perfect: If you kill up to 3 legs or damage up 4, leaving 1 alive within 5 seconds, but fail to kill the fourth leg within the 5 second time span, you will observe that all legs have their health reset back to 100%.

Timing - too fast: If you are too fast and kill 4 legs within 5 seconds, the legs can still revive, leaving both the legs and the body to be vulnerable at the same time. You can either choose to shoot the body and continue the fight as if they leg regen bug didn't exist, or shoot the legs again for no good reason. If you choose the latter, you will have killed the legs 8 times in a single armor phase.
Weapons: The weapon used to shoot the final pylon do not matter. The weapon used to damage the legs has to be an Arch-Gun because the fight demands it, but no further restrictions apply.
Warframes: The bug can be triggered independent of the Warframe, and can also be triggered on the Necramech.
Abilities: The bug can be triggered independent of active abilities.
If all else fails: If you absolutely cannot reproduce this bug, just contact me. I can perform this bug without failure in every run and would be happy to help get it fixed. 

Squad type: The bug occurs regardless of being solo, host, or client.
Introduction date: By all accounts, this bug was shipped with Profit-Taker's release. It's been here for more than 3 years.
Presumed cause: Profit-Taker often goes into a stun animation during pylon phases. If it is in this stun animation and the pylon phase ends, it will perform the GetUpFromStun animation. Once it finishes this animation ~5 seconds later, the function Camper->CompleteGetUpFromStun() is triggered, which then resets the health of all legs. 
Presumed fix: Remove the healing behaviour from Camper->CompleteGetUpFromStun(). Instead, heal the legs (only) after an armor phase finishes.
Current workaround: Do not shoot the legs within 5 seconds of the end of the pylon phase so there is no damage to heal, or take out all legs within 5 seconds so the body becomes vulnerable and you can continue the fight as normal, thereby ignoring the legs that regenerate.
Workaround viability: Deliberately being slower to avoid doing duplicate work is stupid. Being faster requires a well-coordinated squad, insane aim and reflexes on the Warframe Arch-gun, or expensive specialized Rivens for the Velocitus/Corvas on a Necramech.
Leg regen can also occur after the second pylon phase. It's nigh impossible to be faster than the 5 seconds because you have to both take out the shield phase and 4 legs in that time.
Note: Whether the Arch-gun that is used is held by a Warframe or Necramech obviously does not matter, but it is more difficult to be fast enough on a Warframe due to the lengthy Arch-gun deployment animation. For this reason, the reproduction states to use a Necramech. Similarly, the build is 'just' a strong build that makes it easy to fully kill a leg on a Necramech.

The cause & workarounds were originally detailed in these comments of mine.

Here is a supercut of the bug occurring. Remember that before each of these clips, there was a pylon phase after which at least one leg was taken out within 5 seconds of killing the last pylon.

Note: Do not confuse this with the armor reset bug where after taking out all four legs, Profit-Taker's main body cannot be damaged, after which the legs regenerate again. The bugs in that thread have different causes and workarounds (which are still unknown as of writing).

Edited by Iterniam
Updated the report to include repro variations
  • Like 17
Link to comment
Share on other sites

  • 2 months later...
  • 4 weeks later...

Just some anecdote from my experience. By no means a pro, but I do have some 100ish solo kills under my belt.

This issue happens way more often when not using the Archwing for the pylon phase. I'd even go so far as to say it only happens when you exclusively use operator and Warframe for that phase. All occurrences I can actually remember right now did happen like that.

Maybe --this is just a hypothesis-- you could work around this bug by getting into Archwing and immediately exiting? I haven't tried this myself yet, but will do so later.

Link to comment
Share on other sites

1 hour ago, 60framespersecond said:

This issue happens way more often when not using the Archwing for the pylon phase. I'd even go so far as to say it only happens when you exclusively use operator and Warframe for that phase. All occurrences I can actually remember right now did happen like that.

Maybe --this is just a hypothesis-- you could work around this bug by getting into Archwing and immediately exiting? I haven't tried this myself yet, but will do so later.

If you get positive results, it would likely be due to waiting longer before you fire at the legs rather than having anything to do with Archwing.
I suspect Necramechs suffer so much from this issue because they always have a head start of 3.5~4 seconds on the arch-guns, making them deal damage sooner than the Arch-Guns would.

  • Like 1
Link to comment
Share on other sites

After some more careful analysis of recordings and logs, I have determined the cause of leg regen and got it to a state where it is 100% reproducible.

If you wait long enough during the first pylon phase, Profit-Taker will go in a state where she sits idle. This looks as follows:

RXKHAJ7.jpg

If the Profit-Taker gets to this idle state, she will perform an animation to 'get up'. This animation starts once the final pylon is destroyed. 5s107ms after destroying the final pylon, the animation finishes and regenerates the health of all limbs with a function the logs refer to as Camper->CompleteGetUpFromStun().

I put 4 runs side by side wherein I force leg regen by waiting for Profit-Taker to enter her idle animation before I take out the final pylon: https://youtu.be/4emFMzBek0s
Note how 2-3 seconds into the video, Profit-Taker 'snaps' to the idle animation in the top right and bottom left clip. If that happens, she'll perform the the 'get up' animation once the pylons are destroyed.

You can also observe that EVERY clip in the leg regen supercut from a few comments ago has Profit-Taker doing performing the 'get up' animation.
If you look at runs without leg regen (plenty can be found at https://www.speedrun.com/wf/Profit-Taker), you will observe that Profit-Taker never snaps to the idle animation or performs the 'get up' animation.

It's important to note that you can prevent leg regen from occurring by destroying all legs before the 5s107ms mark. If you miss the mark, however, all damage dealt to legs will be regenerated.


I checked the logs, and the problem causing leg regen seems to be that the function Camper->CompleteGetUpFromStun() resets the health of all legs, which it obviously shouldn't do in this case.

Here's an excerpt of the logs surrounding leg regen:

513.271 Script [Info]: CamperHeistOrbFight.lua: Landscape - New State: 4 for /Lotus/Types/Gameplay/Venus/Encounters/Heists/CamperHeistOrbFight, was 3
513.271 Script [Info]: CamperHeistOrbFight.lua: Orb Fight - Starting second attack Orb phase
517.740 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: ARM_LEFT
518.200 Script [Info]: CamperHeistOrbFight.lua: Destroyed 0 paused agents
518.378 AI [Info]: Camper->CompleteGetUpFromStun() - Stun state ending complete
520.362 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: ARM_LEFT
521.803 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: ARM_RIGHT
523.174 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: LEG_LEFT
523.891 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: LEG_RIGHT
523.891 AI [Info]: Camper->DestroyLeg() - Starting stun state, waiting for stun animation
526.154 AI [Info]: Camper->StartVulnerable() - The Camper can now be damaged!
526.154 AI [Info]: Camper->StartVulnerable() - The Camper can now be damaged!
526.267 AI [Info]: Camper->GetUpFromStun() - Ending stun state, waiting for end-stun animation.
526.283 Script [Info]: CamperHeistOrbFight.lua: Landscape - New State: 5 for /Lotus/Types/Gameplay/Venus/Encounters/Heists/CamperHeistOrbFight, was 4
526.283 Script [Info]: CamperHeistOrbFight.lua: Orb Fight - Starting third attack Orb phase
526.283 Script [Info]: ArachnoidCamperScript.lua: Stun loop complete

The time difference between going to the new state and CompleteGetUpFromStun() is 5m107ms, equivalent to the difference in time that we observe between destroying the final pylon and leg regen occurring.

Here's an excerpt of the logs of a run without leg regen due to the Profit-Taker not going into its idle nor getting up animations:

3154.620 Script [Info]: CamperHeistOrbFight.lua: Landscape - New State: 4 for /Lotus/Types/Gameplay/Venus/Encounters/Heists/CamperHeistOrbFight, was 3
3154.620 Script [Info]: CamperHeistOrbFight.lua: Orb Fight - Starting second attack Orb phase
3157.519 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: ARM_RIGHT
3161.664 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: LEG_RIGHT
3162.922 Script [Info]: CamperHeistOrbFight.lua: Destroyed 0 paused agents
3163.266 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: LEG_LEFT
3164.698 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: ARM_LEFT
3164.698 AI [Info]: Camper->DestroyLeg() - Starting stun state, waiting for stun animation
3164.698 Script [Info]: ArachnoidCamperScript.lua: Entering stun loop
3166.977 AI [Info]: Camper->StartVulnerable() - The Camper can now be damaged!
3166.977 AI [Info]: Camper->StartVulnerable() - The Camper can now be damaged!
3170.127 AI [Info]: Camper->GetUpFromStun() - Ending stun state, waiting for end-stun animation.
3170.127 Script [Info]: CamperHeistOrbFight.lua: Landscape - New State: 5 for /Lotus/Types/Gameplay/Venus/Encounters/Heists/CamperHeistOrbFight, was 4
3170.127 Script [Info]: CamperHeistOrbFight.lua: Orb Fight - Starting third attack Orb phase
3170.128 Script [Info]: ArachnoidCamperScript.lua: Stun loop complete

The function CompleteGetUpFromStun() is not called. As expected, no leg regen occurs.

Here's an excerpt of the logs of a run where all legs are destroyed within the 5s107ms threshold before leg regen can occur, thereby preventing leg regen:

6552.500 Script [Info]: CamperHeistOrbFight.lua: Landscape - New State: 4 for /Lotus/Types/Gameplay/Venus/Encounters/Heists/CamperHeistOrbFight, was 3
6552.500 Script [Info]: CamperHeistOrbFight.lua: Orb Fight - Starting second attack Orb phase
6554.170 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: ARM_RIGHT
6554.708 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: ARM_LEFT
6554.927 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: LEG_LEFT
6555.221 AI [Info]: Camper->DestroyLeg() - Leg freshly destroyed at part: LEG_RIGHT
6555.221 AI [Info]: Camper->DestroyLeg() - Starting stun state, waiting for stun animation
6555.238 Script [Info]: ArachnoidCamperScript.lua: Entering stun loop
6557.394 Script [Info]: CamperHeistOrbFight.lua: Destroyed 0 paused agents
6557.484 AI [Info]: Camper->StartVulnerable() - The Camper can now be damaged!
6557.484 AI [Info]: Camper->StartVulnerable() - The Camper can now be damaged!
6557.582 AI [Info]: Camper->GetUpFromStun() - Ending stun state, waiting for end-stun animation.
6557.601 Script [Info]: CamperHeistOrbFight.lua: Landscape - New State: 5 for /Lotus/Types/Gameplay/Venus/Encounters/Heists/CamperHeistOrbFight, was 4
6557.601 Script [Info]: CamperHeistOrbFight.lua: Orb Fight - Starting third attack Orb phase
6557.601 Script [Info]: ArachnoidCamperScript.lua: Stun loop complete

Hopefully this bug can finally be fixed now after terrorizing speedrunners for years on end.

Edited by Iterniam
  • Like 5
Link to comment
Share on other sites

Great job finding this out!

I could reproduce this easily, though for me it was 5.058s from second attack phase to the CompleteGetUpFromStun call. Played at 50 fps capped if that matters here.

Now kind of makes sense how this is mostly a non-issue with Archwing. Flying around to kill the pylons and then back to PT, exiting AW and pulling out the Arch-gun will probably take more than these ~5 seconds.

Link to comment
Share on other sites

Thanks for confirming that it's easily reproducible. Hopefully that convinces someone to send the bug to the developers to fix :)

22 hours ago, 60framespersecond said:

Now kind of makes sense how this is mostly a non-issue with Archwing. Flying around to kill the pylons and then back to PT, exiting AW and pulling out the Arch-gun will probably take more than these ~5 seconds.

Yup, I was pretty certain that Archwing wasn't the issue but timing was. Your comment you got me thinking about it again. I realized that leg regen only happens at a singular moment, so it would likely be tied to an animation, which turned out to be the case :)

Link to comment
Share on other sites

  • 1 month later...

I think this issue is still present as I think I ran into it a lot while farming for octavia prime relics

 

easily the most common bug to run into out of any of the PT bugs behind the knockdown /animation soft locking bug

 

Hopefully this bug gets fixed in the patch later today

Link to comment
Share on other sites

  • 1 month later...

Another update: it's possible to get leg regen on phase 4 as well (Youtube link)

This shouldn't come as a surprise as the function 'CompleteGetUpFromStun' triggers leg regen, which in turn is triggered after Profit-Taker gets up from the pylon phase, as figured out in this comment from the the current thread.

I analyzed the log of the run using the Profit-Taker analyzer, here's the result:

image

Whenever leg regen occurs, the kill times are marked in red. You can see that I got a triple leg regen in the video at the 1 minute mark. I almost beat leg regen in this case - you can see that the final leg only required one more shot before it'd die. Instead, it regenerated which doubled the time spent on the legs.
At 1m52s into the video, you can see that I clear the shield phase so incredibly fast that I continue to the armor phase before PT got up from the pylon phase. As a consequence, the first two legs regenerate, costing another 4 seconds.

I believe the fix to leg regen is as simple as removing the function that regenerates the legs from the CompleteGetUpFromStun() function and instead adding it onto whatever function handles the kill of the body. This shouldn't be an issue for the final phase as PT also swaps shields again for no reason on its death (which is ignored by the PT analyzer tool). 

As for reproducing the bug, I recommend using a Necramech with the Velocitus. Necramechs are deployed instantly instead of after a 4-second wait like with the Arch-Gun deployer which makes it easy to kill at least one leg before the legs are regenerated.

Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...
  • 1 month later...

I think this bug still exists and it is even more annoying as all four legs can regen at once now which seems to mess up other stuff with PT such as not providing mission rewards and skipping phases unintentionally which messes up speedruns since that is not allowed.  

Edited by XHADgaming
Link to comment
Share on other sites

Yup. Ever since the Nidus prime patch that had the undocumented fix for the overkill/phase skip exploit, there's a "super leg regen" bug and a new phase skip exploit. They're clearly related, but no causes have been found yet. So far I've seen it happen in both solo and squad runs, where no specific frame was required.

Co-op probably makes it a lot more likely to run into the bugs, as I haven't encountered them myself yet in solo runs.

Link to comment
Share on other sites

  • 3 weeks later...

Farmed pt during the latest double credit and thought I was losing my mind when his legs kept going back to full health.  Also experienced the phase skip 2 or 3 times in a 2 hour session but the leg regen happens like 9/10 times its incredibly frustrating.  Now I see this thread where the op has done a great job packaging this up and delivering right to the game makers forum and how many years has this been going on?  This game is absolutely wonderful but whoever is in charge of fixing bugs needs some serious work.

Link to comment
Share on other sites

49 minutes ago, Politically_Correct_Name said:

how many years has this been going on?

It took quite a while for the leg regen to be fixed before it was finally patched. But it took what felt like ages for it to get patched. But the thing is, it got patched. 

 

That was the time it was initially patched. Now it has returned. And we can only hope that DE notices it and that it has the same repro steps. Or ones that makes it much easier to repro, considering how easy it is to hit this new leg regen I am inclined to believe that it should be much quicker than the first time for DE to fix but that remains to be seen.

 

I agree that DE should dedicate more resources towards bug fixing, especially towards reading the bug report forums and explaining why certain bugs take forever to patch while the patch notes are riddled with fixed error scripts which I have never encountered.

Link to comment
Share on other sites

7 hours ago, XHADgaming said:

It took quite a while for the leg regen to be fixed before it was finally patched. But it took what felt like ages for it to get patched. But the thing is, it got patched. 

I found a reddit thread that reported leg regen 3.5 years ago, 3 months after the fight's release. The Patch History on the wiki doesn't have any bugfixes that lead me to believe that it's been fixed in the past.
Given the code they touched (and didn't touch) over the years, I also find it hard to imagine that they fixed it by accident.

If I'm right about the cause of this bug though, all they would have to do to fix it is to remove the trigger that heals PT's legs on the GetUpFromStun animation. Not a difficult task.
I get that they're working on the New War update, but they will always be working on something new - it's not a good excuse.

Link to comment
Share on other sites

  • 3 weeks later...

Didnt see anything about this in the recent big list of fixes.  When double credit weekend was going on last time I went and ran some profit taker and it was almost unplayable, there was almost never a run where we didnt have to kill the legs multiple times, very annoying and so sloppy how can this not be fixed.  

Link to comment
Share on other sites

  • 3 weeks later...

Doing a couple of runs and holy crap I am getting more phase skip runs due to leg regen after body vlun then successful runs when running with a group. @[DE]Momawis there a fix for this planned to be released in the New War Patch? If not, is this still a top priority for the team to fix? 

I use the term "Phase Skip" to describe when the PT goes down instead of transitioning to the second pylon phase which can occur if a leg regen occurs after the body becomes vulnerable as shown in the video below. This skips the second pylon and final shield and armor phase hence why I called it phase skip.

Luckily it seems like this bug only occurs when you are in a squad so doing PT solo should be fine.

 

This leg regen caused PT to be downed instead of moving to second pylon phase afterwards. The video does not showcase this but that is what happens.

 

Edited by XHADgaming
Link to comment
Share on other sites

4 hours ago, Iterniam said:

@XHADgaming Please keep the phase skip leg regen/super leg regen out of the 'regular leg regen' thread. We don't need DE to be confused between the two. Instead, post them here:

That thread is talking about skipping mission rewards, but that was caused by a different bug with game logic rather than leg regen triggering it. And I don't want to create a new thread just for dedicated leg regen issue I constantly run into when it has already been hard enough for DE to notice in the first place. If they fix leg regen then hopefully the phase skip should also end up getting fixed along with it.

Edited by XHADgaming
Link to comment
Share on other sites

  • 3 weeks later...

@XHADgaming I've discovered reproductions, causes, and workarounds for the other bug, now dubbed 'armor reset' - see my comment in the thread below. It should have all the information DE needs to fix it.
Now that both leg regen (this thread) and armor reset (that thread) have been fully documented, please refer to the correct bugs when asking staff members for fixes. Like I said before, the two bugs are completely independent and we don't need DE to confuse the two.

 

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...