Update to latest script version

This commit is contained in:
lachwright 2019-11-18 11:22:27 +08:00
parent 7c54eb416e
commit 85c9b0c27f

View file

@ -153,7 +153,7 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
thinkfly = true; thinkfly = true;
else else
thinkfly = false; thinkfly = false;
// Ready for takeoff // Ready for takeoff
if (flymode == 1) if (flymode == 1)
{ {
@ -180,7 +180,7 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
player->pflags &= ~PF_JUMPED; player->pflags &= ~PF_JUMPED;
} }
} }
// Read player inputs // Read player inputs while carrying
else if (flymode == 2) else if (flymode == 2)
{ {
cmd->forwardmove = pcmd->forwardmove; cmd->forwardmove = pcmd->forwardmove;
@ -203,10 +203,10 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
} }
} }
} }
if (flymode && P_IsObjectOnGround(tails) && !(pcmd->buttons & BT_JUMP)) if (flymode && P_IsObjectOnGround(tails) && !(pcmd->buttons & BT_JUMP))
flymode = 0; flymode = 0;
// ******** // ********
// SPINNING // SPINNING
if (panic || flymode || !(player->pflags & PF_SPINNING) || (player->pflags & PF_JUMPED)) if (panic || flymode || !(player->pflags & PF_SPINNING) || (player->pflags & PF_JUMPED))
@ -234,7 +234,7 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
spinmode = true; spinmode = true;
} }
else else
spinmode = 0; spinmode = false;
} }
// Spin // Spin
else if (player->dashspeed == bot->dashspeed && player->pflags & PF_SPINNING) else if (player->dashspeed == bot->dashspeed && player->pflags & PF_SPINNING)
@ -253,14 +253,15 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
// 2D mode // 2D mode
else else
{ {
if ((player->dashspeed && !bmom) || (player->dashspeed == bot->dashspeed && player->pflags & PF_SPINNING)) if (((player->dashspeed && !bmom) || (player->dashspeed == bot->dashspeed && (player->pflags & PF_SPINNING)))
&& ((bot->pflags & PF_SPINNING) || !spin_last))
{ {
spin = true; spin = true;
spinmode = true; spinmode = true;
} }
} }
} }
// ******** // ********
// FOLLOW // FOLLOW
if (!(flymode || spinmode)) if (!(flymode || spinmode))
@ -288,7 +289,7 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
{ {
// Copy inputs // Copy inputs
cmd->angleturn = (sonic->angle - tails->angle) >> FRACBITS; cmd->angleturn = (sonic->angle - tails->angle) >> FRACBITS;
bot->drawangle = player->drawangle; bot->drawangle = ang;
cmd->forwardmove = 8 * pcmd->forwardmove / 10; cmd->forwardmove = 8 * pcmd->forwardmove / 10;
cmd->sidemove = 8 * pcmd->sidemove / 10; cmd->sidemove = 8 * pcmd->sidemove / 10;
} }
@ -301,21 +302,22 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
// Flying catch-up // Flying catch-up
if (bot->pflags & PF_THOKKED) if (bot->pflags & PF_THOKKED)
{ {
cmd->forwardmove = min(50, dist/scale/8); cmd->forwardmove = min(MAXPLMOVE, (dist/scale)>>3);
if (zdist < -64*scale) if (zdist < -64*scale)
spin = true; spin = true;
else if (zdist > 0 && !jump_last) else if (zdist > 0 && !jump_last)
jump = true; jump = true;
} }
// Just landed // Just landed
if (tails->eflags & MFE_JUSTHITFLOOR) if (tails->eflags & MFE_JUSTHITFLOOR)
jump = false; jump = false;
// Start jump // Start jump
else if (!jump_last && !(bot->pflags & PF_JUMPED) && !(player->pflags & PF_SPINNING) else if (!jump_last && !(bot->pflags & PF_JUMPED) //&& !(player->pflags & PF_SPINNING)
&& ((zdist > 32*scale && player->pflags & PF_JUMPED) // Following && ((zdist > 32*scale && player->pflags & PF_JUMPED) // Following
|| (zdist > 64*scale && panic) // Vertical catch-up || (zdist > 64*scale && panic) // Vertical catch-up
|| (bmom < scale>>3 && dist > followthres && !(bot->powers[pw_carry])) // Stopped & not in carry state || (stalled && anxiety > 20 && bot->powers[pw_carry] == CR_NONE)
//|| (bmom < scale>>3 && dist > followthres && !(bot->powers[pw_carry])) // Stopped & not in carry state
|| (bot->pflags & PF_SPINNING && !(bot->pflags & PF_JUMPED)))) // Spinning || (bot->pflags & PF_SPINNING && !(bot->pflags & PF_JUMPED)))) // Spinning
jump = true; jump = true;
// Hold jump // Hold jump
@ -325,12 +327,12 @@ static inline void B_BuildTailsTiccmd(mobj_t *sonic, mobj_t *tails, ticcmd_t *cm
else if (bot->pflags & PF_JUMPED && panic && !jump_last) else if (bot->pflags & PF_JUMPED && panic && !jump_last)
jump = true; jump = true;
} }
// ******** // ********
// HISTORY // HISTORY
jump_last = jump; jump_last = jump;
spin_last = spin; spin_last = spin;
// ******** // ********
// Thinkfly overlay // Thinkfly overlay
// doing this later :P // doing this later :P