Announcement: Be excellent to each other.


Caravel Forum : DROD Boards : Bugs : Flying NPCs fall off platforms
New Topic New Poll Post Reply
Poster Message
Someone Else
Level: Smitemaster
Avatar
Rank Points: 1305
Registered: 06-14-2005
IP: Logged
icon Flying NPCs fall off platforms (0)  
If a flying NPC is on a platform, and the platform is moved by another NPC or Beethro, the NPC falls and dies. If, however, the flying NPC moves off of the platform, it survives. Neither is affected when it is a monster (not an NPC) and a platform moves out from underneath it.
07-31-2007 at 09:10 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Tahnan
Level: Smitemaster
Avatar
Rank Points: 2459
Registered: 11-14-2005
IP: Logged
icon Re: Flying NPCs fall off platforms (0)  
It's more general than that: if a flying-ability NPC stays over a hot tile for more than one turn, it's also killed.
07-31-2007 at 09:19 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5058
Registered: 02-04-2003
IP: Logged
icon Re: Flying NPCs fall off platforms (0)  
By your posts, I understand that you're expecting flying NPCs to not fall or be harmed by hot tiles. Is that correct?

(Hmm...do they also depress pressure plates as they move?)

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
07-31-2007 at 09:41 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Pinnacle
Level: Smitemaster
Avatar
Rank Points: 1129
Registered: 06-10-2004
IP: Logged
icon Re: Flying NPCs fall off platforms (0)  
mrimer wrote:
(Hmm...do they also depress pressure plates as they move?)

Yes, they do. It seems counterintuitive.

____________________________
Once (adv.): Enough.
Twice (adv.): Once too often.
~Ambrose Bierce, The Devil's Dictionary
07-31-2007 at 09:45 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Someone Else
Level: Smitemaster
Avatar
Rank Points: 1305
Registered: 06-14-2005
IP: Logged
icon Re: Flying NPCs fall off platforms (0)  
It doesn't even happen with player role changes.
07-31-2007 at 09:59 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
TFMurphy
Level: Smitemaster
Rank Points: 3118
Registered: 06-11-2007
IP: Logged
icon Re: Flying NPCs fall off platforms (+2)  
Well, the original bug in this thread should already be fixed: see the NPCs and Platforms thread. However, depending on how it was fixed, things like hot tiles may still be an issue.

I gave a quick try at fixing it myself, but it's a much more complicated issue than I originally thought. The obvious fix seemed to be to have a new subroutine (which I called GetMovementType) that I placed in both Monster.cpp and Character.cpp. For Monsters, it would simply return the eMovement of the object. For Characters, it would check the identity it was using and output an appropriate movement type for the character. And then for every reference that checked for a monster's eMovement, I had it use GetMovementType instead. This worked quite well... except... now NPC Seeps couldn't cross floors. (Though at least they didn't *die* when caught outside a wall)

I'm pretty sure such behaviour breaks a few scripted holds, so that wasn't optimal. So it became clear that for some things, it's okay to check eMovement, while for others, it perhaps needs a bit more help.

Perhaps another way would be some boolean subroutines like IsFlying or IsWaterDwelling, and have particular routines where it's important to know that use those. Also, there may be code in characters that duplicates things that might be better off already handled by movement type... it's difficult to be sure without a thorough check.

Anyways, that's what I could find after a quick look. I'm not submitting a patch due to the Seep issue - it'd take time to decide which subroutines should use Movement Type and which won't, and that's probably better handled by someone more familiar with the code. Sorry.
07-31-2007 at 11:14 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Beef Row
Level: Smiter
Rank Points: 471
Registered: 12-28-2005
IP: Logged
icon Re: Flying NPCs fall off platforms (+1)  
TFMurphy wrote:
Anyways, that's what I could find after a quick look. I'm not submitting a patch due to the Seep issue - it'd take time to decide which subroutines should use Movement Type and which won't, and that's probably better handled by someone more familiar with the code. Sorry.

[offtopic]
You shouldn't be apologizing for your analysis not leading to an actual patch! You're doing a lot for the community, and your posts are always impressive and knowledgable. I don't want to derail the thread at all, but it just seemed like you feel a little guilty that you didn't develop a patch. You're already exceeding expectations with more or less every post you make.
[/offtopic]

____________________________
"Now I will repeatedly apply the happy-face rule"
08-01-2007 at 04:05 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Dex Stewart
Level: Smiter
Rank Points: 355
Registered: 01-19-2007
IP: Logged
icon Re: Flying NPCs fall off platforms (0)  
Beef Row wrote:
TFMurphy wrote:
Anyways, that's what I could find after a quick look. I'm not submitting a patch due to the Seep issue - it'd take time to decide which subroutines should use Movement Type and which won't, and that's probably better handled by someone more familiar with the code. Sorry.

[offtopic]
You shouldn't be apologizing for your analysis not leading to an actual patch! You're doing a lot for the community, and your posts are always impressive and knowledgable. I don't want to derail the thread at all, but it just seemed like you feel a little guilty that you didn't develop a patch. You're already exceeding expectations with more or less every post you make.
[/offtopic]


I can only agree to that. As a matter of fact, you're one of the two(excuding users who never post) on this forum that have more rankpoints than points. That does say something, I believe.

And I also have a very good personal opininion about you. Within days after joining you had already posted those two nifty Stalwart and Briar rule-sets, which were of very quality.

In other words: Keep it up mate.

And as Sarinee used to say: Two thumbs up. Way up!
08-01-2007 at 08:22 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Banjooie
Level: Smitemaster
Avatar
Rank Points: 1645
Registered: 12-12-2004
IP: Logged
icon Re: Flying NPCs fall off platforms (0)  
Murphy, I'm utterly baffled by the idea of apologizing for not patching a game you're not a developer for.

No seriously, what
08-01-2007 at 08:36 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
trick
Level: Legendary Smitemaster
Rank Points: 2580
Registered: 04-12-2003
IP: Logged
icon Re: Flying NPCs fall off platforms (+1)  
TFMurphy wrote:
Well, the original bug in this thread should already be fixed: see the NPCs and Platforms thread. However, depending on how it was fixed, things like hot tiles may still be an issue.
Yep, correct, on both counts :)

Perhaps another way would be some boolean subroutines like IsFlying or IsWaterDwelling, and have particular routines where it's important to know that use those.
I added IsFlying and IsSwimming methods to CMonster when fixing the platform thing, actually :) (I kinda prefer your naming of IsWaterDwelling though, didn't think of that name..). In CMonster these simply check eMovement, and CCharacter overrides to check identities. So, I've fixed the hot tile problem now by simply calling the IsFlying method in stead of checking eMovement in CheckForDamage. I've left other references to eMovement alone though, at least for now. If it's not broken, don't fix it, etc.

Anyways, that's what I could find after a quick look. I'm not submitting a patch due to the Seep issue - it'd take time to decide which subroutines should use Movement Type and which won't, and that's probably better handled by someone more familiar with the code. Sorry.
Dude! Like others have said, there's no reason for you to apologize for not posting patches. Thank you for your help! We do appreciate it.


[Last edited by trick at 08-04-2007 03:21 PM]
08-04-2007 at 03:18 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Bugs : Flying NPCs fall off platforms
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.