View Full Version : [2.50.3] "keese" enemy type movement bug

08-06-2017, 06:28 AM
Enemys with the type: "keese" do not hit link if he stands below a dungeon wall

To reproduce in a new quest - make a new "fixed nes" quest, fill a dungeon style room with keese, then stand below the top wall and never get hit
I replaced the top wall with walkable tiles and the keese go higher but not to the new top, I also moved the wall down and link was still safe directly beneath the top wall.

This behavior does NOT happen in the 1st quest that ships with ZC though... so I was going to make a post asking how to fix this problem in my quest, then I thought I should reproduce it in a new quest and that made me suspect it is infact a zc bug. I didn't see it mentioned anywhere else on the forum though. Seems like either the keese collision is too low, or they think they are hitting the top wall too soon.

Anyways here's some relevant info:
tried on both windows 10 / windows xp
using 2.50 build 29 and 2.50.3 RC1

08-11-2017, 12:47 PM
So to be clear: this is an issue with custom quests only, and not 1st.qst?

08-11-2017, 11:44 PM
Correct. The first quest seems unaffected and works like expected.. however any new quest created the keese won't get close enough to the top wall.
I figured there must be a quest rule modifying behavior somewhere, but I've tried both authentic and fixed nes presets, and tried changing some that might alter keese behavior to pinpoint it, but nothing corrected it.

08-11-2017, 11:45 PM
Only thing i can think of that would do such a thing is Z movement modifiers using the the shadow for collisions instead of the actual enemy.

08-14-2017, 09:49 AM
In the 1st quest you can't walk as far against the top wall as you can in custom quests too, right? Might be a questrule?

08-15-2017, 04:51 PM
Yes but my test quests were like the 1st in regards to link getting close to the top wall.

Has anyone else been able to confirm this behavior exists or doesn't on their system?

08-17-2017, 02:38 PM
are you a half a tile over the wall. If so the enemies won't be able to touch you i believe.

08-18-2017, 09:41 AM
No, I am not a half tile over the top wall. They don't hit me standing (centered) on the top row of tiles.

08-25-2017, 01:34 PM
No, I am not a half tile over the top wall. They don't hit me standing (centered) on the top row of tiles.

Could you possibly post a video (or at leastsome screenshots) of precisely what this bug is about? I can;t determine by your posts if Keese are not flying to the top row, or if Link is not being hurt.

Keese damage may be affected by Link's grid position, similar to eweapon collision. If it is about how they damage the player, then the Big Hitbox QR is the culprit. If we change this, it needs to be a new QR for 2.53, that becomes an enemy editor setting, later.

08-25-2017, 04:48 PM
It's a difference in combo type configuration, not a quest rules setting, nor a bug.

The default new-quest template that comes with ZQuest has all the dungeon wall combo types set to "No Flying Enemies," whereas the original NES quest has their combo types set to "(None)."

It's the "No Flying Enemies" combo type that is preventing the Keese/Bats from reaching you on the top row. If you want to change that, you'll have to change all the wall combo types to "(None)." In the combo editor, change the first one, hit Ctrl+C to copy it, select all the remaining ones, hit Ctrl+V to bring up the Advanced Paste window, check the box next to "Type," and click OK to change them all at once. Just be careful to not overwrite "Overhead" combo types when you get to the door combos - you'll probably want to do those one-by-one.

So, yes, anybody starting a new quest using the default template will indeed get different behavior than the original NES quests in that regard.

I would imagine this was done with freeform dungeon design in mind. Traditional NES Dungeon room types automatically prevent enemies from moving onto the 2 combos bordering any side of the screen, but Interior room types allow them full range of motion across the entire screen, so by setting the dungeon wall combo types to "No Flying Enemies," it allows for freeform interior design while simultaneously mimicking the flying enemy limits of the original NES dungeon walls. And despite the discrepancy regarding Keese/Bats along the upper wall, I still believe it's a better option than resetting the combo types and forcing freeform interior designers to place Flag 96 (No Enemies) over all their dungeon walls throughout their entire quest, so I would hope the current combo type configuration remains the way it is (the actual dungeon wall combo layout is another story entirely).

That said, there's still another component: Link's hit box. If you go to Quest -> Graphics -> Sprites -> Link, there's a "Large Link Hit Box" checkbox on the bottom right. Enabled, Link is a full 16 pixels tall. Disabled, he's 8 pixels tall, and can walk across the top half of combos that have a solid combo above them. With a large hit box, Link won't be able to walk across the top half of the top row of floor combos in a dungeon screen, and will still take damage from Keese/Bats. However, with a small hit box, Link can walk across the top half of the top row and continue to avoid them. The original NES quest hits a compromise - a small Link hit box everywhere, except on the top of dungeon screens. To recreate this behavior, leave "Large Link Hit Box" disabled, then go to Quest -> Rules -> NES Fixes, and UNCHECK the "Freeform Dungeons" rule. Now you'll be blocked from walking across the top half of the top row of dungeon screens, but retain your standard small Link hit box everywhere else.

Of course, I'd suggest taking the default config and having some fun with freeform dungeons, but if you want strict NES rectangles and nothing else, there you go.

08-26-2017, 04:28 PM
sorry... they weren't flying high enough it seemed.

Thanks so much for the detailed answer! I had been going alittle crazy trying to figure out what was happening there and thought it strange nobody else reported the same problem - but I am doing the old NES style dungeons.
Also peahats still hit me on rows under combos with "no flying enemies" leading to my confusion of it being keese specific.

I got the behavior I desired.. But wouldn't people doing freeform dungeons wish not to have those saftey spots from keese under every top wall, I guess they could still do this solution anyway though it just seems (in my uneducated opinion of all things that could be affected) like the keese could be allowed to go up just alittle higher under no flying combos.
However for those who allow going half-tile over the top wall that just might be unavoidable anyway.

Thanks guys!