New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Movement Hero/Vehicles #1404

Merged
merged 5 commits into from Sep 22, 2018

Conversation

Projects
None yet
4 participants
@Albeleon
Member

Albeleon commented Jul 15, 2018

No description provided.

Albeleon added some commits Jul 15, 2018

Hero in boat/ship can land in a terrain with Boat/ship.
Problem: In RPG_RT, if a boat/ship is in landable terrain, you can land on it despite the boat/ship being unpassable by the character normally. In EasyRPG, it's forbidden.

Solution: Add the possibility when getting off the vehicle for boats and ships.
Forbid menu_calling input when hero has move route blocked.
Problem: In RPG_RT, if the hero has a movement blocked and it doesn't skip it until it finishes it, meanwhile you can't access manually the menu.
Events can't pass through boats or ships.
Problem: In RPG_RT, boats and ships have "Same as character" priority and events shouldn't pass through them. This was supposed to be implemented, but a few erroneous data made the  function impossible ("!self.IsInPosition(x,y)" will always be false for example).
When entering in boat/ship, not synchronize vehicle until the hero is…
… inside

Problem: In RPG_RT, the character moves to the vehicle, then disappears and then the vehicle synchronizes with the hero's movement. In EasyRPG, the vehicle synchronizes before the character has moved towards it, so it teleports and moves even then.

Solution: This happens because the function SyncWithPlayer, which only Game_Player should execute once it's boarded inside, it's used every turn in Game_Vehicle needlessly, rendering the other call useless. It's taken away.
if (!CanWalk(front_x, front_y))
if (!CanWalk(front_x, front_y)
&& !Game_Map::GetVehicle(Game_Vehicle::Boat)->IsInPosition(front_x, front_y)
&& !Game_Map::GetVehicle(Game_Vehicle::Ship)->IsInPosition(front_x, front_y))

This comment has been minimized.

@Ghabry

Ghabry Jul 29, 2018

Member

For me this looks more like a bug than expected behaviour but because this only happens when Water is walkable it doesn't really matter if we support this or not so I'm fine with it.

@Ghabry

Ghabry approved these changes Jul 29, 2018

I'm fine with solution 2 for the DEBATABLE commit, just remove DEBATABLE now :D

@Ghabry Ghabry added this to the 0.5.4 milestone Sep 8, 2018

Vehicle follows the hero's direction when entering.
Problem: Just as described in #1403 when entering a vehicle the sprite is facing left but the hero is facing the direction in which entered. This problem disappears once you move, but not before. Out of the three solutions after talking, we've decided to apply n.2 (vehicle follows hero's direction) until we find a game that uses n.1 to its advantage.

Solution: Change the vehicle direction to the character's direction instead of the other way around.
@Ghabry

Ghabry approved these changes Sep 19, 2018

@carstene1ns carstene1ns merged commit 2f2a018 into EasyRPG:master Sep 22, 2018

7 checks passed

Android (armeabi-v7a) Build finished.
Details
GCW0 Build finished.
Details
GNU/Linux Build finished.
Details
OSX Build finished.
Details
Windows (x64) Build finished.
Details
Windows (x86) Build finished.
Details
web Build finished.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment