Added after 4 hours 25 minutes
I figured it out myself. Luckily, I had a save right before the siege. And the bug with the cloak is this: if there is a hero in the city during the siege, the cloak will NOT drop after winning and capturing the city, but if you lure the hero out of the city, beat him up, and then take the city, everything is fine. Apparently, the script is buggy, and I wasted so much time because of it! :cool: