From 3dba084fd906e13193583cc06b9349666585840f Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Wed, 24 Oct 2018 17:16:32 -0400 Subject: [PATCH 1/3] Give karma items their own hitbox size Bombs & fakes get 24, items get 36. Technically a slight nerf to bomb, but it's more consistent and it's so tiny of a change that it'll be unnoticeable I feel :V --- src/info.c | 2 +- src/p_mobj.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/info.c b/src/info.c index 2efa68ab..00c69158 100644 --- a/src/info.c +++ b/src/info.c @@ -17174,7 +17174,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/p_mobj.c b/src/p_mobj.c index 84163f1c..2e287da0 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8395,6 +8395,13 @@ void P_MobjThinker(mobj_t *mobj) mobj->color = mobj->target->color; mobj->colorized = (mobj->target->player->kartstuff[k_comebackmode]); + // 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 (mobj->state != &states[mobj->info->spawnstate]) From 43c6e256684d711ffb3f8e50a3aa03e7ea5bead0 Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Wed, 24 Oct 2018 17:22:58 -0400 Subject: [PATCH 2/3] Update SPB hitbox too Even more consistency! --- src/info.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/info.c b/src/info.c index 5868059a..3db96ae2 100644 --- a/src/info.c +++ b/src/info.c @@ -15395,8 +15395,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 From ac9e00a425fd844edd66a3d115fcdcb076bd7fbd Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Wed, 24 Oct 2018 17:29:13 -0400 Subject: [PATCH 3/3] Karma point changes - Number of points needed to come back is now 2. - Bombs no longer give extra points. --- src/k_kart.c | 4 ++-- src/p_inter.c | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 45b5b0ef..2013aebf 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -6515,7 +6515,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 { @@ -6528,7 +6528,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 c1bcbf53..eca0df90 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -509,8 +509,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; @@ -525,7 +525,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; @@ -549,14 +549,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;