diff --git a/src/deh_tables.c b/src/deh_tables.c index 3d517c8ac..1ab94f7f4 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -2063,6 +2063,11 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi "S_FLAMESHIELD17", "S_FLAMESHIELD18", + // Flame Shield Visuals + "S_FLMA1", + "S_FLMA2", + "S_FLMB1", + "S_FLAMESHIELDDASH1", "S_FLAMESHIELDDASH2", "S_FLAMESHIELDDASH3", @@ -3634,6 +3639,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t "MT_BUBBLESHIELD", "MT_BUBBLESHIELD_VISUAL", "MT_FLAMESHIELD", + "MT_FLAMESHIELD_VISUAL", "MT_FLAMESHIELDUNDERLAY", "MT_FLAMESHIELDPAPER", "MT_BUBBLESHIELDTRAP", diff --git a/src/info.c b/src/info.c index 03937aa7d..b18a256d1 100644 --- a/src/info.c +++ b/src/info.c @@ -386,6 +386,8 @@ char sprnames[NUMSPRITES + 1][5] = "BUBE", // Bubble Shield Underline "BWVE", // Bubble Shield waves "FLMS", // Flame Shield + "FLMA", // Flame Shield Top Layer + "FLMB", // Flame Shield Bottom Layer "FLMD", // Flame Shield dash "FLMP", // Flame Shield paper sprites "FLML", // Flame Shield speed lines @@ -2605,6 +2607,11 @@ state_t states[NUMSTATES] = {SPR_FLMS, FF_FULLBRIGHT|16, 2, {NULL}, 0, 0, S_FLAMESHIELD17}, // S_FLAMESHIELD16 {SPR_FLMS, FF_FULLBRIGHT|8, 2, {NULL}, 0, 0, S_FLAMESHIELD18}, // S_FLAMESHIELD17 {SPR_FLMS, FF_FULLBRIGHT|17, 2, {NULL}, 0, 0, S_FLAMESHIELD1}, // S_FLAMESHIELD18 + // + // Flame Shield Visuals + {SPR_FLMA, FF_ADD|FF_FULLBRIGHT|FF_ANIMATE, 28, {NULL}, 27, 1, S_FLMA2}, // S_FLMA1 + {SPR_NULL, 0, 16, {NULL}, 0, 0, S_FLMA1}, // S_FLMA2 + {SPR_FLMB, FF_FULLBRIGHT|FF_ANIMATE, 44, {NULL}, 43, 1, S_FLMB1}, // S_FLMB1 {SPR_FLMD, FF_FULLBRIGHT|1, 1, {NULL}, 0, 0, S_FLAMESHIELDDASH2}, // S_FLAMESHIELDDASH1 {SPR_FLMD, FF_FULLBRIGHT|5, 1, {NULL}, 0, 0, S_FLAMESHIELDDASH3}, // S_FLAMESHIELDDASH2 @@ -15499,6 +15506,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, + { // MT_FLAMESHIELD_VISUAL + -1, // doomednum + S_INVISIBLE, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 8, // speed + 28*FRACUNIT, // radius + 56*FRACUNIT, // height + 1, // display offset + 16, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPTHING|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags + S_NULL // raisestate + }, + { // MT_FLAMESHIELDUNDERLAY -1, // doomednum S_FLAMESHIELDDASH2_UNDERLAY, // spawnstate diff --git a/src/info.h b/src/info.h index ea9825f6b..9ac1b6994 100644 --- a/src/info.h +++ b/src/info.h @@ -925,6 +925,8 @@ typedef enum sprite SPR_BUBE, // Bubble Shield Underline SPR_BWVE, // Bubble Shield waves SPR_FLMS, // Flame Shield + SPR_FLMA, // Flame Shield Top Layer + SPR_FLMB, // Flame Shield Bottom Layer SPR_FLMD, // Flame Shield dash SPR_FLMP, // Flame Shield paper sprites SPR_FLML, // Flame Shield speed lines @@ -3102,6 +3104,11 @@ typedef enum state S_FLAMESHIELD17, S_FLAMESHIELD18, + // Flame Shield Visuals + S_FLMA1, + S_FLMA2, + S_FLMB1, + S_FLAMESHIELDDASH1, S_FLAMESHIELDDASH2, S_FLAMESHIELDDASH3, @@ -4700,6 +4707,7 @@ typedef enum mobj_type MT_BUBBLESHIELD, MT_BUBBLESHIELD_VISUAL, MT_FLAMESHIELD, + MT_FLAMESHIELD_VISUAL, MT_FLAMESHIELDUNDERLAY, MT_FLAMESHIELDPAPER, MT_BUBBLESHIELDTRAP,