Fixed Tails the Hat!

Status
Not open for further replies.

A Cat

Member
Don't know what it is really called but i carried someone here! Then he bacame my hat!

spesdt.png


I loled it was funny.
 
Last edited by a moderator:
Probably gravity glitching when you pick someone up there.

Then again, I haven't played ERZ in so long I wouldn't know if it had reversed gravity there.
 
How do I know where? It is at the 2nd checkpoint on the left path. It has the gravity flip part.
 
Last edited:
I think I know what happened.

Fox A (The yellow one) flew up to Fox B (The Grey one, who was reversed) jumped in Fox A's arms then Fox A land on the ground.

Well, time to test my theory!


Edit: Scratch that, It didn't work
 
Last edited:
I think this is what actually happened.

Fox A (upside down) was carrying Fox B (also upside down), Fox A got flipped right side up (somehow) while Fox B stayed upside down.
 
Guys, it's not that hard.

Gray Fox was carrying Yella Fox, when he went passed the gravity flipper, thus enducing gravity flip. Now, it's clear that Yella Fox was still being carried, hence his apperance. Simple, no?
 
I MAY have a more in-depth reason for this happening. But before I say anything, are you able to reproduce this?
 
I feel compelled to at least try and fix this.
WEREHOG, if you say you can reproduce the bug, would you be willing to make a video demonstrating so?
 
Is this so hard to comprehend? When Tails is carrying someone and drops to the floor, the carried player will ALWAYS touch the floor before Tails does, making him get off. If Tails's gravity is inverse to that of the carried player, though, then Tails drops to the "ceiling" and the carried player never touches the floor, therefore never letting go.

Simple fix: make players automatically drop off when Tails goes out of the flying state.
 
You know... unless the "hat" player is unable to let go and is stuck attached to the head of the other player, I personally think this should be kept. Mostly because I'm getting this hilarious mental image of someone running around with someone else holding on to him for dear life.
 
When Tails is carrying someone and drops to the floor, the carried player will ALWAYS touch the floor before Tails does, making him get off.
<...>
Simple fix: make players automatically drop off when Tails goes out of the flying state.
Firstly, how about the infamous teeter+carry (Knuckles being able to carry other players) bug that was fixed way back when? A Tails player carrying another player could land on a ledge, therefore be on the ground before the carried player. That carried player would proceed to drop because the Tails player would not be in the nessasary Player state frames, as explained below..

http://srb2.pastebin.com/f01sMVFH (Beginning in P_Map.c; Line 507)
Code:
            else if (tmthing->player->powers[pw_tailsfly]
                    || (tmthing->player->charability == CA_FLY && (tmthing->state == &states[S_PLAY_SPC1] || tmthing->state == &states[S_PLAY_SPC2] || tmthing->state == &states[S_PLAY_SPC3] || tmthing->state == &states[S_PLAY_SPC4])))
            {
                <...>
            }
                else
                    thing->player->pflags &= ~PF_CARRIED;
Secondly, as this small block of code explains, this shouldn't be happening in the first place. This is why I requested WEREHOG to post a video demonstrating the bug.

If I'm reading over something you may have stated, then please do clarify.
 
Last edited:
Why not just force the carried player to have the same MFE_VERTICALFLIP as the carrier?
 
I actually like this it is funny. Please leave it unless it is a nasty sort of bug.
I can't make a video but the guy who was a hat can make it. Now I just wait for the server to open up.
 
p_map.c:511
Code:
if ((tmthing->player->pflags & PF_CARRIED) && tmthing->tracer == thing)
	return true;
else if ((thing->player->pflags & PF_CARRIED) && thing->tracer == tmthing)
	return true;
Right off the bat, none of the code in p_map.c runs after the two players are already carrier and carried. So all that extensive testing you see before you only applies before the players are holding on to each other. Once it happens, all of it is ignored and control passes over to p_user.c:10283, which, incidentally, has no fancy testing for each of the 4 flying states, just that you shouldn't be able to hang onto dead/hurt players or while your feet can still touch the ground.

None of those things are happening in that screenshot, so it's no wonder Tails becomes a hat.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top