- The player can skid with 0 x-speed:
- Spoiler
This may not look as a bit deal but it REALLY is. When you try to make the player not move, he/she still can skid.- Spoiler
(Code is below)
And not only that but I have a couple of scripts where the player is able to skid without x-speed. - Some things regarding hard-falling with the Propeller Suit.
a. The player shouldn't be able to hit blocks by hard-falling (falling with down key pressed) if the ground pound s disabledi. So the ground pound should be enabled first in order to be able to hit blocks this way. Why? Because it currently breaks some level designs where the creator was not expecting the player to perform a pseudo ground pound over blocks. Take this level for example. Breaking block this way is fine in NSMBwii/U/SMM since players can already perform a ground pound, therefore it won't change the mechanics. But this won't quite work in SMBX, at least, now that we're used the ground pound not doing that by default.
b. While flying, you can't move as soon as you press down. The problem is, this only should happen when the player is descending (ysp>0), not ascending.- Spoiler
c. You can still move a bit when performing a hard fall (pressing down key):- Spoiler
- I was pressing "down" the whole gif:
This happens because even if the player x-speed is 0, just for a single frame the player still can move. To fix that, I recommend use this code, so the player can't move in the horizontally at all:Code: Select all
do
if not char(1).xsp = 0 then
select case char(1).id
case 0
char(1).x -= 0.1 * sgn(char(1).xsp)
case 1
char(1).x -= 0.0825 * sgn(char(1).xsp)
case 2
char(1).x -= 0.8425 * sgn(char(1).xsp)
case 3
char(1).x -= 0.11575 * sgn(char(1).xsp)
case 4
char(1).x -= 0.1 * sgn(char(1).xsp)
end select
char(1).xsp = 0
end
call sleep(1)
loop
By the way, this is the code I was talking about it #1. If you face the opposite direction the player will start skidding.
d. When you press down to fall hard, it not only should increase the maximum falling speed, but also increase the character current y-speed. If the character y-speed is < 4 then set its y-speed to 4 (do this at the very start of the hard-falling, i.e when the player pressed down key and was descending).
If implemented correctly the result will look like this:- Spoiler
e. When the player flew with the Propeller Suit (spin-jumped), it's maximum falling speed should be always set to 2.9 even when the player is not holding "alt-jump". When the player swims, climbs, gains any height (bounced on something), landed or mounted a vehicle (Shoes or Yoshies), his flying status is cancelled.
For example in these cases the should switch back to the normal jump (explained above why):- Spoiler
Currently, in SMBX you have to press "alt-run" in order to fall slower, but in the original games this is not needed. What happens in these games when you press the button you used to perform the fly, it only plays an animation (and a sound effect which can be found in the standalone I suggested for the next version)- Spoiler
f. In fact, in NSMBwii/U/MM the propeller suit flight is not considered a spin jump:- Spoiler
That's why the correct interaction when stomping an enemy should be lose this fly status (what I pointed in e).
g. When the player is hard-falling and hit a block:- Please remove the effect-75, it looks bad:
- Spoiler
- Produce the sound effect "block-hit" too (it only plays "block-smashed").
- Make npcs in the blocks being generated downwards, and make the block also move downwards (just like normal ground pound)
- I noticed something odd with the new effect of block destruction.
The brick pieces follows this trajectory:- Spoiler
So the left bricks move to the right and vice versa.
Instead of fixing the trajectory, I'd like to suggest a new code which adds a bit of randomness to the effects (I looked at the source code of 1.3 and tried to make the effect physics as similar as I could):Code: Select all
call fxcreate(1, .x, .y, -(2.5-rnd*1.35), -10.5+rnd*1.35, 15, 4, 0, 0, 0) '1
call fxcreate(1, .x, .y+16, -(2.5-rnd*1.35), -7+rnd*1.35, 15, 4, 0, 0, 0) '2
call fxcreate(1, .x+16, .y, 2.5-rnd*1.35, -10.5+rnd*1.35, 15, 4, 0, 0, 0) '3
call fxcreate(1, .x+16, .y+16, (2.5-rnd*1.35), -7+rnd*1.35, 15, 4, 0, 0, 0) '4- Spoiler
- Talking about effects, I suggest increasing their max falling speed to 11, like in SMBX 1.3. And I also suggest set their acceleration per frame to 0.46.




















