diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg index de5b2ea6c..92b072b4d 100644 --- a/extras/conf/SRB2-22.cfg +++ b/extras/conf/SRB2-22.cfg @@ -3542,7 +3542,7 @@ thingtypes } 124 { - title = "AquaBuzz"; + title = "Buggle"; sprite = "BBUZA1"; width = 20; height = 24; @@ -5673,8 +5673,8 @@ thingtypes { arrow = 1; blocking = 2; - title = "Trapgoyle"; - sprite = "GARGA1"; + title = "Glaregoyle"; + sprite = "BGARA1"; width = 16; height = 40; flags4text = "[4] Slides when pushed"; @@ -5684,8 +5684,8 @@ thingtypes { arrow = 1; blocking = 2; - title = "Trapgoyle (Up)"; - sprite = "GARGA1"; + title = "Glaregoyle (Up)"; + sprite = "BGARA1"; width = 16; height = 40; flags4text = "[4] Slides when pushed"; @@ -5695,8 +5695,8 @@ thingtypes { arrow = 1; blocking = 2; - title = "Trapgoyle (Down)"; - sprite = "GARGA1"; + title = "Glaregoyle (Down)"; + sprite = "BGARA1"; width = 16; height = 40; flags4text = "[4] Slides when pushed"; @@ -5706,8 +5706,8 @@ thingtypes { arrow = 1; blocking = 2; - title = "Trapgoyle (Long)"; - sprite = "GARGA1"; + title = "Glaregoyle (Long)"; + sprite = "BGARA1"; width = 16; height = 40; flags4text = "[4] Slides when pushed"; diff --git a/src/dehacked.c b/src/dehacked.c index b9f766333..bf8bf62b5 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -5718,7 +5718,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_ARROW", "S_ARROWBONK", - // Trapgoyle Demon fire + // Glaregoyle Demon fire "S_DEMONFIRE", // GFZ flowers @@ -6086,29 +6086,35 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_WALLVINE_LONG", "S_WALLVINE_SHORT", - // Trapgoyles - "S_TRAPGOYLE", - "S_TRAPGOYLE_CHECK", - "S_TRAPGOYLE_FIRE1", - "S_TRAPGOYLE_FIRE2", - "S_TRAPGOYLE_FIRE3", - "S_TRAPGOYLEUP", - "S_TRAPGOYLEUP_CHECK", - "S_TRAPGOYLEUP_FIRE1", - "S_TRAPGOYLEUP_FIRE2", - "S_TRAPGOYLEUP_FIRE3", - "S_TRAPGOYLEDOWN", - "S_TRAPGOYLEDOWN_CHECK", - "S_TRAPGOYLEDOWN_FIRE1", - "S_TRAPGOYLEDOWN_FIRE2", - "S_TRAPGOYLEDOWN_FIRE3", - "S_TRAPGOYLELONG", - "S_TRAPGOYLELONG_CHECK", - "S_TRAPGOYLELONG_FIRE1", - "S_TRAPGOYLELONG_FIRE2", - "S_TRAPGOYLELONG_FIRE3", - "S_TRAPGOYLELONG_FIRE4", - "S_TRAPGOYLELONG_FIRE5", + // Glaregoyles + "S_GLAREGOYLE", + "S_GLAREGOYLE_CHARGE", + "S_GLAREGOYLE_BLINK", + "S_GLAREGOYLE_HOLD", + "S_GLAREGOYLE_FIRE", + "S_GLAREGOYLE_LOOP", + "S_GLAREGOYLE_COOLDOWN", + "S_GLAREGOYLEUP", + "S_GLAREGOYLEUP_CHARGE", + "S_GLAREGOYLEUP_BLINK", + "S_GLAREGOYLEUP_HOLD", + "S_GLAREGOYLEUP_FIRE", + "S_GLAREGOYLEUP_LOOP", + "S_GLAREGOYLEUP_COOLDOWN", + "S_GLAREGOYLEDOWN", + "S_GLAREGOYLEDOWN_CHARGE", + "S_GLAREGOYLEDOWN_BLINK", + "S_GLAREGOYLEDOWN_HOLD", + "S_GLAREGOYLEDOWN_FIRE", + "S_GLAREGOYLEDOWN_LOOP", + "S_GLAREGOYLEDOWN_COOLDOWN", + "S_GLAREGOYLELONG", + "S_GLAREGOYLELONG_CHARGE", + "S_GLAREGOYLELONG_BLINK", + "S_GLAREGOYLELONG_HOLD", + "S_GLAREGOYLELONG_FIRE", + "S_GLAREGOYLELONG_LOOP", + "S_GLAREGOYLELONG_COOLDOWN", // ATZ's Red Crystal/Target "S_TARGET_IDLE", @@ -6120,6 +6126,9 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit // ATZ's green flame "S_GREENFLAME", + // ATZ Blue Gargoyle + "S_BLUEGARGOYLE", + // Stalagmites "S_STG0", "S_STG1", @@ -7309,8 +7318,8 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_BUMBLEBORE_STUCK2", "S_BUMBLEBORE_DIE", - "S_BBUZZFLY1", - "S_BBUZZFLY2", + "S_BUGGLEIDLE", + "S_BUGGLEFLY", "S_SMASHSPIKE_FLOAT", "S_SMASHSPIKE_EASE1", @@ -7706,7 +7715,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_CANNONBALL", // Cannonball "MT_CANNONBALLDECOR", // Decorative/still cannonball "MT_ARROW", // Arrow - "MT_DEMONFIRE", // Trapgoyle fire + "MT_DEMONFIRE", // Glaregoyle fire // Greenflower Scenery "MT_GFZFLOWER1", @@ -7869,12 +7878,13 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s // Egg Rock Scenery // Azure Temple Scenery - "MT_TRAPGOYLE", - "MT_TRAPGOYLEUP", - "MT_TRAPGOYLEDOWN", - "MT_TRAPGOYLELONG", + "MT_GLAREGOYLE", + "MT_GLAREGOYLEUP", + "MT_GLAREGOYLEDOWN", + "MT_GLAREGOYLELONG", "MT_TARGET", "MT_GREENFLAME", + "MT_BLUEGARGOYLE", // Stalagmites "MT_STALAGMITE0", @@ -8149,7 +8159,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_HIVEELEMENTAL", "MT_BUMBLEBORE", - "MT_BUBBLEBUZZ", + "MT_BUGGLE", "MT_SMASHINGSPIKEBALL", "MT_CACOLANTERN", diff --git a/src/info.c b/src/info.c index 640957a79..698e6c25f 100644 --- a/src/info.c +++ b/src/info.c @@ -2524,32 +2524,38 @@ state_t states[NUMSTATES] = {SPR_WVIN, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_WALLVINE_LONG {SPR_WVIN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_WALLVINE_SHORT - // Trapgoyles - {SPR_BGAR, 0, 67, {NULL}, 0, 0, S_TRAPGOYLE_CHECK}, // S_TRAPGOYLE - {SPR_BGAR, 0, 3, {NULL}, 0, 0, S_TRAPGOYLE_FIRE1}, // S_TRAPGOYLE_CHECK - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLE_FIRE2}, // S_TRAPGOYLE_FIRE1 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLE_FIRE3}, // S_TRAPGOYLE_FIRE2 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLE}, // S_TRAPGOYLE_FIRE3 + // Glaregoyles + {SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLE_CHARGE}, // S_GLAREGOYLE + {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLE_BLINK}, // S_GLAREGOYLE_CHARGE + {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLE_HOLD}, // S_GLAREGOYLE_BLINK + {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLE_FIRE}, // S_GLAREGOYLE_HOLD + {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLE_LOOP}, // S_GLAREGOYLE_FIRE + {SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLE_FIRE, S_GLAREGOYLE_COOLDOWN}, // S_GLAREGOYLE_LOOP + {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLE}, // S_GLAREGOYLE_COOLDOWN - {SPR_BGAR, 0, 67, {NULL}, 0, 0, S_TRAPGOYLEUP_CHECK}, // S_TRAPGOYLEUP - {SPR_BGAR, 0, 3, {NULL}, 0, 0, S_TRAPGOYLEUP_FIRE1}, // S_TRAPGOYLEUP_CHECK - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_TRAPGOYLEUP_FIRE2}, // S_TRAPGOYLEUP_FIRE1 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_TRAPGOYLEUP_FIRE3}, // S_TRAPGOYLEUP_FIRE2 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_TRAPGOYLEUP}, // S_TRAPGOYLEUP_FIRE3 + {SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLEUP_CHARGE}, // S_GLAREGOYLEUP + {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLEUP_BLINK}, // S_GLAREGOYLEUP_CHARGE + {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLEUP_HOLD}, // S_GLAREGOYLEUP_BLINK + {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLEUP_FIRE}, // S_GLAREGOYLEUP_HOLD + {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_GLAREGOYLEUP_LOOP}, // S_GLAREGOYLEUP_FIRE + {SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLEUP_FIRE, S_GLAREGOYLEUP_COOLDOWN}, // S_GLAREGOYLEUP_LOOP + {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLEUP}, // S_GLAREGOYLEUP_COOLDOWN - {SPR_BGAR, 0, 67, {NULL}, 0, 0, S_TRAPGOYLEDOWN_CHECK}, // S_TRAPGOYLEDOWN - {SPR_BGAR, 0, 3, {NULL}, 0, 0, S_TRAPGOYLEDOWN_FIRE1}, // S_TRAPGOYLEDOWN_CHECK - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_TRAPGOYLEDOWN_FIRE2}, // S_TRAPGOYLEDOWN_FIRE1 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_TRAPGOYLEDOWN_FIRE3}, // S_TRAPGOYLEDOWN_FIRE2 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_TRAPGOYLEDOWN}, // S_TRAPGOYLEDOWN_FIRE3 + {SPR_BGAR, 0, 22, {NULL}, 0, 0, S_GLAREGOYLEDOWN_CHARGE}, // S_GLAREGOYLEDOWN + {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLEDOWN_BLINK}, // S_GLAREGOYLEDOWN_CHARGE + {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLEDOWN_HOLD}, // S_GLAREGOYLEDOWN_BLINK + {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLEDOWN_FIRE}, // S_GLAREGOYLEDOWN_HOLD + {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_GLAREGOYLEDOWN_LOOP}, // S_GLAREGOYLEDOWN_FIRE + {SPR_BGAR, 1, 0, {A_Repeat}, 3, S_GLAREGOYLEDOWN_FIRE, S_GLAREGOYLEDOWN_COOLDOWN}, // S_GLAREGOYLEDOWN_LOOP + {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLEDOWN}, // S_GLAREGOYLEDOWN_COOLDOWN - {SPR_BGAR, 0, 135, {NULL}, 0, 0, S_TRAPGOYLELONG_CHECK}, // S_TRAPGOYLELONG - {SPR_BGAR, 0, 3, {NULL}, 0, 0, S_TRAPGOYLELONG_FIRE1}, // S_TRAPGOYLELONG_CHECK - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLELONG_FIRE2}, // S_TRAPGOYLELONG_FIRE1 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLELONG_FIRE3}, // S_TRAPGOYLELONG_FIRE2 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLELONG_FIRE4}, // S_TRAPGOYLELONG_FIRE3 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLELONG_FIRE5}, // S_TRAPGOYLELONG_FIRE4 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_TRAPGOYLELONG}, // S_TRAPGOYLELONG_FIRE5 + {SPR_BGAR, 0, 90, {NULL}, 0, 0, S_GLAREGOYLELONG_CHARGE}, // S_GLAREGOYLELONG + {SPR_BGAR, 2, 6, {NULL}, 0, 0, S_GLAREGOYLELONG_BLINK}, // S_GLAREGOYLELONG_CHARGE + {SPR_BGAR, FF_ANIMATE|1, 18, {NULL}, 1, 3, S_GLAREGOYLELONG_HOLD}, // S_GLAREGOYLELONG_BLINK + {SPR_BGAR, 1, 9, {NULL}, 0, 0, S_GLAREGOYLELONG_FIRE}, // S_GLAREGOYLELONG_HOLD + {SPR_BGAR, 1, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG_LOOP}, // S_GLAREGOYLELONG_FIRE + {SPR_BGAR, 1, 0, {A_Repeat}, 5, S_GLAREGOYLELONG_FIRE, S_GLAREGOYLELONG_COOLDOWN}, // S_GLAREGOYLELONG_LOOP + {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLELONG}, // S_GLAREGOYLELONG_COOLDOWN // Target/Red Crystal {SPR_RCRY, 0, -1, {NULL}, 0, 0, S_TARGET_IDLE}, // S_TARGET_IDLE @@ -2561,6 +2567,9 @@ state_t states[NUMSTATES] = // Green flame {SPR_CFLM, FF_FULLBRIGHT|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 3, S_GREENFLAME}, // S_GREENFLAME + // ATZ Blue Gargoyle + {SPR_BGAR, 3, -1, {NULL}, 0, 0, S_NULL}, // S_BLUEGARGOYLE + // Stalagmites {SPR_STLG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_STG0 {SPR_STLG, 1, -1, {NULL}, 0, 0, S_NULL}, // S_STG1 @@ -3808,8 +3817,8 @@ state_t states[NUMSTATES] = {SPR_BUMB, 5, 120, {NULL}, 0, 0, S_BUMBLEBORE_DIE}, // S_BUMBLEBORE_STUCK2 {SPR_BUMB, 5, 0, {A_CryingToMomma}, 0, 0, S_XPLD1}, // S_BUMBLEBORE_DIE - {SPR_BBUZ, 0, 2, {NULL}, 0, 0, S_BBUZZFLY2}, // S_BBUZZFLY1 - {SPR_BBUZ, 1, 2, {NULL}, 0, 0, S_BBUZZFLY1}, // S_BBUZZFLY2 + {SPR_BBUZ, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BUGGLEIDLE + {SPR_BBUZ, FF_ANIMATE, -1, {NULL}, 1, 2, S_NULL}, // S_BUGGLEFLY {SPR_FMCE, 0, 20, {NULL}, 0, 0, S_SMASHSPIKE_EASE1}, // S_SMASHSPIKE_FLOAT {SPR_FMCE, 0, 4, {A_ZThrust}, 4, (1<<16)|1, S_SMASHSPIKE_EASE2}, // S_SMASHSPIKE_EASE1 @@ -13526,9 +13535,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_TRAPGOYLE + { // MT_GLAREGOYLE 1500, // doomednum - S_TRAPGOYLE, // spawnstate + S_GLAREGOYLE, // spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -13553,9 +13562,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_TRAPGOYLEUP + { // MT_GLAREGOYLEUP 1501, // doomednum - S_TRAPGOYLEUP, // spawnstate + S_GLAREGOYLEUP, // spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -13580,9 +13589,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_TRAPGOYLEDOWN + { // MT_GLAREGOYLEDOWN 1502, // doomednum - S_TRAPGOYLEDOWN,// spawnstate + S_GLAREGOYLEDOWN,// spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -13607,9 +13616,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_TRAPGOYLELONG + { // MT_GLAREGOYLELONG 1503, // doomednum - S_TRAPGOYLELONG,// spawnstate + S_GLAREGOYLELONG,// spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound @@ -13688,6 +13697,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, + { // MT_BLUEGARGOYLE + 1506, // doomednum + S_BLUEGARGOYLE, // 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 + 21*FRACUNIT, // speed + 16*FRACUNIT, // radius + 40*FRACUNIT, // height + 0, // display offset + 100, // mass + 1, // damage + sfx_statu2, // activesound + MF_SLIDEME|MF_SOLID|MF_PUSHABLE, // flags + S_NULL // raisestate + }, + { // MT_STALAGMITE0 1900, // doomednum S_STG0, // spawnstate @@ -20073,11 +20109,11 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_BUBBLEBUZZ + { // MT_BUGGLE 124, // doomednum - S_BBUZZFLY1, // spawnstate + S_BUGGLEIDLE, // spawnstate 1, // spawnhealth - S_BBUZZFLY1, // seestate + S_BUGGLEFLY, // seestate sfx_None, // seesound 2, // reactiontime sfx_None, // attacksound diff --git a/src/info.h b/src/info.h index 087577b82..812c31cba 100644 --- a/src/info.h +++ b/src/info.h @@ -2277,7 +2277,7 @@ typedef enum state S_ARROW, S_ARROWBONK, - // Trapgoyle Demon fire + // Glaregoyle Demon fire S_DEMONFIRE, // GFZ flowers @@ -2645,29 +2645,35 @@ typedef enum state S_WALLVINE_LONG, S_WALLVINE_SHORT, - // Trapgoyles - S_TRAPGOYLE, - S_TRAPGOYLE_CHECK, - S_TRAPGOYLE_FIRE1, - S_TRAPGOYLE_FIRE2, - S_TRAPGOYLE_FIRE3, - S_TRAPGOYLEUP, - S_TRAPGOYLEUP_CHECK, - S_TRAPGOYLEUP_FIRE1, - S_TRAPGOYLEUP_FIRE2, - S_TRAPGOYLEUP_FIRE3, - S_TRAPGOYLEDOWN, - S_TRAPGOYLEDOWN_CHECK, - S_TRAPGOYLEDOWN_FIRE1, - S_TRAPGOYLEDOWN_FIRE2, - S_TRAPGOYLEDOWN_FIRE3, - S_TRAPGOYLELONG, - S_TRAPGOYLELONG_CHECK, - S_TRAPGOYLELONG_FIRE1, - S_TRAPGOYLELONG_FIRE2, - S_TRAPGOYLELONG_FIRE3, - S_TRAPGOYLELONG_FIRE4, - S_TRAPGOYLELONG_FIRE5, + // Glaregoyles + S_GLAREGOYLE, + S_GLAREGOYLE_CHARGE, + S_GLAREGOYLE_BLINK, + S_GLAREGOYLE_HOLD, + S_GLAREGOYLE_FIRE, + S_GLAREGOYLE_LOOP, + S_GLAREGOYLE_COOLDOWN, + S_GLAREGOYLEUP, + S_GLAREGOYLEUP_CHARGE, + S_GLAREGOYLEUP_BLINK, + S_GLAREGOYLEUP_HOLD, + S_GLAREGOYLEUP_FIRE, + S_GLAREGOYLEUP_LOOP, + S_GLAREGOYLEUP_COOLDOWN, + S_GLAREGOYLEDOWN, + S_GLAREGOYLEDOWN_CHARGE, + S_GLAREGOYLEDOWN_BLINK, + S_GLAREGOYLEDOWN_HOLD, + S_GLAREGOYLEDOWN_FIRE, + S_GLAREGOYLEDOWN_LOOP, + S_GLAREGOYLEDOWN_COOLDOWN, + S_GLAREGOYLELONG, + S_GLAREGOYLELONG_CHARGE, + S_GLAREGOYLELONG_BLINK, + S_GLAREGOYLELONG_HOLD, + S_GLAREGOYLELONG_FIRE, + S_GLAREGOYLELONG_LOOP, + S_GLAREGOYLELONG_COOLDOWN, // ATZ's Red Crystal/Target S_TARGET_IDLE, @@ -2679,6 +2685,9 @@ typedef enum state // ATZ's green flame S_GREENFLAME, + // ATZ Blue Gargoyle + S_BLUEGARGOYLE, + // Stalagmites S_STG0, S_STG1, @@ -3869,8 +3878,8 @@ typedef enum state S_BUMBLEBORE_STUCK2, S_BUMBLEBORE_DIE, - S_BBUZZFLY1, - S_BBUZZFLY2, + S_BUGGLEIDLE, + S_BUGGLEFLY, S_SMASHSPIKE_FLOAT, S_SMASHSPIKE_EASE1, @@ -4288,7 +4297,7 @@ typedef enum mobj_type MT_CANNONBALL, // Cannonball MT_CANNONBALLDECOR, // Decorative/still cannonball MT_ARROW, // Arrow - MT_DEMONFIRE, // Trapgoyle fire + MT_DEMONFIRE, // Glaregoyle fire // Greenflower Scenery MT_GFZFLOWER1, @@ -4451,12 +4460,13 @@ typedef enum mobj_type // Egg Rock Scenery // Azure Temple Scenery - MT_TRAPGOYLE, - MT_TRAPGOYLEUP, - MT_TRAPGOYLEDOWN, - MT_TRAPGOYLELONG, + MT_GLAREGOYLE, + MT_GLAREGOYLEUP, + MT_GLAREGOYLEDOWN, + MT_GLAREGOYLELONG, MT_TARGET, // AKA Red Crystal MT_GREENFLAME, + MT_BLUEGARGOYLE, // Stalagmites MT_STALAGMITE0, @@ -4731,7 +4741,7 @@ typedef enum mobj_type MT_HIVEELEMENTAL, MT_BUMBLEBORE, - MT_BUBBLEBUZZ, + MT_BUGGLE, MT_SMASHINGSPIKEBALL, MT_CACOLANTERN, diff --git a/src/p_inter.c b/src/p_inter.c index 2841dfebb..c65e6cc36 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2617,7 +2617,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget target->fuse = target->info->damage; break; - case MT_BUBBLEBUZZ: + case MT_BUGGLE: if (inflictor && inflictor->player // did a player kill you? Spawn relative to the player so they're bound to get it && P_AproxDistance(inflictor->x - target->x, inflictor->y - target->y) <= inflictor->radius + target->radius + FixedMul(8*FRACUNIT, inflictor->scale) // close enough? && inflictor->z <= target->z + target->height + FixedMul(8*FRACUNIT, inflictor->scale) diff --git a/src/p_mobj.c b/src/p_mobj.c index c1ca78d32..498cf897e 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8447,7 +8447,7 @@ void P_MobjThinker(mobj_t *mobj) } } break; - case MT_BUBBLEBUZZ: + case MT_BUGGLE: mobj->eflags |= MFE_UNDERWATER; //P_MobjCheckWater(mobj); // solely for MFE_UNDERWATER for A_FlickySpawn { if (mobj->tracer && mobj->tracer->player && mobj->tracer->health > 0 @@ -8461,6 +8461,9 @@ void P_MobjThinker(mobj_t *mobj) if (leveltime % mobj->info->painchance == 0) S_StartSound(mobj, mobj->info->activesound); + + if ((statenum_t)(mobj->state-states) != mobj->info->seestate) + P_SetMobjState(mobj, mobj->info->seestate); } else { @@ -8469,6 +8472,8 @@ void P_MobjThinker(mobj_t *mobj) mobj->momx >>= 1; mobj->momy >>= 1; mobj->momz >>= 1; + if ((statenum_t)(mobj->state-states) != mobj->info->spawnstate) + P_SetMobjState(mobj, mobj->info->spawnstate); } } break; @@ -12517,10 +12522,10 @@ ML_EFFECT5 : Don't stop thinking when too far away if (mthing->extrainfo) mobj->extravalue1 = mthing->extrainfo; break; - case MT_TRAPGOYLE: - case MT_TRAPGOYLEUP: - case MT_TRAPGOYLEDOWN: - case MT_TRAPGOYLELONG: + case MT_GLAREGOYLE: + case MT_GLAREGOYLEUP: + case MT_GLAREGOYLEDOWN: + case MT_GLAREGOYLELONG: if (mthing->angle >= 360) mobj->tics += 7*(mthing->angle / 360) + 1; // starting delay break;