From c0ffbdafce4100d7e8fd8560bc8821b2e1d44b6c Mon Sep 17 00:00:00 2001 From: mazmazz Date: Fri, 7 Sep 2018 08:56:53 -0400 Subject: [PATCH] Revert "Ideya fixes when a player has more than one Ideya" This reverts commit e3facccb9d624c4d390eddca99cc7e258676f852. --- src/p_inter.c | 11 +++-------- src/p_mobj.c | 1 - src/p_user.c | 10 ---------- 3 files changed, 3 insertions(+), 19 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index 135dfa2e8..4c9bba896 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -799,15 +799,10 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) if (toucher->tracer) // Move the ideya over to the drone! { mobj_t *hnext = special->hnext; - P_SetTarget(&special->hnext, toucher->tracer); - if (!special->hnext->hnext) - P_SetTarget(&special->hnext->hnext, hnext); // Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo. - else - P_SetTarget(&special->hnext->hnext->target, special); + P_SetTarget(&special->hnext->hnext, hnext); // Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo. P_SetTarget(&special->hnext->target, special); P_SetTarget(&toucher->tracer, NULL); - if (hnext) { special->hnext->extravalue1 = (angle_t)(hnext->extravalue1 - 72*ANG1); @@ -966,8 +961,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) if (player->powers[pw_carry] == CR_NIGHTSMODE && !toucher->target) return; - if (toucher->tracer && toucher->tracer->health > 0) - return; // Don't have multiple ideya, unless it's the first one given (health = 0) + if (toucher->tracer && toucher->tracer->state-states > S_ORBIDYA1) + return; // Don't have multiple ideya, unless it's the first one given if (player->mare != special->threshold) // wrong mare return; diff --git a/src/p_mobj.c b/src/p_mobj.c index fb354e79b..6aec4bdd6 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -9500,7 +9500,6 @@ void P_SpawnPlayer(INT32 playernum) if (p == players) // this is totally the wrong place to do this aaargh. { mobj_t *idya = P_SpawnMobjFromMobj(mobj, 0, 0, mobj->height, MT_GOTEMERALD); - idya->health = 0; // for identification P_SetTarget(&idya->target, mobj); P_SetMobjState(idya, mobjinfo[MT_GOTEMERALD].missilestate); P_SetTarget(&mobj->tracer, idya); diff --git a/src/p_user.c b/src/p_user.c index f471d567c..921bd95d9 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -6143,7 +6143,6 @@ static void P_DoNiGHTSCapsule(player_t *player) UINT8 em = P_GetNextEmerald(); // Only give it to ONE person, and THAT player has to get to the goal! mobj_t *emmo = P_SpawnMobjFromMobj(player->mo, 0, 0, player->mo->height, MT_GOTEMERALD); - emmo->health = em; // for identification P_SetTarget(&emmo->target, player->mo); P_SetMobjState(emmo, mobjinfo[MT_GOTEMERALD].meleestate + em); P_SetTarget(&player->mo->tracer, emmo); @@ -6170,17 +6169,8 @@ static void P_DoNiGHTSCapsule(player_t *player) }*/ mobj_t *idya = P_SpawnMobjFromMobj(player->mo, 0, 0, player->mo->height, MT_GOTEMERALD); idya->extravalue2 = player->mare/5; - idya->health = player->mare + 1; // for identification P_SetTarget(&idya->target, player->mo); P_SetMobjState(idya, mobjinfo[MT_GOTEMERALD].missilestate + ((player->mare + 1) % 5)); - - if (player->mo->tracer) - { - P_SetTarget(&idya->hnext, player->mo->tracer); - idya->extravalue1 = (angle_t)(player->mo->tracer->extravalue1 - 72*ANG1); - if (idya->extravalue1 > player->mo->tracer->extravalue1) - idya->extravalue1 -= (72*ANG1)/idya->extravalue1; - } P_SetTarget(&player->mo->tracer, idya); } for (i = 0; i < MAXPLAYERS; i++)