diff --git a/src/d_main.cpp b/src/d_main.cpp index 65adb3c1b..9e3f6bfec 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -81,7 +81,7 @@ #include // Put hashes here to get them out of header hell. -#define ASSET_HASH_MAIN_PK3 0x5279ddf80ca46f97 +#define ASSET_HASH_MAIN_PK3 0xae19fdf0a8e4d9a4 #define ASSET_HASH_SRB2_SRB 0xf3ec1ea4d0eca4a9 #define ASSET_HASH_GFX_KART 0xc91b0d43f5ba131f #define ASSET_HASH_TEXTURES_KART 0xb4211b2f32b6a291 diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 702598bb6..f0f6eea77 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -388,7 +388,6 @@ consvar_t cv_superring = CVAR_INIT ("superring", "On", CV_NETVAR|CV_CHEAT, consvar_t cv_landmine = CVAR_INIT ("landmine", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_bubbleshield = CVAR_INIT ("bubbleshield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_flameshield = CVAR_INIT ("flameshield", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); -consvar_t cv_droptarget = CVAR_INIT ("droptarget", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_dualsneaker = CVAR_INIT ("dualsneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); consvar_t cv_triplesneaker = CVAR_INIT ("triplesneaker", "On", CV_NETVAR|CV_CHEAT, CV_OnOff, NULL); diff --git a/src/d_netcmd.h b/src/d_netcmd.h index 8f7758de3..43761bd3b 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -91,8 +91,7 @@ extern consvar_t cv_superring, cv_landmine, cv_bubbleshield, - cv_flameshield, - cv_droptarget; + cv_flameshield; extern consvar_t cv_dualsneaker, diff --git a/src/d_player.h b/src/d_player.h index 674a69e92..10bb48875 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -162,8 +162,7 @@ Run this macro, then #undef FOREACH afterward FOREACH (SUPERRING, 17),\ FOREACH (LANDMINE, 18),\ FOREACH (BUBBLESHIELD, 19),\ - FOREACH (FLAMESHIELD, 20),\ - FOREACH (DROPTARGET, 21) + FOREACH (FLAMESHIELD, 20) typedef enum { diff --git a/src/info/mobjs.h b/src/info/mobjs.h index 660814b21..f35657ba5 100644 --- a/src/info/mobjs.h +++ b/src/info/mobjs.h @@ -604,9 +604,6 @@ _(BOOMPARTICLE) _(LANDMINE) // Land Mine -_(DROPTARGET) // Drop Target -_(DROPTARGET_SHIELD) - _(BALLHOG) // Ballhog _(BALLHOGBOOM) diff --git a/src/info/sounds.h b/src/info/sounds.h index 5eeac7ecc..f3e786126 100644 --- a/src/info/sounds.h +++ b/src/info/sounds.h @@ -847,11 +847,6 @@ _(typri1) _(typri2) _(eggspr) -// SRB2Kart - Drop target sounds -_(kdtrg1) -_(kdtrg2) -_(kdtrg3) - // Chaining Sound _(bstchn) diff --git a/src/info/sprites.h b/src/info/sprites.h index aaf27e609..4723e29cb 100644 --- a/src/info/sprites.h +++ b/src/info/sprites.h @@ -442,7 +442,6 @@ _(JAWZ) // Jawz _(SSMN) // SS Mine _(KRBM) // SS Mine BOOM _(LNDM) // Land Mine -_(DTRG) // Drop Target _(BHOG) // Ballhog _(BHBM) // Ballhog BOOM _(SPBM) // Self-Propelled Bomb diff --git a/src/info/states.h b/src/info/states.h index c55459214..d95d856c1 100644 --- a/src/info/states.h +++ b/src/info/states.h @@ -2815,10 +2815,6 @@ _(SLOWBOOM10) _(LANDMINE) _(LANDMINE_EXPLODE) -// Drop Target -_(DROPTARGET) -_(DROPTARGET_SPIN) - // Ballhog _(BALLHOG1) _(BALLHOG2) diff --git a/src/k_botitem.cpp b/src/k_botitem.cpp index f99fe9cc3..b7a6ad8ee 100644 --- a/src/k_botitem.cpp +++ b/src/k_botitem.cpp @@ -1028,73 +1028,6 @@ static void K_BotItemBallhog(player_t *player, ticcmd_t *cmd) } } -/*-------------------------------------------------- - static void K_BotItemDropTarget(const player_t *player, ticcmd_t *cmd, INT16 turnamt) - - Item usage for Drop Target throwing. - - Input Arguments:- - player - Bot to do this for. - cmd - Bot's ticcmd to edit. - turnamt - How hard they currently are turning. - - Return:- - None ---------------------------------------------------*/ -static void K_BotItemDropTarget(player_t *player, ticcmd_t *cmd, INT16 turnamt) -{ - ZoneScoped; - - const fixed_t topspeed = K_GetKartSpeed(player, false, true); - fixed_t radius = FixedMul(1280 * mapobjectscale, K_GetKartGameSpeedScalar(gamespeed)); - SINT8 throwdir = -1; - boolean tryLookback = false; - UINT8 snipeMul = 2; - player_t *target = NULL; - - if (player->speed > topspeed) - { - radius = FixedMul(radius, FixedDiv(player->speed, topspeed)); - snipeMul = 3; // Confirm faster when you'll throw it with a bunch of extra speed!! - } - - cmd->bot.itemconfirm++; - - if (abs(turnamt) >= KART_FULLTURN/2) - { - cmd->bot.itemconfirm += player->botvars.difficulty / 2; - throwdir = -1; - } - - target = K_PlayerInCone(player, radius, 15, false); - if (target != NULL) - { - K_ItemConfirmForTarget(player, cmd, target, player->botvars.difficulty * snipeMul); - throwdir = 1; - } - else - { - target = K_PlayerInCone(player, radius, 15, true); - - if (target != NULL) - { - K_ItemConfirmForTarget(player, cmd, target, player->botvars.difficulty); - throwdir = -1; - tryLookback = true; - } - } - - if (tryLookback == true && throwdir == -1) - { - cmd->buttons |= BT_LOOKBACK; - } - - if (player->botvars.itemconfirm > 10*TICRATE || player->bananadrag >= TICRATE) - { - K_BotGenericPressItem(player, cmd, throwdir); - } -} - /*-------------------------------------------------- static void K_BotItemJawz(const player_t *player, ticcmd_t *cmd) @@ -1559,16 +1492,6 @@ void K_BotItemUsage(player_t *player, ticcmd_t *cmd, INT16 turnamt) case KITEM_BALLHOG: K_BotItemBallhog(player, cmd); break; - case KITEM_DROPTARGET: - if (!(player->itemflags & IF_ITEMOUT)) - { - K_BotItemGenericTrapShield(player, cmd, turnamt, false); - } - else - { - K_BotItemDropTarget(player, cmd, turnamt); - } - break; case KITEM_THUNDERSHIELD: K_BotItemLightning(player, cmd); break; diff --git a/src/k_botsearch.cpp b/src/k_botsearch.cpp index ff7fc313f..21233698d 100644 --- a/src/k_botsearch.cpp +++ b/src/k_botsearch.cpp @@ -465,8 +465,6 @@ static BlockItReturn_t K_FindObjectsForNudging(mobj_t *thing) case MT_SSMINE: case MT_SSMINE_SHIELD: case MT_LANDMINE: - case MT_DROPTARGET: - case MT_DROPTARGET_SHIELD: case MT_BALLHOG: case MT_SPB: case MT_BUBBLESHIELDTRAP: diff --git a/src/k_collide.c b/src/k_collide.c index bc08097f7..ddda7694d 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -430,113 +430,6 @@ boolean K_LandMineCollide(mobj_t *t1, mobj_t *t2) return true; } -boolean K_DropTargetCollide(mobj_t *t1, mobj_t *t2) -{ - mobj_t *draggeddroptarget = (t1->type == MT_DROPTARGET_SHIELD) ? t1->target : NULL; - - if (((t1->target == t2) || (t1->target == t2->target)) && ((t1->threshold > 0 && t2->type == MT_PLAYER) || (t2->type != MT_PLAYER && t2->threshold > 0))) - return true; - - if (t1->health <= 0 || t2->health <= 0) - return true; - - if (t2->player && (t2->player->hyudorotimer || t2->player->justbumped)) - return true; - - // Intensify bumps if already spinning... - P_Thrust(t1, R_PointToAngle2(t1->x, t1->y, t2->x, t2->y), - (t1->reactiontime && !draggeddroptarget) ? 35*mapobjectscale : 20*mapobjectscale); - - if (draggeddroptarget) - { - // "Pass through" the shock of the impact, part 1. - t1->momx = t1->target->momx; - t1->momy = t1->target->momy; - t1->momz = t1->target->momz; - } - - { - angle_t t2angle = R_PointToAngle2(t2->momx, t2->momy, 0, 0); - angle_t t2deflect; - fixed_t t1speed, t2speed; - K_KartBouncing(t1, t2, false, false); - t1speed = FixedHypot(t1->momx, t1->momy); - t2speed = FixedHypot(t2->momx, t2->momy); - - t2deflect = t2angle - R_PointToAngle2(0, 0, t2->momx, t2->momy); - if (t2deflect > ANGLE_180) - t2deflect = InvAngle(t2deflect); - if (t2deflect < ANG10) - P_InstaThrust(t2, t2angle, t2speed); - - t1->angle = t1->old_angle = R_PointToAngle2(0, 0, t1->momx, t1->momy); - - t1->reactiontime = 7*(t1speed+t2speed)/mapobjectscale; - if (t1->reactiontime < 10) - t1->reactiontime = 10; - t1->threshold = 10; - } - - t1->renderflags &= ~RF_FULLDARK; // brightest on the bump - - if (draggeddroptarget) - { - // "Pass through" the shock of the impact, part 2. - draggeddroptarget->momx = t1->momx; - draggeddroptarget->momy = t1->momy; - draggeddroptarget->momz = t1->momz; - - // Have the drop target travel between them. - t1->momx = (t1->momx + t2->momx)/2; - t1->momy = (t1->momy + t2->momy)/2; - t1->momz = (t1->momz + t2->momz)/2; - } - - { - mobj_t *ghost = P_SpawnGhostMobj(t1); - - P_SetScale(ghost, 3*ghost->destscale/2); - ghost->destscale = 15*ghost->destscale/2; - ghost->fuse = 10; - ghost->scalespeed = (ghost->destscale - ghost->scale)/ghost->fuse; - } - - t1->flags |= MF_SHOOTABLE; - // The following sets t1->target to t2, so draggeddroptarget keeps it persisting... - P_DamageMobj(t1, t2, (t2->target ? t2->target : t2), 1, DMG_NORMAL); - t1->color = (t1->health > 1) - ? SKINCOLOR_GOLD - : SKINCOLOR_CRIMSON; - t1->flags &= ~MF_SHOOTABLE; - - if (!t2->player) - { - t2->angle += ANGLE_180; - if (t2->type == MT_JAWZ) - P_SetTarget(&t2->tracer, t2->target); // Back to the source! - t2->threshold = 10; - } - - if (t1->reactiontime > 1000) { - S_StartSound(t2, sfx_kdtrg3); - } else if (t1->reactiontime > 500) { - S_StartSound(t2, sfx_kdtrg2); - } else { - S_StartSound(t2, sfx_kdtrg1); - } - - if (draggeddroptarget && draggeddroptarget->player) - { - // The following removes t1, be warned - // (its newly assigned properties are moved across) - K_DropHnextList(draggeddroptarget->player, true); - // Do NOT modify or reference t1 after this line - // I mean it! Do not even absentmindedly try it - } - - return true; -} - static mobj_t *lightningSource; static fixed_t lightningDist; @@ -649,7 +542,7 @@ boolean K_BubbleShieldReflect(mobj_t *t1, mobj_t *t2) { mobj_t *owner = t1->player ? t1 : t1->target; - if (t2->target != owner || !t2->threshold || t2->type == MT_DROPTARGET) + if (t2->target != owner || !t2->threshold) { if (!t2->momx && !t2->momy) { @@ -677,7 +570,6 @@ boolean K_BubbleShieldCanReflect(mobj_t *t1, mobj_t *t2) return (t2->type == MT_ORBINAUT || t2->type == MT_JAWZ || t2->type == MT_BANANA || t2->type == MT_EGGMANITEM || t2->type == MT_BALLHOG || t2->type == MT_SSMINE || t2->type == MT_LANDMINE || t2->type == MT_SINK - || t2->type == MT_DROPTARGET || t2->type == MT_KART_LEFTOVER || (t2->type == MT_PLAYER && t1->target != t2)); } @@ -779,7 +671,6 @@ boolean K_SMKIceBlockCollide(mobj_t *t1, mobj_t *t2) if (t2->type == MT_BANANA || t2->type == MT_BANANA_SHIELD || t2->type == MT_EGGMANITEM || t2->type == MT_EGGMANITEM_SHIELD || t2->type == MT_SSMINE || t2->type == MT_SSMINE_SHIELD - || t2->type == MT_DROPTARGET_SHIELD || t2->type == MT_ORBINAUT_SHIELD || t2->type == MT_JAWZ_SHIELD) return false; diff --git a/src/k_collide.h b/src/k_collide.h index 22670b016..2677f409b 100644 --- a/src/k_collide.h +++ b/src/k_collide.h @@ -15,7 +15,6 @@ boolean K_EggItemCollide(mobj_t *t1, mobj_t *t2); boolean K_MineCollide(mobj_t *t1, mobj_t *t2); boolean K_MineExplosionCollide(mobj_t *t1, mobj_t *t2); boolean K_LandMineCollide(mobj_t *t1, mobj_t *t2); -boolean K_DropTargetCollide(mobj_t *t1, mobj_t *t2); void K_ThunderShieldAttack(mobj_t *actor, fixed_t size); boolean K_BubbleShieldReflect(mobj_t *t1, mobj_t *t2); diff --git a/src/k_hud.c b/src/k_hud.c index c34bd2a67..5428bea48 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -175,7 +175,6 @@ static patch_t *kp_superring[2]; static patch_t *kp_landmine[2]; static patch_t *kp_bubbleshield[2]; static patch_t *kp_flameshield[2]; -static patch_t *kp_droptarget[2]; static patch_t *kp_check[6]; @@ -457,7 +456,6 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_landmine[0], "K_ITLNDM"); HU_UpdatePatch(&kp_bubbleshield[0], "K_ITBUBS"); HU_UpdatePatch(&kp_flameshield[0], "K_ITFLMS"); - HU_UpdatePatch(&kp_droptarget[0], "K_ITDTRG"); // Splitscreen HU_UpdatePatch(&kp_itembg[2], "K_ISBG"); @@ -494,7 +492,6 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_landmine[1], "K_ISLNDM"); HU_UpdatePatch(&kp_bubbleshield[1], "K_ISBUBS"); HU_UpdatePatch(&kp_flameshield[1], "K_ISFLMS"); - HU_UpdatePatch(&kp_droptarget[1], "K_ISDTRG"); // CHECK indicators sprintf(buffer, "K_CHECKx"); @@ -642,8 +639,6 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny) return (tiny ? "K_ISBUBS" : "K_ITBUBS"); case KITEM_FLAMESHIELD: return (tiny ? "K_ISFLMS" : "K_ITFLMS"); - case KITEM_DROPTARGET: - return (tiny ? "K_ISDTRG" : "K_ITDTRG"); case KRITEM_DUALSNEAKER: return (tiny ? "K_ISSHOE" : "K_ITSHO2"); case KRITEM_TRIPLESNEAKER: @@ -688,7 +683,6 @@ static patch_t *K_GetCachedItemPatch(INT32 item, UINT8 offset) kp_landmine, kp_bubbleshield, kp_flameshield, - kp_droptarget, }; if (item == KITEM_SAD || (item > KITEM_NONE && item < NUMKARTITEMS)) diff --git a/src/k_kart.c b/src/k_kart.c index 54d0fb492..4c6bc27dc 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -228,7 +228,6 @@ void K_RegisterKartStuff(void) CV_RegisterVar(&cv_landmine); CV_RegisterVar(&cv_bubbleshield); CV_RegisterVar(&cv_flameshield); - CV_RegisterVar(&cv_droptarget); CV_RegisterVar(&cv_dualsneaker); CV_RegisterVar(&cv_triplesneaker); @@ -412,7 +411,6 @@ consvar_t *KartItemCVars[NUMKARTRESULTS-1] = &cv_landmine, &cv_bubbleshield, &cv_flameshield, - &cv_droptarget, &cv_dualsneaker, &cv_triplesneaker, &cv_triplebanana, @@ -448,7 +446,6 @@ static UINT8 K_KartItemOddsRace[NUMKARTRESULTS-1][8] = { 3, 0, 0, 0, 0, 0, 0, 0 }, // Land Mine { 0, 1, 2, 1, 0, 0, 0, 0 }, // Bubble Shield { 0, 0, 0, 0, 2, 5, 5, 0 }, // Flame Shield - { 1, 0, 0, 0, 0, 0, 0, 0 }, // Drop Target { 0, 0, 3, 4, 3, 0, 0, 0 }, // Sneaker x2 { 0, 0, 0, 1, 5, 6, 3, 0 }, // Sneaker x3 { 0, 1, 1, 0, 0, 0, 0, 0 }, // Banana x3 @@ -481,7 +478,6 @@ static UINT8 K_KartItemOddsBattle[NUMKARTRESULTS][2] = { 2, 0 }, // Land Mine { 1, 0 }, // Bubble Shield { 1, 0 }, // Flame Shield - { 2, 0 }, // Drop Target { 0, 0 }, // Sneaker x2 { 0, 1 }, // Sneaker x3 { 0, 0 }, // Banana x3 @@ -796,7 +792,6 @@ INT32 K_KartGetItemOdds( case KITEM_ROCKETSNEAKER: case KITEM_JAWZ: case KITEM_LANDMINE: - case KITEM_DROPTARGET: case KITEM_BALLHOG: case KRITEM_TRIPLESNEAKER: case KRITEM_TRIPLEORBINAUT: @@ -990,7 +985,6 @@ INT32 K_KartGetLegacyItemOdds(UINT8 pos, SINT8 item, fixed_t mashed, boolean spb case KITEM_JAWZ: case KITEM_BALLHOG: case KITEM_LANDMINE: - case KITEM_DROPTARGET: case KRITEM_TRIPLESNEAKER: case KRITEM_TRIPLEBANANA: case KRITEM_TENFOLDBANANA: @@ -1865,10 +1859,6 @@ fixed_t K_GetMobjWeight(mobj_t *mobj, mobj_t *against) else weight += 3*FRACUNIT; break; - case MT_DROPTARGET: - case MT_DROPTARGET_SHIELD: - if (against->player) - weight = K_PlayerWeight(against, NULL); default: break; } @@ -1896,7 +1886,6 @@ boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean sol || (mobj2->player && mobj2->player->respawn)) return false; - if (mobj1->type != MT_DROPTARGET && mobj1->type != MT_DROPTARGET_SHIELD) { // Don't bump if you're flashing INT32 flash; @@ -3282,9 +3271,7 @@ boolean K_ItemMobjAllowedtoWaterRun(mobj_t *item) case MT_ORBINAUT: case MT_JAWZ: case MT_JAWZ_DUD: - case MT_DROPTARGET: case MT_BANANA_SHIELD: - case MT_DROPTARGET_SHIELD: case MT_SSMINE_SHIELD: return true; break; @@ -3301,7 +3288,6 @@ boolean K_WaterRun(mobj_t *mobj) switch (mobj->type) { case MT_BANANA_SHIELD: - case MT_DROPTARGET_SHIELD: case MT_SSMINE_SHIELD: if (mobj->target && (mobj->target->flags2 & MF2_WATERRUN)) return true; @@ -5130,12 +5116,6 @@ mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t mapthing, // Shoot forward mo = K_SpawnKartMissile(player->mo, mapthing, player->mo->angle, 0, PROJSPEED); } - - if (mapthing == MT_DROPTARGET && mo) - { - mo->reactiontime = TICRATE/2; - P_SetMobjState(mo, mo->info->painstate); - } } } else @@ -5631,8 +5611,7 @@ static void K_DoShrink(player_t *user) if (mobj->type == MT_BANANA_SHIELD || mobj->type == MT_JAWZ_SHIELD || mobj->type == MT_SSMINE_SHIELD || mobj->type == MT_EGGMANITEM_SHIELD || - mobj->type == MT_SINK_SHIELD || mobj->type == MT_ORBINAUT_SHIELD || - mobj->type == MT_DROPTARGET_SHIELD) + mobj->type == MT_SINK_SHIELD || mobj->type == MT_ORBINAUT_SHIELD) { if (mobj->target && mobj->target->player) { @@ -5894,11 +5873,6 @@ void K_DropHnextList(player_t *player, boolean keepshields) dropall = false; type = MT_SSMINE; break; - case MT_DROPTARGET_SHIELD: - orbit = false; - dropall = false; - type = MT_DROPTARGET; - break; case MT_EGGMANITEM_SHIELD: orbit = false; type = MT_EGGMANITEM; @@ -6470,7 +6444,6 @@ static void K_MoveHeldObjects(player_t *player) break; case MT_BANANA_SHIELD: // Kart trailing items case MT_SSMINE_SHIELD: - case MT_DROPTARGET_SHIELD: case MT_EGGMANITEM_SHIELD: case MT_SINK_SHIELD: { @@ -6495,10 +6468,6 @@ static void K_MoveHeldObjects(player_t *player) // Decided that this should use their "canon" color. cur->color = SKINCOLOR_BLACK; } - else if (cur->type == MT_DROPTARGET_SHIELD) - { - cur->renderflags = (cur->renderflags|RF_FULLBRIGHT) ^ RF_FULLDARK; // the difference between semi and fullbright - } cur->flags &= ~MF_NOCLIPTHING; @@ -10343,34 +10312,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground) player->botvars.itemconfirm = 0; } break; - case KITEM_DROPTARGET: - if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO) - { - mobj_t *mo; - K_SetItemOut(player); - S_StartSound(player->mo, sfx_s254); - mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_DROPTARGET_SHIELD); - if (mo) - { - mo->flags |= MF_NOCLIPTHING; - mo->threshold = 10; - mo->movecount = 1; - mo->movedir = 1; - P_SetTarget(&mo->target, player->mo); - P_SetTarget(&player->mo->hnext, mo); - } - player->botvars.itemconfirm = 0; - } - else if (ATTACK_IS_DOWN && (player->itemflags & IF_ITEMOUT)) - { - player->itemamount--; - K_ThrowKartItem(player, (player->throwdir > 0), MT_DROPTARGET, -1, 0); - K_PlayAttackTaunt(player->mo); - player->itemflags &= ~IF_ITEMOUT; - K_UpdateHnextList(player, true); - player->botvars.itemconfirm = 0; - } - break; case KITEM_BALLHOG: if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO) { diff --git a/src/p_inter.c b/src/p_inter.c index ad37fa90a..6be5136b3 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1317,7 +1317,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget && !(target->type == MT_ORBINAUT || target->type == MT_ORBINAUT_SHIELD || target->type == MT_JAWZ || target->type == MT_JAWZ_DUD || target->type == MT_JAWZ_SHIELD || target->type == MT_BANANA || target->type == MT_BANANA_SHIELD - || target->type == MT_DROPTARGET || target->type == MT_DROPTARGET_SHIELD || target->type == MT_EGGMANITEM || target->type == MT_EGGMANITEM_SHIELD || target->type == MT_BALLHOG || target->type == MT_SPB)) // kart dead items target->flags |= MF_NOGRAVITY; // Don't drop Tails 03-08-2000 @@ -1359,7 +1358,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget { if ((target->type == MT_BANANA_SHIELD && target->target->player->itemtype == KITEM_BANANA) // trail items || (target->type == MT_SSMINE_SHIELD && target->target->player->itemtype == KITEM_MINE) - || (target->type == MT_DROPTARGET_SHIELD && target->target->player->itemtype == KITEM_DROPTARGET) || (target->type == MT_SINK_SHIELD && target->target->player->itemtype == KITEM_KITCHENSINK)) { if (target->movedir != 0 && target->movedir < (UINT16)target->target->player->itemamount) @@ -1753,11 +1751,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget } break; - case MT_DROPTARGET: - case MT_DROPTARGET_SHIELD: - target->fuse = 1; - break; - default: break; } diff --git a/src/p_map.c b/src/p_map.c index b5de9cb23..2d653d9af 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -717,41 +717,6 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing) if (thing->type == MT_BUBBLESHIELD || g_tm.thing->type == MT_BUBBLESHIELD) return BMIT_CONTINUE; - // Droptarget reflect - if ((thing->type == MT_DROPTARGET || thing->type == MT_DROPTARGET_SHIELD) - && (g_tm.thing->type == MT_ORBINAUT || g_tm.thing->type == MT_JAWZ || g_tm.thing->type == MT_JAWZ_DUD - || g_tm.thing->type == MT_BANANA || g_tm.thing->type == MT_EGGMANITEM || g_tm.thing->type == MT_BALLHOG - || g_tm.thing->type == MT_SSMINE || g_tm.thing->type == MT_LANDMINE || g_tm.thing->type == MT_SINK - || (g_tm.thing->type == MT_PLAYER))) - { - // see if it went over / under - if (g_tm.thing->z > thing->z + thing->height) - return BMIT_CONTINUE; // overhead - if (g_tm.thing->z + g_tm.thing->height < thing->z) - return BMIT_CONTINUE; // underneath - - return K_DropTargetCollide(thing, g_tm.thing) ? BMIT_CONTINUE : BMIT_ABORT; - } - else if ((g_tm.thing->type == MT_DROPTARGET || g_tm.thing->type == MT_DROPTARGET_SHIELD) - && (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD - || thing->type == MT_BANANA || thing->type == MT_EGGMANITEM || thing->type == MT_BALLHOG - || thing->type == MT_SSMINE || thing->type == MT_LANDMINE || thing->type == MT_SINK - || (thing->type == MT_PLAYER))) - { - // see if it went over / under - if (g_tm.thing->z > thing->z + thing->height) - return BMIT_CONTINUE; // overhead - if (g_tm.thing->z + g_tm.thing->height < thing->z) - return BMIT_CONTINUE; // underneath - - return K_DropTargetCollide(g_tm.thing, thing) ? BMIT_CONTINUE : BMIT_ABORT; - } - - // double make sure drop targets won't collide with anything else - if (thing->type == MT_DROPTARGET || g_tm.thing->type == MT_DROPTARGET - || thing->type == MT_DROPTARGET_SHIELD || g_tm.thing->type == MT_DROPTARGET_SHIELD) - return BMIT_CONTINUE; - if (g_tm.thing->type == MT_ORBINAUT || g_tm.thing->type == MT_JAWZ || g_tm.thing->type == MT_JAWZ_DUD || g_tm.thing->type == MT_ORBINAUT_SHIELD || g_tm.thing->type == MT_JAWZ_SHIELD) { diff --git a/src/p_mobj.c b/src/p_mobj.c index 84a5fadfd..63ff4cff6 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1219,7 +1219,6 @@ fixed_t P_GetMobjGravity(mobj_t *mo) case MT_EGGMANITEM: case MT_SSMINE: case MT_LANDMINE: - case MT_DROPTARGET: case MT_SINK: if (mo->extravalue2 > 0) { @@ -1801,12 +1800,6 @@ void P_XYMovement(mobj_t *mo) S_StartSound(mo, sfx_s3k44); // Bubble bounce break; - case MT_DROPTARGET: - // This prevents an item thrown at a wall from - // phasing through you on its return. - mo->threshold = 0; - break; - default: break; } @@ -6498,7 +6491,6 @@ boolean P_IsKartFieldItem(INT32 type) case MT_BALLHOG: case MT_BUBBLESHIELDTRAP: case MT_SINK: - case MT_DROPTARGET: return true; default: @@ -6512,7 +6504,6 @@ boolean P_IsKartItem(INT32 type) { case MT_EGGMANITEM_SHIELD: case MT_BANANA_SHIELD: - case MT_DROPTARGET_SHIELD: case MT_ORBINAUT_SHIELD: case MT_JAWZ_SHIELD: case MT_SSMINE_SHIELD: @@ -7814,7 +7805,6 @@ static boolean P_MobjDeadThink(mobj_t *mobj) case MT_BANANA: case MT_EGGMANITEM: case MT_LANDMINE: - //case MT_DROPTARGET: case MT_SPB: if (P_IsObjectOnGround(mobj)) { @@ -8600,51 +8590,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj) mobj->health = 1; } - if (mobj->threshold > 0) - mobj->threshold--; - break; - case MT_DROPTARGET: - if (mobj->reactiontime > 0) - { - // Slippery tipping mode. - INT32 slippytip = 1 + (mobj->reactiontime/2); - if (slippytip > 64) - slippytip = 64; - else if (slippytip < 8) - slippytip = 8; - if (!(mobj->health & 1) == !(mobj->flags2 & MF2_AMBUSH)) - { - slippytip = -slippytip; - } - mobj->angle += slippytip*ANG2; - - mobj->friction = ((2*ORIG_FRICTION)+FRACUNIT)/3; // too low still? - - /*if (mobj->momx || mobj->momy || mobj->momz) - { - mobj_t *ghost = P_SpawnGhostMobj(mobj); - ghost->colorized = true; // already has color! - }*/ - - if (!--mobj->reactiontime) - { - P_SetMobjState(mobj, mobj->info->spawnstate); - } - } - else - { - // Time to stop, ramp up the friction... - mobj->friction = ORIG_FRICTION/4; // too high still? - } - - mobj->renderflags = (mobj->renderflags|RF_FULLBRIGHT) ^ RF_FULLDARK; // the difference between semi and fullbright - - if (P_AproxDistance(mobj->momx, mobj->momy) <= 14*mobj->scale) - { - // Not moving fast enough to water run. - mobj->flags2 &= ~MF2_WATERRUN; - } - if (mobj->threshold > 0) mobj->threshold--; break; @@ -10396,8 +10341,7 @@ void P_MobjThinker(mobj_t *mobj) || mobj->type == MT_BIGTUMBLEWEED || mobj->type == MT_LITTLETUMBLEWEED || mobj->type == MT_CANNONBALLDECOR - || mobj->type == MT_FALLINGROCK - || (mobj->type == MT_DROPTARGET && mobj->reactiontime)) + || mobj->type == MT_FALLINGROCK) { P_TryMove(mobj, mobj->x, mobj->y, true, NULL); // Sets mo->standingslope correctly @@ -10696,11 +10640,6 @@ static void P_DefaultMobjShadowScale(mobj_t *thing) thing->shadowscale = 3*FRACUNIT/2; thing->whiteshadow = false; break; - case MT_DROPTARGET: - case MT_DROPTARGET_SHIELD: - thing->shadowscale = 5*FRACUNIT/4; - thing->whiteshadow = true; - break; case MT_THUNDERSHIELD: case MT_BUBBLESHIELD: case MT_BUBBLESHIELDTRAP: @@ -11161,12 +11100,6 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) } } break; - case MT_DROPTARGET: - case MT_DROPTARGET_SHIELD: - mobj->color = SKINCOLOR_LIME; - mobj->colorized = true; - mobj->renderflags |= RF_FULLBRIGHT; - break; case MT_SMK_MOLE: mobj->reactiontime = P_RandomRange(0, 3*mobj->info->reactiontime/2); // Random delay on start of level break;