CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.64k stars 4.18k forks source link

Bandit teleporting and getting thousands of turns #49039

Open REDJAY12 opened 3 years ago

REDJAY12 commented 3 years ago

Describe the bug

I was wandering near a bandit camp and one of them teleported 2 minimap tiles and attacked with THOUSANDS (at least 46,809 looks like) of turns instantly to the point that my game froze for a solid two minutes.

Steps To Reproduce

Not sure how to recreate this one as my character died and I'm not sure how to reset it to before they attacked me. I put the save back in but since they killed the first version of my character they're behaving normally now.

EDIT: Castlewood.zip

^ Here's the save from the graveyard inserted back into the world if anyone wants to take a look.

Expected behavior

A human bandit not teleporting and beating me to death before I can blink.

Screenshots

image

Here are my stats from right before being attacked in case you're thinking it was encumbrance or something... all happy and healthy

image

Used debug to view the stats for the bandit that assassinated me...

image

Versions and configuration

danielkwinsor commented 3 years ago

I noticed 2 occasions where I was hit what looks like more than should have happened in 1 turn. However, it was not as clear as x46809, it was just like 10-20 times, and I was also weary both times, so I chalked it up to getting stun locked. Could my description be the same thing? I saw this maybe 2-3 weeks ago

PatrikLundell commented 3 years ago

Do you know how much time it took (is it possible to compare the start time with the restored character to the end time with the killed one)?

The reason I ask is because I've had a case where my character aimed carefully at something at a fungal tower and then got locked for several hours while the fires I'd started died down (0.E2 stable). This might be something similar (however, I have no idea why my character got locked up).

Salty-Panda commented 3 years ago

Did you start some action just before he teleported? Maybe the problem is with prolonged duration of something and/or being stunlocked afterwards?

Kelenius commented 3 years ago

If this was the survivor getting stuck, the first screenshot would have had timestamps, but the only timestamp there is 0 seconds. This looks more like the bandit getting infinite turns.

REDJAY12 commented 3 years ago

Did you start some action just before he teleported?

I thought that at first but all I was doing was walking (and not even auto-move).

Anaglyphic commented 3 years ago

OK wow that is wild. I hope you at least found it funny as well as frustrating, because that right there? That's crazy. I knew meth had some speedy properties but damn!

Since you're playing a recent build, do you still have the last save from this death in the world directory? The saves are starting to be very "linux-y" in that, eventually, with a save game, you can walk back to turn 1, every bullet you fired, every enemy you encountered, what turn you ate that ice-cold cheeseburger, every single thing... it's not fully implemented as yet, but they contain a lot more than say an 0.E-stable save does. It could give some clues, especially the message log.

REDJAY12 commented 3 years ago

Heh, thankfully it wasn't a serious playthrough so I'm not particularly mad about it just very confused. And yes, I do have the files still. I've attached a zip of the world with the save from the graveyard in it, so hopefully someone can dig out something useful.

Castlewood.zip

I've been running around to all the bandits I can find in other worlds but so far cannot recreate the issue.

Anaglyphic commented 3 years ago

Crap so maybe there is something more to this than a fluke.

Hey @REDJAY12 if you're still into this? Question - you had an NPC follower, right, but you killed her? She's dead is what's important not that you're a psycho. I think this is key.

But also dude you cheated so much in the beginning; gave yourself everything, forced a ton of mutations, repeatedly teleported (to a lab and back out?), all before you even killed your first zombie. And you keep re-enabling achievements after cheating, aww they're meaningless but you still want them! :smiling_imp:

...not that it matters, well at least it shouldn't. Weird gameplay anomalies from stats/items inserted via debug should be the same as if you had experienced it organically, however it just makes triggering it more a shot-in-the-dark cause your recent task history is all lies!

Any time to play this weekend? Any weird time shifts, even little ones not just the 50k moves kinds? -o- -o- -o- -o- -o-

I think it'll turn out to be repeatable if we figure out the trigger - I just now experienced something very similar.

Was doing a fresh world Large Building, Mall (loading area) start... the Romero's DOTD homage mall-full-o-zeds start, heard shots outside while making my cudgel, ran into this NPC early, made friends but then lost him - didn't see him for awhile but saw his "<blah 'the blah' blah> dies!" message.

I just finished washing a SWAT zed's main pieces - riot helmet, tac gloves, steel-toed boots, and SWAT armour - and everything fits! What are the odds of good rolls like that!? I'm cleaning out a lightless behind-the-stores accessway, cudgel'ing quietly, because it has outside doors and concrete walls, trying to establish a controllable choke point slash escape route, and during this routine skull-knocking, I was dragging display racks with shift-G when the game froze - no one was near me, no one was targetable, and pressing V showed nearest enemy was 30 (ish) tiles away and through many obstacles. The game is still chewing clock but the UI is not getting any of it... I pressed a couple directions but know better than spamming and loading up the buffer, and just wait.

For 45 seconds (ish) nothing moved, and when it gave control back to the GUI updating code, it "shotgunned" thousands of turns. Just endless bite dodge bite bite block block bite bite DEAD. As I died there were 60-ish surrounding me where prior to freezing there wasn't a single aware-of-my-presence zed on the screen. That's a lot of turns, it's dark, you have to be very close, and I'm melee so they're not focusing in on gunshots or smashing, only scentmap and random zombie stagger. Just finding me was thousands too.

But from the log, _you can't tell anything went wrong!_It's like I was "there" the whole time but just did nothing. Like holding down KP_5 or something. Or, like it's giving the dead NPC turns, turns they can't use, that aren't interleaved with every other time slice consumer in the reality bubble, and somehow it gets stuck or hits a threshold, gives up, and dumps. Then everyone else gets their timeslices, only I don't, I'm considered idle and just defend until I die.

@PatrikLundell You probably won't remember - is it possible you also had an NPC follower who became recently deceased? 0.E2 is so insanely old WRT code changes that encompass nearly everything since. I'm hoping that's common ground between Red and myself, so if you remember that detail that could clinch where to start looking.

@danielkwinsor dude #46809 is not related to weird delays which appear frozen and enemies get a ton of turns, it's about a textual edit, fixing the ToC in JSON_INFO.md ... if you could find it that'd be great.

PatrikLundell commented 3 years ago

@Anaglyphic In my case my character was alone (since I found out that companions don't run, and thus won't escape from zombies in a reasonable manner when I try to retreat by legging it). My companions were all either set to work in the base camp or performing base camp missions (because that's what I always did). No companions had died (officially: I've save scummed quite a lot). I don't think I've used any hacking in the game and saved afterwards (I may or may not have done some before that happened to investigate how things work and then discarded that save to reload the "real" save).

My freeze turned out OK since I'd already killed everything that could move and basically just waited for the fire to finish the job, so it was just annoying (and a little bit worrying).

REDJAY12 commented 3 years ago

@Anaglyphic Yeah, it's almost like I was trying to see a bunch of content or something ;) The last time I played achievements weren't even a thing.

Anyway, thank you for looking into it and the good ideas. My other saves haven't been experiencing issues so far but I haven't been able to recruit anyone and the only dead NPCs are bandits so... the dead companion/follower theory sounds the most likely. I'll try to do some testing with that and see if we can find an exact trigger.

Anaglyphic commented 3 years ago

man causing something intentionally you don't know what it is, is a chore.

I'm going to have to back burner this one.

But I do believe you! That's half the battle around bugs, as it were. Whether we'll track it down before it accidentally gets fixed by code being worked on anyway, who knows, but I know it's real.

And it's well-documented now if anyone else searches. Here's hoping.