Deadly Dungeon Rescue - Tortured Peasant bug


#1

Hi there!

I hope this is the right place.
After finishing the level I went to check how others did it. What I found out was that you don’t have to rescue the peasant to win. You can get the “Escape with the tortured peasant” task as done just by going to the X spot yourself.

Please check that. I can link to a game that i saw(from two months ago).


Deadly Dungeon Rescue Can't Escape with Peasent
#2

More helpful would be a screenshot of the situation, with you and the peasant both in the picture.


#3

Like I said it is not me. It is from the leaderboards.
Here is the screenshot. I hope it is enough.


#4

That is indeed a bug.

@sotonin Someone broke your level!


#5

I submitted a patch that should fix this. Let me know!


#6

How fast do patches go live?
The bug is still there.


#7

CodeCombat is using a caching service for various reasons (which I will not explain here, but it makes sense). A negative side-effect is that patches need some time to go live. How long exactly depends on many factors, but you should be safe when you assume it to be 24 hours.

You can bypass the caching and use the newest Version by using direct.codecombat.com.
There may be bugs though, which are not officially supported. For example if someone makes a change and then afterwards notice he broke something. As soon as it is noticed, it will be fixed. When everything is working, the cache is updated and the newest working version is uploaded to codecombat.com


#8

I just tried, but it doesn’t seem to work for me any more: I have looted the vault, rescued the peasant, avoided the patrols and now I’m standing on top of the red mark, the peasant is with me, but nothing happens and the time runs out.

The “goals: ran out of time” section tells me that I escaped with the peasant and looted the treasure, but did not avoid the patrolling guards?

Here is my Lua code:

self:moveXY(36, 123)
self:attack("Vault Door 1")
self:attack("Vault Door 1")
self:moveXY(30, 102)
self:moveXY(63, 102)
self:moveXY(46, 78)
self:moveXY(46, 55)
self:moveXY(30, 30)
self:moveXY(63, 30)
self:moveXY(49, 114)
self:moveXY(81, 121)

self:moveXY(88, 82)
self:moveXY(149, 78)
self:moveXY(150, 27)
self:attack("Torture Room Door")
self:attack("Torture Room Door")
self:moveXY(132, 30)
self:attack("Torture Master")
self:say("Follow me if you want to live!")

self:moveXY(150, 25)
self:moveXY(150, 10)
self:moveXY(47, 9)
self:attack("Vault Door 2")
self:attack("Vault Door 2")
self:moveXY(49, 114)
self:moveXY(81, 121)

self:moveXY(85, 100)
self:attack("Exit Door")
self:attack("Exit Door")
self:moveXY(102, 99)
self:moveXY(102, 122)
self:moveXY(117, 122)
self:moveXY(118, 100)
self:moveXY(134, 100)
self:moveXY(135, 126)
self:moveXY(152, 126)
self:moveXY(150, 105)

#9

I checked with direct.codecombat.com. As @halforc said it goes “goals: ran out of time” and doesn’t mark “Avoid the patrolling guards” even if you did.

@halforc as for your code… why do you destroy “Exit Door” twice? I didn’t check you code but consider this: findNearestEnemy() as the name suggests finds nearest enemy. No matter if it’s torture master or guard(which you are explicitly told not to kill). Still, there is this bug so your code may be fine.

And one more thing: The bug is still there.


Deadly Dungeon Rescue fail because of guards
#10

[quote=“brokenelevator, post:9, topic:3549”]
why do you destroy “Exit Door” twice?[/quote]
Actually, I need to attack the exit door twice with my Long Sword in order to destroy it.

[quote=“brokenelevator, post:9, topic:3549”]
I didn’t check you code but consider this: findNearestEnemy() as the name suggests finds nearest enemy. No matter if it’s torture master or guard(which you are explicitly told not to kill).[/quote]
Oh, in my first attempts I tried to target all the doors as well with findNearestEnemy(), not only the torture master. This didn’t always work as intended.


#11

OK, Long Sword, understandable. Still, why not twice at once but one and then one?

Computers usually do what you tell them to do. It is not always what you wanted them to do :slight_smile:


#12

The first attack I rather did for timing, so I wouldn’t run into the patrol when later on I came out of the torture room.

However, I can instead just as well spend some time talking to the peasant in the torture room and later attack the exit door twice. I noticed that I have got plenty of time at that point.

Thanks for your feedback, I’ll adjust my code accordingly.


#13

I’m also having the error where I have looted the vault, rescued the peasant, avoided the patrols, etc. etc. but then time runs out. (My experience is word-for-word exactly halforc’s)


#14

Just fixed it; should work now. (If cache gets you in the next few hours, try on http://direct.codecombat.com/ instead.)


#15

Works perfectly now. At least for me(on http://direct.codecombat.com).
No bug and no earlier patch aftermath. Great job. Thank you :slight_smile:


#16

Totally independantly, I encounter the same bug :

I thought it was because I changed the hero I played with (brand new archer).

As the topic is still hot, I allow myself to come here and report the edit fix isn’t live on public servers. Now it works on public server too. Thanks Nick.


#17

How do you do twice at once instead of one then one? Please post code differences here. Thanks!


#19

I am not sure what you mean. Halforc adjusted the code in the above post so it does not do one and then one anymore.
Is there a problem you are having? If so, please state it.


#20

Using the basic green and black flag code posted previously, I can move freely around and attack what I want, but after collecting a few things there’s suddenly a red X under my character and they cease to move… What would cause that X to appear? No matter what flags I place after that he remains motionless. :frowning:


#21

A big red X under your character means there was an error at that moment. Since the code goes line-by-line, when it reads a bad line, your hero ‘errors out.’