diff --git a/src/dehacked.c b/src/dehacked.c index a5dc1c4c1..4b4922aaf 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -6030,29 +6030,36 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_WALLVINE_LONG", "S_WALLVINE_SHORT", + // Glaregoyles // Glaregoyles "S_GLAREGOYLE", - "S_GLAREGOYLE_CHECK", - "S_GLAREGOYLE_FIRE1", - "S_GLAREGOYLE_FIRE2", - "S_GLAREGOYLE_FIRE3", + "S_GLAREGOYLE_CHARGE", + "S_GLAREGOYLE_BLINK", + "S_GLAREGOYLE_HOLD", + "S_GLAREGOYLE_FIRE", + "S_GLAREGOYLE_LOOP", + "S_GLAREGOYLE_COOLDOWN", "S_GLAREGOYLEUP", - "S_GLAREGOYLEUP_CHECK", - "S_GLAREGOYLEUP_FIRE1", - "S_GLAREGOYLEUP_FIRE2", - "S_GLAREGOYLEUP_FIRE3", + "S_GLAREGOYLEUP_CHARGE", + "S_GLAREGOYLEUP_BLINK", + "S_GLAREGOYLEUP_HOLD", + "S_GLAREGOYLEUP_FIRE", + "S_GLAREGOYLEUP_LOOP", + "S_GLAREGOYLEUP_COOLDOWN", "S_GLAREGOYLEDOWN", - "S_GLAREGOYLEDOWN_CHECK", - "S_GLAREGOYLEDOWN_FIRE1", - "S_GLAREGOYLEDOWN_FIRE2", - "S_GLAREGOYLEDOWN_FIRE3", + "S_GLAREGOYLEDOWN_CHARGE", + "S_GLAREGOYLEDOWN_BLINK", + "S_GLAREGOYLEDOWN_HOLD", + "S_GLAREGOYLEDOWN_FIRE", + "S_GLAREGOYLEDOWN_LOOP", + "S_GLAREGOYLEDOWN_COOLDOWN", "S_GLAREGOYLELONG", - "S_GLAREGOYLELONG_CHECK", - "S_GLAREGOYLELONG_FIRE1", - "S_GLAREGOYLELONG_FIRE2", - "S_GLAREGOYLELONG_FIRE3", - "S_GLAREGOYLELONG_FIRE4", - "S_GLAREGOYLELONG_FIRE5", + "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", diff --git a/src/info.c b/src/info.c index 9659c9712..2b1dc6135 100644 --- a/src/info.c +++ b/src/info.c @@ -2580,31 +2580,37 @@ state_t states[NUMSTATES] = {SPR_WVIN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_WALLVINE_SHORT // Glaregoyles - {SPR_BGAR, FF_ANIMATE|1, 52, {NULL}, 1, 0, S_GLAREGOYLE_WARNING}, // S_GLAREGOYLE - {SPR_BGAR, 2, 6, {NULL}, 1, 2, S_GLAREGOYLE_FIRE}, // S_GLAREGOYLE_WARNING + {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, 12, {NULL}, 1, 6, S_GLAREGOYLE}, // S_GLAREGOYLE_COOLDOWN + {SPR_BGAR, FF_ANIMATE|1, 15, {NULL}, 1, 9, S_GLAREGOYLE}, // S_GLAREGOYLE_COOLDOWN - {SPR_BGAR, 0, 67, {NULL}, 0, 0, S_GLAREGOYLEUP_CHECK}, // S_GLAREGOYLEUP - {SPR_BGAR, 0, 3, {NULL}, 0, 0, S_GLAREGOYLEUP_FIRE1}, // S_GLAREGOYLEUP_CHECK - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_GLAREGOYLEUP_FIRE2}, // S_GLAREGOYLEUP_FIRE1 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_GLAREGOYLEUP_FIRE3}, // S_GLAREGOYLEUP_FIRE2 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+45, S_GLAREGOYLEUP}, // S_GLAREGOYLEUP_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_GLAREGOYLEDOWN_CHECK}, // S_GLAREGOYLEDOWN - {SPR_BGAR, 0, 3, {NULL}, 0, 0, S_GLAREGOYLEDOWN_FIRE1}, // S_GLAREGOYLEDOWN_CHECK - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_GLAREGOYLEDOWN_FIRE2}, // S_GLAREGOYLEDOWN_FIRE1 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_GLAREGOYLEDOWN_FIRE3}, // S_GLAREGOYLEDOWN_FIRE2 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16)+315, S_GLAREGOYLEDOWN}, // S_GLAREGOYLEDOWN_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_GLAREGOYLELONG_CHECK}, // S_GLAREGOYLELONG - {SPR_BGAR, 0, 3, {NULL}, 0, 0, S_GLAREGOYLELONG_FIRE1}, // S_GLAREGOYLELONG_CHECK - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG_FIRE2}, // S_GLAREGOYLELONG_FIRE1 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG_FIRE3}, // S_GLAREGOYLELONG_FIRE2 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG_FIRE4}, // S_GLAREGOYLELONG_FIRE3 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG_FIRE5}, // S_GLAREGOYLELONG_FIRE4 - {SPR_BGAR, 0, 1, {A_TrapShot}, (16<<16)+MT_DEMONFIRE, (30<<16), S_GLAREGOYLELONG}, // S_GLAREGOYLELONG_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 diff --git a/src/info.h b/src/info.h index 092b92241..612ce0b36 100644 --- a/src/info.h +++ b/src/info.h @@ -2705,27 +2705,33 @@ typedef enum state // Glaregoyles S_GLAREGOYLE, - S_GLAREGOYLE_WARNING, + S_GLAREGOYLE_CHARGE, + S_GLAREGOYLE_BLINK, + S_GLAREGOYLE_HOLD, S_GLAREGOYLE_FIRE, S_GLAREGOYLE_LOOP, S_GLAREGOYLE_COOLDOWN, S_GLAREGOYLEUP, - S_GLAREGOYLEUP_CHECK, - S_GLAREGOYLEUP_FIRE1, - S_GLAREGOYLEUP_FIRE2, - S_GLAREGOYLEUP_FIRE3, + S_GLAREGOYLEUP_CHARGE, + S_GLAREGOYLEUP_BLINK, + S_GLAREGOYLEUP_HOLD, + S_GLAREGOYLEUP_FIRE, + S_GLAREGOYLEUP_LOOP, + S_GLAREGOYLEUP_COOLDOWN, S_GLAREGOYLEDOWN, - S_GLAREGOYLEDOWN_CHECK, - S_GLAREGOYLEDOWN_FIRE1, - S_GLAREGOYLEDOWN_FIRE2, - S_GLAREGOYLEDOWN_FIRE3, + S_GLAREGOYLEDOWN_CHARGE, + S_GLAREGOYLEDOWN_BLINK, + S_GLAREGOYLEDOWN_HOLD, + S_GLAREGOYLEDOWN_FIRE, + S_GLAREGOYLEDOWN_LOOP, + S_GLAREGOYLEDOWN_COOLDOWN, S_GLAREGOYLELONG, - S_GLAREGOYLELONG_CHECK, - S_GLAREGOYLELONG_FIRE1, - S_GLAREGOYLELONG_FIRE2, - S_GLAREGOYLELONG_FIRE3, - S_GLAREGOYLELONG_FIRE4, - S_GLAREGOYLELONG_FIRE5, + 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,