diff --git a/src/k_kart.c b/src/k_kart.c index 2039a148f..c4c70cb35 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -4328,6 +4328,7 @@ mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t mapthing, mo->momz = HEIGHT*P_MobjFlip(mo); mo->momx = player->mo->momx + FixedMul(FINECOSINE(fa), PROJSPEED*dir); mo->momy = player->mo->momy + FixedMul(FINESINE(fa), PROJSPEED*dir); + mo->angle = player->mo->angle; mo->extravalue2 = dir; @@ -4357,6 +4358,9 @@ mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t mapthing, newx = lasttrail->x; newy = lasttrail->y; newz = lasttrail->z; + + // Bananablind + newangle = lasttrail->angle; } else { @@ -4374,6 +4378,7 @@ mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t mapthing, K_FlipFromObject(mo, player->mo); mo->threshold = 10; + mo->angle = newangle; P_SetTarget(&mo->target, player->mo); if (P_IsObjectOnGround(player->mo)) @@ -5701,6 +5706,7 @@ static void K_MoveHeldObjects(player_t *player) mobj_t *cur = player->mo->hnext; mobj_t *curnext; mobj_t *targ = player->mo; + UINT16 pcolor = player->skincolor; if (P_IsObjectOnGround(player->mo) && player->speed > 0) player->bananadrag++; @@ -5719,6 +5725,10 @@ static void K_MoveHeldObjects(player_t *player) // Decided that this should use their "canon" color. cur->color = SKINCOLOR_BLACK; } + else if (cur->type == MT_BANANA_SHIELD) + { + cur->color = pcolor; + } cur->flags &= ~MF_NOCLIPTHING; @@ -10252,7 +10262,10 @@ void K_MoveKartPlayer(player_t *player, boolean onground) else if (ATTACK_IS_DOWN && (player->itemflags & IF_ITEMOUT)) // Banana x3 thrown { player->itemamount--; - K_ThrowKartItem(player, false, MT_BANANA, -1, 0); + + mobj_t *mo = K_ThrowKartItem(player, false, MT_BANANA, -1, 0); + mo->color = player->skincolor; + K_PlayAttackTaunt(player->mo); K_UpdateHnextList(player, false); K_BotResetItemConfirm(player, false);