MT_MAYONAKAARROW uses args

This commit is contained in:
Sally Coolatta 2022-10-10 10:36:59 -04:00
parent d30c24d2eb
commit 4896a9c843
3 changed files with 35 additions and 22 deletions

View file

@ -13374,10 +13374,11 @@ void A_MayonakaArrow(mobj_t *actor)
if (LUA_CallAction(A_MAYONAKAARROW, (actor))) if (LUA_CallAction(A_MAYONAKAARROW, (actor)))
return; return;
iswarning = actor->spawnpoint->options & MTF_OBJECTSPECIAL; // is our object a warning sign? iswarning = (actor->spawnpoint->args[0] == TMMA_WARN); // is our object a warning sign?
// "animtimer" is replaced by "extravalue1" here. // "animtimer" is replaced by "extravalue1" here.
actor->extravalue1 = ((actor->extravalue1) ? (actor->extravalue1+1) : (P_RandomRange(PR_DECORATION, 0, (iswarning) ? (TICRATE/2) : TICRATE*3))); actor->extravalue1 = ((actor->extravalue1) ? (actor->extravalue1+1) : (P_RandomRange(PR_DECORATION, 0, (iswarning) ? (TICRATE/2) : TICRATE*3)));
flip = ((actor->spawnpoint->options & 1) ? (3) : (0)); // flip adds 3 frames, which is the flipped version of the sign. flip = ((actor->spawnpoint->args[0] == TMMA_FLIP) ? (3) : (0)); // flip adds 3 frames, which is the flipped version of the sign.
// special warning behavior: // special warning behavior:
if (iswarning) if (iswarning)
flip = 6; flip = 6;

View file

@ -6579,6 +6579,12 @@ static void P_ConvertBinaryThingTypes(void)
mapthings[i].args[2] |= TMBCF_BACKANDFORTH; mapthings[i].args[2] |= TMBCF_BACKANDFORTH;
} }
break; break;
case 3122: // MT_MAYONAKAARROW
if (mapthings[i].options & MTF_OBJECTSPECIAL)
mapthings[i].args[0] = TMMA_WARN;
else if (mapthings[i].options & MTF_EXTRA)
mapthings[i].args[0] = TMMA_FLIP;
break;
case FLOOR_SLOPE_THING: case FLOOR_SLOPE_THING:
case CEILING_SLOPE_THING: case CEILING_SLOPE_THING:
Tag_FSet(&mapthings[i].tags, mapthings[i].extrainfo); Tag_FSet(&mapthings[i].tags, mapthings[i].extrainfo);

View file

@ -49,26 +49,6 @@ typedef enum
TMSF_INTANGIBLE = 1<<1, TMSF_INTANGIBLE = 1<<1,
} textmapspikeflags_t; } textmapspikeflags_t;
typedef enum
{
TMWPF_DISABLED = 1,
TMWPF_SHORTCUT = 1<<1,
TMWPF_NORESPAWN = 1<<2,
TMWPF_FINISHLINE = 1<<3,
} textmapwaypointflags_t;
typedef enum
{
TMBCF_BACKANDFORTH = 1,
TMBCF_REVERSE = 1<<1,
} textmapbattlecapsuleflags_t;
typedef enum
{
TMICF_INVERTTIMEATTACK = 1,
TMICF_INVERTSIZE = 1<<1,
} textmapitemcapsuleflags_t;
typedef enum typedef enum
{ {
TMFF_AIMLESS = 1, TMFF_AIMLESS = 1,
@ -141,6 +121,32 @@ typedef enum
TMB_BARRIER = 1<<1, TMB_BARRIER = 1<<1,
} textmapbrakflags_t; } textmapbrakflags_t;
typedef enum
{
TMWPF_DISABLED = 1,
TMWPF_SHORTCUT = 1<<1,
TMWPF_NORESPAWN = 1<<2,
TMWPF_FINISHLINE = 1<<3,
} textmapwaypointflags_t;
typedef enum
{
TMBCF_BACKANDFORTH = 1,
TMBCF_REVERSE = 1<<1,
} textmapbattlecapsuleflags_t;
typedef enum
{
TMICF_INVERTTIMEATTACK = 1,
TMICF_INVERTSIZE = 1<<1,
} textmapitemcapsuleflags_t;
typedef enum
{
TMMA_WARN = 1,
TMMA_FLIP = 2,
} textmapmayarrow_t;
typedef enum typedef enum
{ {
TMEF_SKIPTALLY = 1, TMEF_SKIPTALLY = 1,