Opened 7 years ago

Closed 7 years ago

#10142 closed defect (fixed)

TITANIC: Can remove parrot perch before flight

Reported by: dafioram Owned by: dreammaster
Priority: low Component: Engine: Titanic
Version: Keywords:
Cc: Game: Starship Titanic



After getting the item the parrot has if you replace it with the perch before the parrot flys away, you can take it back from right under him. After removing his original perch if you wait he will fly away automatically.

This keeps being the case until you get him to fly away. If you then put it back in after him flying away when he returns again the perch won't be removable.

In the original game it is almost impossible to stick the perch in before he flys away because he does it so fast. So it is hard to test this in the original.

Maybe an hourglass freeze once you dragged the item into your inventory so that the parrot can finish his eating animation and then fly away? Or just cut the parrot eating the chicken short and fly immediately once you put the item in your inventory?

Attachments (1)

scummvm00001.png (163.3 KB ) - added by dafioram 7 years ago.
floating parrot

Download all attachments as: .zip

Change History (9)

comment:1 by dreammaster, 7 years ago

Owner: set to dreammaster
Resolution: wontfix
Status: newpending

Sorry, this report is a bit unclear. If I understand what you're saying:

1) The ability to quickly put in the perch to replace the central core before the Parrot flies off. This currently matches the original. It explicitly has code in it to not have the Parrot fly off if you're fast enough. I didn't have any problem replicating it on my system (dragging off the core and releasing it, which drops it into the inventory, then quickly dragging perch to replace it.

2) "Perch won't be removable". There is logic in the original game, and matched in ScummVM, if you open the cage immediately after the Parrot flies off, you can put the intelligence core back in again, and the cage will close and lock. This isn't a dead-end if the player is actually that stupid enough to do it, since you can just go get another chicken and redo the puzzle.

comment:2 by dafioram, 7 years ago

About 1.
Ok, your fast I can't do it in the original, but I can in scummvm. If you get to this state in scummvm and the parrot is standing on the perch, that you replaced, then you can remove it by grabbing it right then and there, while the parrot is on it. When the bird realizes he is standing on nothing he then flys away. Therefore it is not game braking, but it looks weird.

About 2.
I agree.

comment:3 by dreammaster, 7 years ago

Resolution: wontfixfixed
Status: pendingclosed

comment:4 by dafioram, 7 years ago

Was the resolution for this to be won't fix?

by dafioram, 7 years ago

Attachment: scummvm00001.png added

floating parrot

comment:5 by dreammaster, 7 years ago

Resolution: fixedworksforme
Status: closedpending

Ah, sorry, overlooked the "taking the replaced perch from underneath the parrot". I tried replicating the problem and couldn't. I:
1) Dragged the chicken to the left and waited until the Parrot started eating
2) Quickly dragged the central core to the inventory and released
3) Quickly dragged the perch to the centre of the cage and released
4) The Parrot stopped eating and shuffled back onto the perch
5) Once it had finished moving, I tried dragging the perch, but he wouldn't let me.

According to the code, npcs/parrot.cpp sets "_eatingChicken" to false on line 283, irrespective of whether he'll fly off or return to a replaced perch. And game/parrot/parrot_perch_holder.cpp:48 has a code block that if you start trying to drag the perch when the parrot isn't eating, it will either give a message if the cage is locked, or the Parrot will.. i.e. the "that's my perch".

comment:6 by dafioram, 7 years ago

Here is a sure fire way to reproduce (4551-ga62d163):

  1. Do 1 as listed in comment5 except don't wait till he has finished eating.
  2. Now click left to turn left.
  3. Turn back and now the parrot is in the center, but you can remove the core and put the perch in and out with the parrot hovering in the air.

Previously, I was able to reproduce it by following the steps you did 1-5 except for step 4 the parrot wasn't returning to the center after his meal, that is reproducible in 4496-g37863e5.

comment:7 by dreammaster, 7 years ago

Ah, fascinating. This is a bug in the original game too. Ironically enough, the game has code to make the parrot walk back to the perch before it lets you turn away, but doesn't reset _eatingChicken. And the standard fly off or move back code never runs, when you turn back it thinks the parrot is still eating, and allows you to drag away the perch.

comment:8 by dreammaster, 7 years ago

Resolution: worksformefixed
Status: pendingclosed
Note: See TracTickets for help on using tickets.