devilutionX icon indicating copy to clipboard operation
devilutionX copied to clipboard

Can't take equipment lying on the diablo pentagram

Open ThomasChr opened this issue 4 years ago • 18 comments

Important information Linux, effee3f7bb7b3e3b868befb2006d3200e5e617a5

Describe See attached save game and try to get the shield

To Reproduce Try to get the shield

Expected behavior I should get the shield

Screenshots image

Additional context Savegame attached single_9.zip

ThomasChr avatar Sep 05 '21 19:09 ThomasChr

You can get the shield if you come from the north, but you can't get it if you come from south. Strange.

ThomasChr avatar Sep 05 '21 19:09 ThomasChr

Telekinesis :thinking:

AJenbo avatar Sep 05 '21 19:09 AJenbo

Haven‘t got telekinesis :-)

ThomasChr avatar Sep 05 '21 20:09 ThomasChr

What happens when you get close to the shield?

julealgon avatar Sep 05 '21 20:09 julealgon

I go down the pentagram to diablo. No way to get the shield (coming from the south)

ThomasChr avatar Sep 05 '21 20:09 ThomasChr

I actually think we have a similar bug report for one of the other level entrences

AJenbo avatar Sep 05 '21 20:09 AJenbo

Without trying it, I would assume the player is stopping on the transition tile, and so the code to transition floors is triggering before the item can be picked up. My AI runs into this on some Hell levels but with the stairs up, where if an item is positioned right trying to pick the item up after coming down the stairs will result in the player standing on the transition tile up, causing the AI to loop transitioning floors.

NiteKat avatar Sep 05 '21 21:09 NiteKat

Slightly related:

  • https://github.com/diasurgical/devilutionX/issues/1355

I tried searching for an issue regarding the extra valid tile behind leoric's chamber entrance on level 3 but it seems we have not created an issue for that?

Happened in @NiteKat 's stream too.

julealgon avatar Sep 05 '21 21:09 julealgon

Now... should we change the behavior here and move the transition to after the item pickup checks?

Alternatively, we could also not transition if the player didn't specifically ask for the transition, similar to how you can avoid transitions today by attacking constantly when in the transition tile.

Making the transition an explicit action would make sense to me. Instead of a simple move command with an automatic transition, it would become like an "operate object" command, so if the player doesn't explicitly click on the transition tile, the transition would not happen even if the player was on top of it.

In any case, I don't think this could be classified as a bug.

julealgon avatar Sep 05 '21 21:09 julealgon

Yeah, the same thing happens with portals. You can walk through portals without triggering them, but if an item pickup causes you to stop on its tile, you are sent through. I like the idea of only triggering these things if your character explicitly clicks on them.

FitzRoyX avatar Sep 12 '21 23:09 FitzRoyX

We could maybe check the item pickup request array to see if the player has any pending requests before activating the trigger.

AJenbo avatar Sep 13 '21 00:09 AJenbo

We could maybe check the item pickup request array to see if the player has any pending requests before activating the trigger.

Not a big fan of that since we would be special casing item pickups only. It would still cause you to automatically transition under other circumstances which is something that I still find very weird in vanilla.

julealgon avatar Sep 13 '21 00:09 julealgon

Isn't that already how it works with checking player action state?

AJenbo avatar Sep 13 '21 00:09 AJenbo

Isn't that already how it works with checking player action state?

It is. I'm just arguing that it is bad and that this might be a good opportunity to change it.

julealgon avatar Sep 13 '21 00:09 julealgon

Making the transition an explicit action would make sense to me. Instead of a simple move command with an automatic transition, it would become like an "operate object" command, so if the player doesn't explicitly click on the transition tile, the transition would not happen even if the player was on top of it.

I'm not against this, but it's more work and changes behavior to a grater degree

AJenbo avatar Sep 13 '21 00:09 AJenbo

Now... should we change the behavior here and move the transition to after the item pickup checks?

Alternatively, we could also not transition if the player didn't specifically ask for the transition, similar to how you can avoid transitions today by attacking constantly when in the transition tile.

Making the transition an explicit action would make sense to me. Instead of a simple move command with an automatic transition, it would become like an "operate object" command, so if the player doesn't explicitly click on the transition tile, the transition would not happen even if the player was on top of it.

In any case, I don't think this could be classified as a bug.

Why make it easier for people to idle in trigger tiles blocking off access for other players?

kphoenix137 avatar Nov 15 '24 13:11 kphoenix137

Why make it easier for people to idle in trigger tiles blocking off access for other players?

Damn @kphoenix137 , you and your weird multiplayer scenarios 😅

What if the trigger tile was not walkable by default? Then, people would only be allowed access to it via an explicit trigger click, and only then the character would walk there (and there would be no going back at that point, not even the "constant attacking" workaround).

Normal pathing would not consider that tile as walkable, so trying to pick up an item for example would never land in the situation where the hero ends up standing on the trigger tile.

I guess the only thing that would need special attention is that we'd probably want to deactivate/unload the player as soon as he starts walking into the trigger tile, so that he can't take damage and "cancel" the action. Then, the walk animation on the trigger tile could effectively be part of the loading procedure.

julealgon avatar Nov 15 '24 14:11 julealgon

Why make it easier for people to idle in trigger tiles blocking off access for other players?

Damn @kphoenix137 , you and your weird multiplayer scenarios 😅

What if the trigger tile was not walkable by default? Then, people would only be allowed access to it via an explicit trigger click, and only then the character would walk there (and there would be no going back at that point, not even the "constant attacking" workaround).

Normal pathing would not consider that tile as walkable, so trying to pick up an item for example would never land in the situation where the hero ends up standing on the trigger tile.

I guess the only thing that would need special attention is that we'd probably want to deactivate/unload the player as soon as he starts walking into the trigger tile, so that he can't take damage and "cancel" the action. Then, the walk animation on the trigger tile could effectively be part of the loading procedure.

I like it a lot

kphoenix137 avatar Nov 15 '24 14:11 kphoenix137