NatroTeam / NatroMacro

A Bee Swarm Simulator macro for Windows
https://discord.gg/natromacro
GNU General Public License v3.0
921 stars 87 forks source link

Stuck in corner between Hive 1 and Ramp / Map issue since Sticker Update #174

Closed rpertusio closed 4 months ago

rpertusio commented 4 months ago

Have you searched the existing bug reports?

Yes

What happened?

Onett redesigned Hives in Sticker Update (Jan 2024). Natro uses corners to position the character.

Character sometimes get stuck in the corner between Hive 1 and Ramp (near red cannon). It's a BSS map issue, NOT a Natro issue. However, Natro will need adjusted until (if/when) Onett fixes the map.

Note 1: If BEAR BEE MORPH is active, character will not get stuck Note 2: Only occurs when HIVE 1 is not claimed by someone else.

VIDEO: https://github.com/NatroTeam/NatroMacro/assets/2339691/669ddffe-6e50-4856-a2aa-d11194ab91dd

Steps to reproduce

  1. Walk into corner 'straight on' between Hive 1 and Ramp Corner

  2. If you do it correctly you can't get back out using W-A-S-D keys

  3. Can escape the corner by pressing JUMP (spacebar)

What would you expect to happen?

Natro should not use the corner for alignment OR Natro could SHIFT-LOCK before moving forward into corner, and un-SHIFT-LOCK when backing out of the corner. This prevents character from getting stuck.

Natro Macro version

0.9.9

What is your Discord username?

CPx4

rpertusio commented 4 months ago

A very rudimentary fix I made (in my local copy) is as follows:

File natro_macro.ahk: In the function nm_findHiveSlot(){ I added a SHIFT LOCK ON, walk, then SLEEP, then SHIFT LOCK OFF.

    ; find hive slot
    movement := "
    (LTrim Join`r`n
    " nm_Walk(4, FwdKey) "
    " nm_Walk(4.25, BackKey) " ; 5.25
    )"
    nm_setShiftLock(1)
    nm_createWalk(movement)
    Sleep, 500
    nm_setShiftLock(0)

File: wf-rose.ahk I commented out the Back & Forward at the end of the walk:

    ;" nm_Walk(3, BackKey) " ; 2.25
    " nm_Walk(10, RightKey) "
    ;" nm_Walk(3.5, FwdKey) "

Other fields are probably affected.

zspz commented 4 months ago

Thanks for the detailed report and a proposed solution. This has been a known issue with some character animations or sizes, but I'm not sure if it has been changed in the latest BSS update. Since the base macro is designed to work with and without Shift Lock enabled, we can't apply the shift-lock solution as a universal fix. However, the current wf paths still use the old design (before MoveSpeed Correction was added), i.e. the corner should no longer be needed for alignment. The paths can be updated to reflect this and avoid the corner.

rpertusio commented 4 months ago

Thanks. It's both the WF paths and the FindHiveSlot that need updated.

If I find time to do a pull request, do you at accept them?

zspz commented 4 months ago

Yes, the forward-backward movement in nm_findHiveSlot() will no longer be needed, and all wf paths must be updated to stop on the hive.

For sure! That would be great 😃