diff --git a/src/info.c b/src/info.c index 4cf3d845..cde74cee 100644 --- a/src/info.c +++ b/src/info.c @@ -15457,8 +15457,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL, // xdeathstate sfx_s3k5d, // deathsound 64*FRACUNIT, // speed - 16*FRACUNIT, // radius - 32*FRACUNIT, // height + 24*FRACUNIT, // radius + 48*FRACUNIT, // height 0, // display offset 100, // mass 1, // damage @@ -17239,7 +17239,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL, // xdeathstate sfx_None, // deathsound 0, // speed - 26*FRACUNIT, // radius + 24*FRACUNIT, // radius 52*FRACUNIT, // height -1, // display offset 0, // mass diff --git a/src/k_kart.c b/src/k_kart.c index af3e5d87..76670f17 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6523,7 +6523,7 @@ static void K_drawKartBumpersOrKarma(void) if (stplyr->kartstuff[k_bumper] <= 0) { V_DrawMappedPatch(LAPS_X, LAPS_Y-1, V_HUDTRANS|splitflags, kp_splitkarmabomb, colormap); - V_DrawString(LAPS_X+13, LAPS_Y+1, V_HUDTRANS|splitflags, va("%d/3", stplyr->kartstuff[k_comebackpoints])); + V_DrawString(LAPS_X+13, LAPS_Y+1, V_HUDTRANS|splitflags, va("%d/2", stplyr->kartstuff[k_comebackpoints])); } else { @@ -6536,7 +6536,7 @@ static void K_drawKartBumpersOrKarma(void) if (stplyr->kartstuff[k_bumper] <= 0) { V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|splitflags, kp_karmasticker, colormap); - V_DrawKartString(LAPS_X+59, LAPS_Y+3, V_HUDTRANS|splitflags, va("%d/3", stplyr->kartstuff[k_comebackpoints])); + V_DrawKartString(LAPS_X+59, LAPS_Y+3, V_HUDTRANS|splitflags, va("%d/2", stplyr->kartstuff[k_comebackpoints])); } else { diff --git a/src/p_inter.c b/src/p_inter.c index 01abb216..af5dc5b1 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -519,8 +519,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) special->target->player->kartstuff[k_comebackpoints]++; } - special->target->player->kartstuff[k_comebackpoints] += 2 * (K_IsPlayerWanted(player) ? 2 : 1); - if (special->target->player->kartstuff[k_comebackpoints] >= 3) + special->target->player->kartstuff[k_comebackpoints] += (K_IsPlayerWanted(player) ? 2 : 1); + if (special->target->player->kartstuff[k_comebackpoints] >= 2) K_StealBumper(special->target->player, player, true); special->target->player->kartstuff[k_comebacktimer] = comebacktime; @@ -535,7 +535,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) special->target->player->kartstuff[k_comebackmode] = 0; special->target->player->kartstuff[k_comebackpoints]++; - if (special->target->player->kartstuff[k_comebackpoints] >= 3) + if (special->target->player->kartstuff[k_comebackpoints] >= 2) K_StealBumper(special->target->player, player, true); special->target->player->kartstuff[k_comebacktimer] = comebacktime; @@ -559,14 +559,14 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) numingame++; } - if (numingame <= 2) // If so, then an extra two karma points so they are 100% certain to switch places; it's annoying to end matches with a fake kill - special->target->player->kartstuff[k_comebackpoints] += 2; + if (numingame <= 2) // If so, then an extra karma point so they are 100% certain to switch places; it's annoying to end matches with a fake kill + special->target->player->kartstuff[k_comebackpoints]++; } special->target->player->kartstuff[k_comebackmode] = 0; special->target->player->kartstuff[k_comebackpoints]++; - if (special->target->player->kartstuff[k_comebackpoints] >= 3) + if (special->target->player->kartstuff[k_comebackpoints] >= 2) K_StealBumper(special->target->player, player, true); special->target->player->kartstuff[k_comebacktimer] = comebacktime; diff --git a/src/p_mobj.c b/src/p_mobj.c index da0af87b..5de7e246 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8408,6 +8408,13 @@ void P_MobjThinker(mobj_t *mobj) mobj->color = mobj->target->color; mobj->colorized = true; + // Give items an item-sized hitbox + if (mobj->target->player->kartstuff[k_comebackmode] == 1) + mobj->radius = 36*mobj->target->scale; + else + mobj->radius = 24*mobj->target->scale; + mobj->height = 2*mobj->radius; + if (mobj->target->player->kartstuff[k_comebacktimer] > 0) { if (state < mobj->info->spawnstate || state > mobj->info->spawnstate+19)