From 0614a8739ca975d1b486c2947abb2a850be87c72 Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Mon, 10 Oct 2022 10:48:44 -0400 Subject: [PATCH] Duel items use args --- src/k_kart.c | 2 +- src/p_mobj.c | 6 ++++++ src/p_setup.c | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index f57720ed3..00f93272b 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -70,7 +70,7 @@ boolean K_IsDuelItem(mobjtype_t type) boolean K_DuelItemAlwaysSpawns(mapthing_t *mt) { - return (mt->options & MTF_EXTRA); + return !!(mt->args[0]); } static void K_SpawnDuelOnlyItems(void) diff --git a/src/p_mobj.c b/src/p_mobj.c index a4651b105..aa43a9d93 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -12805,6 +12805,12 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean // Duel Bomb needs init to match real map thing's angle mobj->angle = FixedAngle(mthing->angle << FRACBITS); Obj_DuelBombInit(mobj); + + if (mthing->args[1]) + { + Obj_DuelBombReverse(mobj); + } + *doangle = false; break; } diff --git a/src/p_setup.c b/src/p_setup.c index 57070f0e7..877168bdd 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -5997,6 +5997,10 @@ static void P_ConvertBinaryThingTypes(void) else mapthings[i].args[0] = TMP_NORMAL; } + if (K_IsDuelItem(mobjtype) == true) + { + mapthings[i].args[0] = !!(mapthings[i].options & MTF_EXTRA); + } } if (mapthings[i].type >= 1 && mapthings[i].type <= 35) //Player starts @@ -6566,6 +6570,9 @@ static void P_ConvertBinaryThingTypes(void) mapthings[i].args[2] |= TMICF_INVERTSIZE; } break; + case 2050: // MT_DUELBOMB + mapthings[i].args[1] = !!(mapthings[i].options & MTF_AMBUSH); + break; case 2333: // MT_BATTLECAPSULE mapthings[i].args[0] = mapthings[i].extrainfo; mapthings[i].args[1] = mapthings[i].angle;