mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Remove Brak Eggman
This commit is contained in:
parent
e28295635c
commit
364651ac39
6 changed files with 6 additions and 1325 deletions
250
src/deh_tables.c
250
src/deh_tables.c
|
|
@ -129,7 +129,6 @@ actionpointer_t actionpointers[] =
|
|||
{{A_BossZoom}, "A_BOSSZOOM"},
|
||||
{{A_BossScream}, "A_BOSSSCREAM"},
|
||||
{{A_Boss2TakeDamage}, "A_BOSS2TAKEDAMAGE"},
|
||||
{{A_Boss7Chase}, "A_BOSS7CHASE"},
|
||||
{{A_GoopSplat}, "A_GOOPSPLAT"},
|
||||
{{A_Boss2PogoSFX}, "A_BOSS2POGOSFX"},
|
||||
{{A_Boss2PogoTarget}, "A_BOSS2POGOTARGET"},
|
||||
|
|
@ -1094,236 +1093,6 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
|
|||
"S_FSGNC",
|
||||
"S_FSGND",
|
||||
|
||||
// Black Eggman (Boss 7)
|
||||
"S_BLACKEGG_STND",
|
||||
"S_BLACKEGG_STND2",
|
||||
"S_BLACKEGG_WALK1",
|
||||
"S_BLACKEGG_WALK2",
|
||||
"S_BLACKEGG_WALK3",
|
||||
"S_BLACKEGG_WALK4",
|
||||
"S_BLACKEGG_WALK5",
|
||||
"S_BLACKEGG_WALK6",
|
||||
"S_BLACKEGG_SHOOT1",
|
||||
"S_BLACKEGG_SHOOT2",
|
||||
"S_BLACKEGG_PAIN1",
|
||||
"S_BLACKEGG_PAIN2",
|
||||
"S_BLACKEGG_PAIN3",
|
||||
"S_BLACKEGG_PAIN4",
|
||||
"S_BLACKEGG_PAIN5",
|
||||
"S_BLACKEGG_PAIN6",
|
||||
"S_BLACKEGG_PAIN7",
|
||||
"S_BLACKEGG_PAIN8",
|
||||
"S_BLACKEGG_PAIN9",
|
||||
"S_BLACKEGG_PAIN10",
|
||||
"S_BLACKEGG_PAIN11",
|
||||
"S_BLACKEGG_PAIN12",
|
||||
"S_BLACKEGG_PAIN13",
|
||||
"S_BLACKEGG_PAIN14",
|
||||
"S_BLACKEGG_PAIN15",
|
||||
"S_BLACKEGG_PAIN16",
|
||||
"S_BLACKEGG_PAIN17",
|
||||
"S_BLACKEGG_PAIN18",
|
||||
"S_BLACKEGG_PAIN19",
|
||||
"S_BLACKEGG_PAIN20",
|
||||
"S_BLACKEGG_PAIN21",
|
||||
"S_BLACKEGG_PAIN22",
|
||||
"S_BLACKEGG_PAIN23",
|
||||
"S_BLACKEGG_PAIN24",
|
||||
"S_BLACKEGG_PAIN25",
|
||||
"S_BLACKEGG_PAIN26",
|
||||
"S_BLACKEGG_PAIN27",
|
||||
"S_BLACKEGG_PAIN28",
|
||||
"S_BLACKEGG_PAIN29",
|
||||
"S_BLACKEGG_PAIN30",
|
||||
"S_BLACKEGG_PAIN31",
|
||||
"S_BLACKEGG_PAIN32",
|
||||
"S_BLACKEGG_PAIN33",
|
||||
"S_BLACKEGG_PAIN34",
|
||||
"S_BLACKEGG_PAIN35",
|
||||
"S_BLACKEGG_HITFACE1",
|
||||
"S_BLACKEGG_HITFACE2",
|
||||
"S_BLACKEGG_HITFACE3",
|
||||
"S_BLACKEGG_HITFACE4",
|
||||
"S_BLACKEGG_DIE1",
|
||||
"S_BLACKEGG_DIE2",
|
||||
"S_BLACKEGG_DIE3",
|
||||
"S_BLACKEGG_DIE4",
|
||||
"S_BLACKEGG_DIE5",
|
||||
"S_BLACKEGG_MISSILE1",
|
||||
"S_BLACKEGG_MISSILE2",
|
||||
"S_BLACKEGG_MISSILE3",
|
||||
"S_BLACKEGG_GOOP",
|
||||
"S_BLACKEGG_JUMP1",
|
||||
"S_BLACKEGG_JUMP2",
|
||||
"S_BLACKEGG_DESTROYPLAT1",
|
||||
"S_BLACKEGG_DESTROYPLAT2",
|
||||
"S_BLACKEGG_DESTROYPLAT3",
|
||||
|
||||
"S_BLACKEGG_HELPER", // Collision helper
|
||||
|
||||
"S_BLACKEGG_GOOP1",
|
||||
"S_BLACKEGG_GOOP2",
|
||||
"S_BLACKEGG_GOOP3",
|
||||
"S_BLACKEGG_GOOP4",
|
||||
"S_BLACKEGG_GOOP5",
|
||||
"S_BLACKEGG_GOOP6",
|
||||
"S_BLACKEGG_GOOP7",
|
||||
|
||||
"S_BLACKEGG_MISSILE",
|
||||
|
||||
// New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon)
|
||||
"S_CYBRAKDEMON_IDLE",
|
||||
"S_CYBRAKDEMON_WALK1",
|
||||
"S_CYBRAKDEMON_WALK2",
|
||||
"S_CYBRAKDEMON_WALK3",
|
||||
"S_CYBRAKDEMON_WALK4",
|
||||
"S_CYBRAKDEMON_WALK5",
|
||||
"S_CYBRAKDEMON_WALK6",
|
||||
"S_CYBRAKDEMON_CHOOSE_ATTACK1",
|
||||
"S_CYBRAKDEMON_MISSILE_ATTACK1", // Aim
|
||||
"S_CYBRAKDEMON_MISSILE_ATTACK2", // Fire
|
||||
"S_CYBRAKDEMON_MISSILE_ATTACK3", // Aim
|
||||
"S_CYBRAKDEMON_MISSILE_ATTACK4", // Fire
|
||||
"S_CYBRAKDEMON_MISSILE_ATTACK5", // Aim
|
||||
"S_CYBRAKDEMON_MISSILE_ATTACK6", // Fire
|
||||
"S_CYBRAKDEMON_FLAME_ATTACK1", // Reset
|
||||
"S_CYBRAKDEMON_FLAME_ATTACK2", // Aim
|
||||
"S_CYBRAKDEMON_FLAME_ATTACK3", // Fire
|
||||
"S_CYBRAKDEMON_FLAME_ATTACK4", // Loop
|
||||
"S_CYBRAKDEMON_CHOOSE_ATTACK2",
|
||||
"S_CYBRAKDEMON_VILE_ATTACK1",
|
||||
"S_CYBRAKDEMON_VILE_ATTACK2",
|
||||
"S_CYBRAKDEMON_VILE_ATTACK3",
|
||||
"S_CYBRAKDEMON_VILE_ATTACK4",
|
||||
"S_CYBRAKDEMON_VILE_ATTACK5",
|
||||
"S_CYBRAKDEMON_VILE_ATTACK6",
|
||||
"S_CYBRAKDEMON_NAPALM_ATTACK1",
|
||||
"S_CYBRAKDEMON_NAPALM_ATTACK2",
|
||||
"S_CYBRAKDEMON_NAPALM_ATTACK3",
|
||||
"S_CYBRAKDEMON_FINISH_ATTACK1", // If just attacked, remove MF2_FRET w/out going back to spawnstate
|
||||
"S_CYBRAKDEMON_FINISH_ATTACK2", // Force a delay between attacks so you don't get bombarded with them back-to-back
|
||||
"S_CYBRAKDEMON_PAIN1",
|
||||
"S_CYBRAKDEMON_PAIN2",
|
||||
"S_CYBRAKDEMON_PAIN3",
|
||||
"S_CYBRAKDEMON_DIE1",
|
||||
"S_CYBRAKDEMON_DIE2",
|
||||
"S_CYBRAKDEMON_DIE3",
|
||||
"S_CYBRAKDEMON_DIE4",
|
||||
"S_CYBRAKDEMON_DIE5",
|
||||
"S_CYBRAKDEMON_DIE6",
|
||||
"S_CYBRAKDEMON_DIE7",
|
||||
"S_CYBRAKDEMON_DIE8",
|
||||
"S_CYBRAKDEMON_DEINVINCIBLERIZE",
|
||||
"S_CYBRAKDEMON_INVINCIBLERIZE",
|
||||
|
||||
"S_CYBRAKDEMONMISSILE",
|
||||
"S_CYBRAKDEMONMISSILE_EXPLODE1",
|
||||
"S_CYBRAKDEMONMISSILE_EXPLODE2",
|
||||
"S_CYBRAKDEMONMISSILE_EXPLODE3",
|
||||
|
||||
"S_CYBRAKDEMONFLAMESHOT_FLY1",
|
||||
"S_CYBRAKDEMONFLAMESHOT_FLY2",
|
||||
"S_CYBRAKDEMONFLAMESHOT_FLY3",
|
||||
"S_CYBRAKDEMONFLAMESHOT_DIE",
|
||||
|
||||
"S_CYBRAKDEMONFLAMEREST",
|
||||
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_INIT1",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_INIT2",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER1",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER2",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER3",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER4",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER5",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER6",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER7",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER8",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER9",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER10",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER11",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER12",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER13",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER14",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER15",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER16",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER17",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER18",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER19",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER20",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER21",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER22",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER23",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER24",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_DIE1",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_DIE2",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_DIE3",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM2",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM3",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM4",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM5",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM6",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM7",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM8",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM9",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM10",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM11",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_REVIVE1",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_REVIVE2",
|
||||
"S_CYBRAKDEMONELECTRICBARRIER_REVIVE3",
|
||||
|
||||
"S_CYBRAKDEMONTARGETRETICULE1",
|
||||
"S_CYBRAKDEMONTARGETRETICULE2",
|
||||
"S_CYBRAKDEMONTARGETRETICULE3",
|
||||
"S_CYBRAKDEMONTARGETRETICULE4",
|
||||
"S_CYBRAKDEMONTARGETRETICULE5",
|
||||
"S_CYBRAKDEMONTARGETRETICULE6",
|
||||
"S_CYBRAKDEMONTARGETRETICULE7",
|
||||
"S_CYBRAKDEMONTARGETRETICULE8",
|
||||
"S_CYBRAKDEMONTARGETRETICULE9",
|
||||
"S_CYBRAKDEMONTARGETRETICULE10",
|
||||
"S_CYBRAKDEMONTARGETRETICULE11",
|
||||
"S_CYBRAKDEMONTARGETRETICULE12",
|
||||
"S_CYBRAKDEMONTARGETRETICULE13",
|
||||
"S_CYBRAKDEMONTARGETRETICULE14",
|
||||
|
||||
"S_CYBRAKDEMONTARGETDOT",
|
||||
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1",
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2",
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3",
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4",
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_DIE1", // Explode
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2", // Outer ring
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3", // Center
|
||||
"S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4", // Sound
|
||||
|
||||
"S_CYBRAKDEMONNAPALMBOMBSMALL",
|
||||
"S_CYBRAKDEMONNAPALMBOMBSMALL_DIE1", // Explode
|
||||
"S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2", // Outer ring
|
||||
"S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3", // Inner ring
|
||||
"S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4", // Center
|
||||
"S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5", // Sound
|
||||
|
||||
"S_CYBRAKDEMONNAPALMFLAME_FLY1",
|
||||
"S_CYBRAKDEMONNAPALMFLAME_FLY2",
|
||||
"S_CYBRAKDEMONNAPALMFLAME_FLY3",
|
||||
"S_CYBRAKDEMONNAPALMFLAME_FLY4",
|
||||
"S_CYBRAKDEMONNAPALMFLAME_FLY5",
|
||||
"S_CYBRAKDEMONNAPALMFLAME_FLY6",
|
||||
"S_CYBRAKDEMONNAPALMFLAME_DIE",
|
||||
|
||||
"S_CYBRAKDEMONVILEEXPLOSION1",
|
||||
"S_CYBRAKDEMONVILEEXPLOSION2",
|
||||
"S_CYBRAKDEMONVILEEXPLOSION3",
|
||||
|
||||
// Metal Sonic (Race)
|
||||
"S_METALSONIC_RACE",
|
||||
// Metal Sonic (Battle)
|
||||
|
|
@ -4816,25 +4585,6 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
|
|||
"MT_FSGNB",
|
||||
"MT_FANGWAYPOINT",
|
||||
|
||||
// Black Eggman (Boss 7)
|
||||
"MT_BLACKEGGMAN",
|
||||
"MT_BLACKEGGMAN_HELPER",
|
||||
"MT_BLACKEGGMAN_GOOPFIRE",
|
||||
"MT_BLACKEGGMAN_MISSILE",
|
||||
|
||||
// New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon)
|
||||
"MT_CYBRAKDEMON",
|
||||
"MT_CYBRAKDEMON_ELECTRIC_BARRIER",
|
||||
"MT_CYBRAKDEMON_MISSILE",
|
||||
"MT_CYBRAKDEMON_FLAMESHOT",
|
||||
"MT_CYBRAKDEMON_FLAMEREST",
|
||||
"MT_CYBRAKDEMON_TARGET_RETICULE",
|
||||
"MT_CYBRAKDEMON_TARGET_DOT",
|
||||
"MT_CYBRAKDEMON_NAPALM_BOMB_LARGE",
|
||||
"MT_CYBRAKDEMON_NAPALM_BOMB_SMALL",
|
||||
"MT_CYBRAKDEMON_NAPALM_FLAMES",
|
||||
"MT_CYBRAKDEMON_VILE_EXPLOSION",
|
||||
|
||||
// Metal Sonic (Boss 9)
|
||||
"MT_METALSONIC_RACE",
|
||||
"MT_METALSONIC_BATTLE",
|
||||
|
|
|
|||
644
src/info.c
644
src/info.c
|
|
@ -112,7 +112,6 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
"EGGR",
|
||||
|
||||
// Boss 7 (Dark City)
|
||||
"BRAK",
|
||||
"BGOO", // Goop
|
||||
"BMSL",
|
||||
|
||||
|
|
@ -1598,243 +1597,6 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FSGN, 2|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNC
|
||||
{SPR_FSGN, 3|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGND
|
||||
|
||||
// Black Eggman (Boss 7)
|
||||
{SPR_BRAK, 0, 1, {A_SetReactionTime}, 0, 0, S_BLACKEGG_STND2}, // S_BLACKEGG_STND
|
||||
{SPR_BRAK, 0, 7, {A_Look}, 1, 0, S_BLACKEGG_STND2}, // S_BLACKEGG_STND2
|
||||
{SPR_BRAK, 1, 7, {NULL}, 0, 0, S_BLACKEGG_WALK2}, // S_BLACKEGG_WALK1
|
||||
{SPR_BRAK, 2, 7, {NULL}, 0, 0, S_BLACKEGG_WALK3}, // S_BLACKEGG_WALK2
|
||||
{SPR_BRAK, 3, 7, {A_PlaySound}, sfx_bestep, 0, S_BLACKEGG_WALK4}, // S_BLACKEGG_WALK3
|
||||
{SPR_BRAK, 4, 7, {NULL}, 0, 0, S_BLACKEGG_WALK5}, // S_BLACKEGG_WALK4
|
||||
{SPR_BRAK, 5, 7, {NULL}, 0, 0, S_BLACKEGG_WALK6}, // S_BLACKEGG_WALK5
|
||||
{SPR_BRAK, 6, 7, {A_PlaySound}, sfx_bestp2, 0, S_BLACKEGG_WALK1}, // S_BLACKEGG_WALK6
|
||||
{SPR_BRAK, 7, 3, {NULL}, 0, 0, S_BLACKEGG_SHOOT2}, // S_BLACKEGG_SHOOT1
|
||||
{SPR_BRAK, 24, 1, {A_PlaySound}, sfx_befire, 0, S_BLACKEGG_SHOOT1}, // S_BLACKEGG_SHOOT2
|
||||
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN2}, // S_BLACKEGG_PAIN1
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN3}, // S_BLACKEGG_PAIN2
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN4}, // S_BLACKEGG_PAIN3
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN5}, // S_BLACKEGG_PAIN4
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN6}, // S_BLACKEGG_PAIN5
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN7}, // S_BLACKEGG_PAIN6
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN8}, // S_BLACKEGG_PAIN7
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN9}, // S_BLACKEGG_PAIN8
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN10}, // S_BLACKEGG_PAIN9
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN11}, // S_BLACKEGG_PAIN10
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN12}, // S_BLACKEGG_PAIN11
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN13}, // S_BLACKEGG_PAIN12
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN14}, // S_BLACKEGG_PAIN13
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN15}, // S_BLACKEGG_PAIN14
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN16}, // S_BLACKEGG_PAIN15
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN17}, // S_BLACKEGG_PAIN16
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN18}, // S_BLACKEGG_PAIN17
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN19}, // S_BLACKEGG_PAIN18
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN20}, // S_BLACKEGG_PAIN19
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN21}, // S_BLACKEGG_PAIN20
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN22}, // S_BLACKEGG_PAIN21
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN23}, // S_BLACKEGG_PAIN22
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN24}, // S_BLACKEGG_PAIN23
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN25}, // S_BLACKEGG_PAIN24
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN26}, // S_BLACKEGG_PAIN25
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN27}, // S_BLACKEGG_PAIN26
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN28}, // S_BLACKEGG_PAIN27
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN29}, // S_BLACKEGG_PAIN28
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN30}, // S_BLACKEGG_PAIN29
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN31}, // S_BLACKEGG_PAIN30
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN32}, // S_BLACKEGG_PAIN31
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN33}, // S_BLACKEGG_PAIN32
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN34}, // S_BLACKEGG_PAIN33
|
||||
{SPR_BRAK, 25, 1, {NULL}, 0, 0, S_BLACKEGG_PAIN35}, // S_BLACKEGG_PAIN34
|
||||
{SPR_BRAK, 8, 1, {NULL}, 0, 0, S_BLACKEGG_WALK1}, // S_BLACKEGG_PAIN35
|
||||
|
||||
{SPR_BRAK, 9, 20, {NULL}, 0, 0, S_BLACKEGG_HITFACE2}, // S_BLACKEGG_HITFACE1
|
||||
{SPR_BRAK, 10, 2, {NULL}, 0, 0, S_BLACKEGG_HITFACE3}, // S_BLACKEGG_HITFACE2
|
||||
{SPR_BRAK, 11, 2, {NULL}, 0, 0, S_BLACKEGG_HITFACE4}, // S_BLACKEGG_HITFACE3
|
||||
{SPR_BRAK, 12,14, {NULL}, 0, 0, S_BLACKEGG_PAIN1}, // S_BLACKEGG_HITFACE4
|
||||
|
||||
{SPR_BRAK, 13, 14, {NULL}, 0, 0, S_BLACKEGG_DIE2}, // S_BLACKEGG_DIE1
|
||||
{SPR_BRAK, 14, 7, {NULL}, 0, 0, S_BLACKEGG_DIE3}, // S_BLACKEGG_DIE2
|
||||
{SPR_BRAK, 15, 5, {NULL}, 0, 0, S_BLACKEGG_DIE4}, // S_BLACKEGG_DIE3
|
||||
{SPR_BRAK, 16, 3, {A_PlaySound}, sfx_bgxpld, 0, S_BLACKEGG_DIE5}, // S_BLACKEGG_DIE4
|
||||
{SPR_BRAK, 17, -1, {NULL}, 0, 0, S_BLACKEGG_DIE5}, // S_BLACKEGG_DIE5
|
||||
|
||||
{SPR_BRAK, 18, 14, {NULL}, 0, 0, S_BLACKEGG_MISSILE2}, // S_BLACKEGG_MISSILE1
|
||||
{SPR_BRAK, 19, 5, {NULL}, 0, 0, S_BLACKEGG_MISSILE3}, // S_BLACKEGG_MISSILE2
|
||||
{SPR_BRAK, 20, 35, {A_Boss7FireMissiles}, MT_BLACKEGGMAN_MISSILE, sfx_beshot, S_BLACKEGG_JUMP1}, // S_BLACKEGG_MISSILE3
|
||||
|
||||
{SPR_BRAK, 21, -1, {NULL}, 0, 0, S_BLACKEGG_STND}, // S_BLACKEGG_GOOP
|
||||
|
||||
{SPR_BRAK, 22, 14, {A_PlaySound}, sfx_belnch, 0, S_BLACKEGG_JUMP2}, // S_BLACKEGG_JUMP1
|
||||
{SPR_BRAK, 23, -1, {NULL}, 0, 0, S_BLACKEGG_WALK1}, // S_BLACKEGG_JUMP2
|
||||
|
||||
{SPR_BRAK, 21, 3*TICRATE, {NULL}, 0, 0, S_BLACKEGG_DESTROYPLAT2}, // S_BLACKEGG_DESTROYPLAT1
|
||||
{SPR_BRAK, 21, 1, {A_PlaySound}, sfx_s3k54, 0, S_BLACKEGG_DESTROYPLAT3}, // S_BLACKEGG_DESTROYPLAT2
|
||||
{SPR_BRAK, 21, 14, {A_LinedefExecute}, LE_BRAKPLATFORM, 0, S_BLACKEGG_STND}, // S_BLACKEGG_DESTROYPLAT3
|
||||
|
||||
{SPR_NULL, 0, 1, {A_CapeChase}, (160 - 20) << 16, 0, S_BLACKEGG_HELPER}, // S_BLACKEGG_HELPER
|
||||
|
||||
{SPR_BGOO, FF_TRANS50 , 2, {NULL}, 0, 0, S_BLACKEGG_GOOP2}, // S_BLACKEGG_GOOP1
|
||||
{SPR_BGOO, FF_TRANS50|1, 2, {NULL}, 0, 0, S_BLACKEGG_GOOP1}, // S_BLACKEGG_GOOP2
|
||||
{SPR_BGOO, FF_TRANS50|2, 6*TICRATE, {A_GoopSplat}, 0, 0, S_BLACKEGG_GOOP4}, // S_BLACKEGG_GOOP3
|
||||
{SPR_BGOO, FF_TRANS60|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP5}, // S_BLACKEGG_GOOP4
|
||||
{SPR_BGOO, FF_TRANS70|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP6}, // S_BLACKEGG_GOOP5
|
||||
{SPR_BGOO, FF_TRANS80|2, 4, {NULL}, 0, 0, S_BLACKEGG_GOOP7}, // S_BLACKEGG_GOOP6
|
||||
{SPR_BGOO, FF_TRANS90|2, 4, {NULL}, 0, 0, S_NULL}, // S_BLACKEGG_GOOP7
|
||||
|
||||
{SPR_BMSL, 0, 1, {NULL}, 0, 0, S_BLACKEGG_MISSILE}, // S_BLACKEGG_MISSILE
|
||||
|
||||
// New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon)
|
||||
{SPR_BRAK, 0, 10, {A_Look}, 0, 0, S_CYBRAKDEMON_IDLE}, // S_CYBRAKDEMON_IDLE
|
||||
{SPR_BRAK, 1, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK2}, // S_CYBRAKDEMON_WALK1
|
||||
{SPR_BRAK, 2, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK3}, // S_CYBRAKDEMON_WALK2
|
||||
{SPR_BRAK, 3, 8, {A_BrakChase}, 3, sfx_bestep, S_CYBRAKDEMON_WALK4}, // S_CYBRAKDEMON_WALK3
|
||||
{SPR_BRAK, 4, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK5}, // S_CYBRAKDEMON_WALK4
|
||||
{SPR_BRAK, 5, 8, {A_BrakChase}, 3, 0, S_CYBRAKDEMON_WALK6}, // S_CYBRAKDEMON_WALK5
|
||||
{SPR_BRAK, 6, 8, {A_BrakChase}, 3, sfx_bestp2, S_CYBRAKDEMON_WALK1}, // S_CYBRAKDEMON_WALK6
|
||||
{SPR_BRAK, 7, 6, {A_RandomState}, S_CYBRAKDEMON_MISSILE_ATTACK1, S_CYBRAKDEMON_FLAME_ATTACK1, S_CYBRAKDEMON_MISSILE_ATTACK1}, // S_CYBRAKDEMON_CHOOSE_ATTACK1
|
||||
{SPR_BRAK, 7, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK2}, // S_CYBRAKDEMON_MISSILE_ATTACK1 // Aim
|
||||
{SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_MISSILE_ATTACK3}, // S_CYBRAKDEMON_MISSILE_ATTACK2 // Fire
|
||||
{SPR_BRAK, 7, 12, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK4}, // S_CYBRAKDEMON_MISSILE_ATTACK3 // Aim
|
||||
{SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_MISSILE_ATTACK5}, // S_CYBRAKDEMON_MISSILE_ATTACK4 // Fire
|
||||
{SPR_BRAK, 7, 12, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_MISSILE_ATTACK6}, // S_CYBRAKDEMON_MISSILE_ATTACK5 // Aim
|
||||
{SPR_BRAK, 26 + FF_FULLBRIGHT, 12, {A_BrakFireShot}, MT_CYBRAKDEMON_MISSILE, 128, S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_MISSILE_ATTACK6 // Fire
|
||||
{SPR_BRAK, 7, 1, {A_Repeat}, 1, S_CYBRAKDEMON_FLAME_ATTACK1, S_CYBRAKDEMON_FLAME_ATTACK2}, // S_CYBRAKDEMON_FLAME_ATTACK1 // Reset
|
||||
{SPR_BRAK, 7, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_FLAME_ATTACK3}, // S_CYBRAKDEMON_FLAME_ATTACK2 // Aim
|
||||
{SPR_BRAK, 26 + FF_FULLBRIGHT, 2, {A_BrakFireShot}, MT_CYBRAKDEMON_FLAMESHOT, 128, S_CYBRAKDEMON_FLAME_ATTACK4}, // S_CYBRAKDEMON_FLAME_ATTACK3 // Fire
|
||||
{SPR_BRAK, 7, 1, {A_Repeat}, 30, S_CYBRAKDEMON_FLAME_ATTACK3, S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_FLAME_ATTACK4 // Loop
|
||||
{SPR_BRAK, 0, 6, {A_RandomState}, S_CYBRAKDEMON_VILE_ATTACK1, S_CYBRAKDEMON_NAPALM_ATTACK1, S_CYBRAKDEMON_MISSILE_ATTACK1}, // S_CYBRAKDEMON_CHOOSE_ATTACK2
|
||||
{SPR_BRAK, 20, 0, {A_LinedefExecute}, LE_BRAKVILEATACK, 0, S_CYBRAKDEMON_VILE_ATTACK2}, // S_CYBRAKDEMON_VILE_ATTACK1
|
||||
{SPR_BRAK, 20, 24, {A_VileTarget}, MT_CYBRAKDEMON_TARGET_RETICULE, 1, S_CYBRAKDEMON_VILE_ATTACK3}, // S_CYBRAKDEMON_VILE_ATTACK2
|
||||
{SPR_BRAK, 19, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK4}, // S_CYBRAKDEMON_VILE_ATTACK3
|
||||
{SPR_BRAK, 18, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK5}, // S_CYBRAKDEMON_VILE_ATTACK4
|
||||
{SPR_BRAK, 8, 32, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_VILE_ATTACK6}, // S_CYBRAKDEMON_VILE_ATTACK5
|
||||
{SPR_BRAK, 20 + FF_FULLBRIGHT, 28, {A_VileAttack}, sfx_brakrx, MT_CYBRAKDEMON_VILE_EXPLOSION + (1<<16), S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_VILE_ATTACK6
|
||||
{SPR_BRAK, 0, 6, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_NAPALM_ATTACK2}, // S_CYBRAKDEMON_NAPALM_ATTACK1
|
||||
{SPR_BRAK, 21 + FF_FULLBRIGHT, 8, {A_BrakLobShot}, MT_CYBRAKDEMON_NAPALM_BOMB_LARGE, 96, S_CYBRAKDEMON_NAPALM_ATTACK3}, // S_CYBRAKDEMON_NAPALM_ATTACK2
|
||||
{SPR_BRAK, 0, 8, {A_FaceTarget}, 0, 0, S_CYBRAKDEMON_FINISH_ATTACK1}, // S_CYBRAKDEMON_NAPALM_ATTACK3
|
||||
{SPR_BRAK, 0, 0, {A_SetObjectFlags2}, MF2_FRET, 1, S_CYBRAKDEMON_FINISH_ATTACK2}, // S_CYBRAKDEMON_FINISH_ATTACK1 // If just attacked, remove MF2_FRET w/out going back to spawnstate
|
||||
{SPR_BRAK, 0, 0, {A_SetReactionTime}, 0, 0, S_CYBRAKDEMON_WALK1}, // S_CYBRAKDEMON_FINISH_ATTACK2 // If just attacked, remove MF2_FRET w/out going back to spawnstate
|
||||
{SPR_BRAK, 18, 24, {A_Pain}, 0, 0, S_CYBRAKDEMON_PAIN2}, // S_CYBRAKDEMON_PAIN1
|
||||
{SPR_BRAK, 18, 0, {A_CheckHealth}, 3, S_CYBRAKDEMON_PAIN3, S_CYBRAKDEMON_CHOOSE_ATTACK1}, // S_CYBRAKDEMON_PAIN2
|
||||
{SPR_BRAK, 18, 0, {A_LinedefExecute}, LE_PINCHPHASE, 0, S_CYBRAKDEMON_CHOOSE_ATTACK1}, // S_CYBRAKDEMON_PAIN3
|
||||
{SPR_BRAK, 18, 1, {A_Repeat}, 1, S_CYBRAKDEMON_DIE1, S_CYBRAKDEMON_DIE2}, // S_CYBRAKDEMON_DIE1
|
||||
{SPR_BRAK, 18, 2, {A_BossScream}, 2, 0, S_CYBRAKDEMON_DIE3}, // S_CYBRAKDEMON_DIE2
|
||||
{SPR_BRAK, 18, 0, {A_Repeat}, 52, S_CYBRAKDEMON_DIE2, S_CYBRAKDEMON_DIE4}, // S_CYBRAKDEMON_DIE3
|
||||
{SPR_BRAK, 13, 34, {A_BossDeath}, 0, 0, S_CYBRAKDEMON_DIE5}, // S_CYBRAKDEMON_DIE4
|
||||
{SPR_BRAK, 14, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE6}, // S_CYBRAKDEMON_DIE5
|
||||
{SPR_BRAK, 15, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE7}, // S_CYBRAKDEMON_DIE6
|
||||
{SPR_BRAK, 16, 34, {NULL}, 0, 0, S_CYBRAKDEMON_DIE8}, // S_CYBRAKDEMON_DIE7
|
||||
{SPR_BRAK, 17, 34, {NULL}, sfx_befall, 0, S_CYBRAKDEMON_DIE8}, // S_CYBRAKDEMON_DIE8
|
||||
{SPR_BRAK, 0, 0, {A_SetObjectFlags}, MF_SPECIAL|MF_SHOOTABLE, 2, S_CYBRAKDEMON_IDLE}, // S_CYBRAKDEMON_DEINVINCIBLERIZE
|
||||
{SPR_BRAK, 0, 0, {A_SetObjectFlags}, MF_SPECIAL|MF_SHOOTABLE, 1, S_CYBRAKDEMON_IDLE}, // S_CYBRAKDEMON_INVINCIBLERIZE
|
||||
|
||||
{SPR_RCKT, 0 + FF_FULLBRIGHT, 1, {A_SetObjectFlags2}, MF2_RAILRING, 2, S_CYBRAKDEMONMISSILE}, // S_CYBRAKDEMONMISSILE
|
||||
{SPR_RCKT, 1 + FF_FULLBRIGHT, 8, {A_Explode}, 0, 0, S_CYBRAKDEMONMISSILE_EXPLODE2}, // S_CYBRAKDEMONMISSILE_EXPLODE1 //TODO: set missile mobj's "damage" to an appropriate radius
|
||||
{SPR_RCKT, 2 + FF_FULLBRIGHT, 6, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (6<<16), 32 + (16<<16), S_CYBRAKDEMONMISSILE_EXPLODE3}, // S_CYBRAKDEMONMISSILE_EXPLODE2
|
||||
{SPR_RCKT, 3 + FF_FULLBRIGHT, 4, {NULL}, 0, 0, S_NULL}, // S_CYBRAKDEMONMISSILE_EXPLODE3
|
||||
|
||||
{SPR_FLME, FF_FULLBRIGHT , 15, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY2}, // S_CYBRAKDEMONFLAMESHOT_FLY1
|
||||
{SPR_FLME, FF_FULLBRIGHT|1, 15, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY3}, // S_CYBRAKDEMONFLAMESHOT_FLY2
|
||||
{SPR_FLME, FF_FULLBRIGHT|2, -1, {NULL}, 0, 0, S_CYBRAKDEMONFLAMESHOT_FLY3}, // S_CYBRAKDEMONFLAMESHOT_FLY3
|
||||
{SPR_FLME, FF_FULLBRIGHT|2, 0, {A_SpawnObjectRelative}, 0, MT_CYBRAKDEMON_FLAMEREST, S_NULL}, // S_CYBRAKDEMONFLAMESHOT_DIE
|
||||
|
||||
{SPR_FLAM, FF_FULLBRIGHT, 1, {A_SetFuse}, 10*TICRATE, 0, S_FLAMEREST}, // S_CYBRAKDEMONFLAMEREST
|
||||
|
||||
{SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_INIT2}, // S_CYBRAKDEMONELECTRICBARRIER_INIT1
|
||||
{SPR_ELEC, 0 + FF_FULLBRIGHT, 0, {A_RemoteAction}, -1, S_CYBRAKDEMON_INVINCIBLERIZE, S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND}, // S_CYBRAKDEMONELECTRICBARRIER_INIT2
|
||||
{SPR_ELEC, 0 + FF_FULLBRIGHT, 0, {A_PlayActiveSound}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER1}, // S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND
|
||||
{SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER2}, // S_CYBRAKDEMONELECTRICBARRIER1
|
||||
{SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER3}, // S_CYBRAKDEMONELECTRICBARRIER2
|
||||
{SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER4}, // S_CYBRAKDEMONELECTRICBARRIER3
|
||||
{SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER5}, // S_CYBRAKDEMONELECTRICBARRIER4
|
||||
{SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER6}, // S_CYBRAKDEMONELECTRICBARRIER5
|
||||
{SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER7}, // S_CYBRAKDEMONELECTRICBARRIER6
|
||||
{SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER8}, // S_CYBRAKDEMONELECTRICBARRIER7
|
||||
{SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER9}, // S_CYBRAKDEMONELECTRICBARRIER8
|
||||
{SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER10}, // S_CYBRAKDEMONELECTRICBARRIER9
|
||||
{SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER11}, // S_CYBRAKDEMONELECTRICBARRIER10
|
||||
{SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER12}, // S_CYBRAKDEMONELECTRICBARRIER11
|
||||
{SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER13}, // S_CYBRAKDEMONELECTRICBARRIER12
|
||||
{SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER14}, // S_CYBRAKDEMONELECTRICBARRIER13
|
||||
{SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER15}, // S_CYBRAKDEMONELECTRICBARRIER14
|
||||
{SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER16}, // S_CYBRAKDEMONELECTRICBARRIER15
|
||||
{SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER17}, // S_CYBRAKDEMONELECTRICBARRIER16
|
||||
{SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER18}, // S_CYBRAKDEMONELECTRICBARRIER17
|
||||
{SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER19}, // S_CYBRAKDEMONELECTRICBARRIER18
|
||||
{SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER20}, // S_CYBRAKDEMONELECTRICBARRIER19
|
||||
{SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER21}, // S_CYBRAKDEMONELECTRICBARRIER20
|
||||
{SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER22}, // S_CYBRAKDEMONELECTRICBARRIER21
|
||||
{SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER23}, // S_CYBRAKDEMONELECTRICBARRIER22
|
||||
{SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER24}, // S_CYBRAKDEMONELECTRICBARRIER23
|
||||
{SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND}, // S_CYBRAKDEMONELECTRICBARRIER24
|
||||
{SPR_NULL, 0, 0, {A_RemoteAction}, -1, S_CYBRAKDEMON_DEINVINCIBLERIZE, S_CYBRAKDEMONELECTRICBARRIER_DIE2}, // S_CYBRAKDEMONELECTRICBARRIER_DIE1
|
||||
{SPR_NULL, 0, 0, {A_SetObjectFlags}, MF_PUSHABLE|MF_PAIN, 1, S_CYBRAKDEMONELECTRICBARRIER_DIE3}, // S_CYBRAKDEMONELECTRICBARRIER_DIE2
|
||||
{SPR_NULL, 0, 20*TICRATE, {A_Scream}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS}, // S_CYBRAKDEMONELECTRICBARRIER_DIE3
|
||||
{SPR_NULL, 0, 0, {A_CheckRandom}, 10, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK,
|
||||
{SPR_NULL, 0, 0, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS,
|
||||
{SPR_NULL, 0, 0, {A_RandomStateRange}, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE,
|
||||
{SPR_ELEC, 0 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1,
|
||||
{SPR_ELEC, 1 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM2,
|
||||
{SPR_ELEC, 2 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM3,
|
||||
{SPR_ELEC, 3 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM4,
|
||||
{SPR_ELEC, 4 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM5,
|
||||
{SPR_ELEC, 5 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM6,
|
||||
{SPR_ELEC, 6 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM7,
|
||||
{SPR_ELEC, 7 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM8,
|
||||
{SPR_ELEC, 8 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM9,
|
||||
{SPR_ELEC, 9 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM10,
|
||||
{SPR_ELEC, 10 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM11,
|
||||
{SPR_ELEC, 11 + FF_FULLBRIGHT, 1, {A_PlaySound}, sfx_s3k5c, 1, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12,
|
||||
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL,
|
||||
{SPR_NULL, 0, 0, {A_Repeat}, 5*TICRATE, S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK, S_CYBRAKDEMONELECTRICBARRIER_REVIVE1}, // S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP,
|
||||
{SPR_NULL, 0, 0, {A_CapeChase}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_REVIVE2}, // S_CYBRAKDEMONELECTRICBARRIER_REVIVE1
|
||||
{SPR_NULL, 0, 0, {A_SpawnFreshCopy}, 0, 0, S_CYBRAKDEMONELECTRICBARRIER_REVIVE3}, // S_CYBRAKDEMONELECTRICBARRIER_REVIVE2
|
||||
{SPR_NULL, 0, TICRATE, {A_PlaySound}, sfx_s3k79, 0, S_NULL}, // S_CYBRAKDEMONELECTRICBARRIER_REVIVE3
|
||||
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT , 1, {A_VileFire}, sfx_s3k9d, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE2}, // S_CYBRAKDEMONTARGETRETICULE1
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE3}, // S_CYBRAKDEMONTARGETRETICULE2
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|1, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE4}, // S_CYBRAKDEMONTARGETRETICULE3
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE5}, // S_CYBRAKDEMONTARGETRETICULE4
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|2, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE6}, // S_CYBRAKDEMONTARGETRETICULE5
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE7}, // S_CYBRAKDEMONTARGETRETICULE6
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|3, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE8}, // S_CYBRAKDEMONTARGETRETICULE7
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE9}, // S_CYBRAKDEMONTARGETRETICULE8
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|4, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE10}, // S_CYBRAKDEMONTARGETRETICULE9
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE11}, // S_CYBRAKDEMONTARGETRETICULE10
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|5, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE12}, // S_CYBRAKDEMONTARGETRETICULE11
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE13}, // S_CYBRAKDEMONTARGETRETICULE12
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT , 1, {A_VileFire}, 0, MT_CYBRAKDEMON_TARGET_DOT, S_CYBRAKDEMONTARGETRETICULE14}, // S_CYBRAKDEMONTARGETRETICULE13
|
||||
{SPR_TARG, FF_TRANS50|FF_FULLBRIGHT|6, 1, {A_Repeat}, 6, S_CYBRAKDEMONTARGETRETICULE2, S_NULL}, // S_CYBRAKDEMONTARGETRETICULE14
|
||||
|
||||
{SPR_HOOP, FF_TRANS50|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_NULL}, // S_CYBRAKDEMONTARGETDOT
|
||||
|
||||
{SPR_NPLM, 0, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1,
|
||||
{SPR_NPLM, 1, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2,
|
||||
{SPR_NPLM, 2, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3,
|
||||
{SPR_NPLM, 3, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1}, //S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4,
|
||||
{SPR_NPLM, 0, 1, {A_Explode}, 0, 0, S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE1, // Explode
|
||||
{SPR_NPLM, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_BOMB_SMALL + (6<<16), 256 + (48<<16), S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2, // Outer ring
|
||||
{SPR_NPLM, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_BOMB_SMALL + (1<<16), 32<<16, S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3, // Center
|
||||
{SPR_NULL, 0, 81, {A_Scream}, 0, 0, S_NULL}, //S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4, // Sound
|
||||
|
||||
{SPR_MNPL, 0, 1, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMBOMBSMALL}, //S_CYBRAKDEMONNAPALMBOMBSMALL,
|
||||
{SPR_MNPL, 0, 1, {A_Explode}, 0, 0, S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE1, // Explode
|
||||
{SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (12<<16), 128 + (40<<16), S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2, // Outer ring
|
||||
{SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (8<<16), 64 + (32<<16), S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3, // Inner ring
|
||||
{SPR_MNPL, 0, 1, {A_NapalmScatter}, MT_CYBRAKDEMON_NAPALM_FLAMES + (1<<16), 24<<16, S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4, // Center
|
||||
{SPR_NULL, 0, 24, {A_Scream}, 0, 0, S_NULL}, //S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5, // Sound
|
||||
|
||||
{SPR_SFLM, FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY2}, //S_CYBRAKDEMONNAPALMFLAME_FLY1,
|
||||
{SPR_SFLM, FF_FULLBRIGHT|1, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY3}, //S_CYBRAKDEMONNAPALMFLAME_FLY2,
|
||||
{SPR_SFLM, FF_FULLBRIGHT|2, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY4}, //S_CYBRAKDEMONNAPALMFLAME_FLY3,
|
||||
{SPR_SFLM, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY5}, //S_CYBRAKDEMONNAPALMFLAME_FLY4,
|
||||
{SPR_SFLM, FF_FULLBRIGHT|4, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY6}, //S_CYBRAKDEMONNAPALMFLAME_FLY5,
|
||||
{SPR_SFLM, FF_FULLBRIGHT|5, 2, {NULL}, 0, 0, S_CYBRAKDEMONNAPALMFLAME_FLY1}, //S_CYBRAKDEMONNAPALMFLAME_FLY6,
|
||||
{SPR_SFLM, FF_FULLBRIGHT, 0, {A_SpawnObjectRelative}, 0, MT_CYBRAKDEMON_FLAMEREST, S_NULL}, //S_CYBRAKDEMONNAPALMFLAME_DIE,
|
||||
|
||||
{SPR_NULL, 0, 1, {A_SetFuse}, TICRATE, 0, S_CYBRAKDEMONVILEEXPLOSION2}, //S_CYBRAKDEMONVILEEXPLOSION1,
|
||||
{SPR_NULL, 0, 0, {A_ScoreRise}, 0, 0, S_CYBRAKDEMONVILEEXPLOSION3}, //S_CYBRAKDEMONVILEEXPLOSION2,
|
||||
{SPR_NULL, 0, 1, {A_BossScream}, 0, 0, S_CYBRAKDEMONVILEEXPLOSION1}, //S_CYBRAKDEMONVILEEXPLOSION3,
|
||||
|
||||
// Metal Sonic
|
||||
{SPR_PLAY, SPR2_STIL, -1, {NULL}, 0, 0, S_METALSONIC_RACE}, // S_METALSONIC_RACE
|
||||
|
||||
|
|
@ -7674,412 +7436,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BLACKEGGMAN
|
||||
206, // doomednum
|
||||
S_BLACKEGG_STND, // spawnstate
|
||||
8, // spawnhealth
|
||||
S_BLACKEGG_WALK1, // seestate
|
||||
sfx_None, // seesound
|
||||
8*TICRATE, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_BLACKEGG_PAIN1, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_BLACKEGG_HITFACE1, // meleestate
|
||||
S_BLACKEGG_MISSILE1, // missilestate
|
||||
S_BLACKEGG_DIE1, // deathstate
|
||||
S_BLACKEGG_GOOP, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
1, // speed
|
||||
48*FRACUNIT, // radius
|
||||
160*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
3, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SPECIAL|MF_BOSS,// flags
|
||||
S_BLACKEGG_JUMP1 // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BLACKEGGMAN_HELPER
|
||||
-1, // doomednum
|
||||
S_BLACKEGG_HELPER, // spawnstate
|
||||
8, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
0, // 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
|
||||
1, // speed
|
||||
48*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SOLID|MF_NOGRAVITY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BLACKEGGMAN_GOOPFIRE
|
||||
-1, // doomednum
|
||||
S_BLACKEGG_GOOP1, // 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_BLACKEGG_GOOP3, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_ghit, // deathsound
|
||||
30*FRACUNIT, // speed
|
||||
11*FRACUNIT, // radius
|
||||
8*FRACUNIT, // height
|
||||
100, // display offset
|
||||
0, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BLACKEGGMAN_MISSILE
|
||||
-1, // doomednum
|
||||
S_BLACKEGG_MISSILE, // 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_BOSSEXPLODE, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_bexpld, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
24*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON
|
||||
209, // doomednum
|
||||
S_CYBRAKDEMON_IDLE, // spawnstate
|
||||
12, // spawnhealth
|
||||
S_CYBRAKDEMON_WALK1,// seestate
|
||||
sfx_None, // seesound
|
||||
15, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_CYBRAKDEMON_PAIN1,// painstate
|
||||
0, // painchance
|
||||
sfx_behurt, // painsound
|
||||
S_CYBRAKDEMON_CHOOSE_ATTACK2, // meleestate
|
||||
S_CYBRAKDEMON_CHOOSE_ATTACK1, // missilestate
|
||||
S_CYBRAKDEMON_DIE1, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_s3kb4, // deathsound
|
||||
40, // speed
|
||||
48*FRACUNIT, // radius
|
||||
160*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_bewar1, // activesound
|
||||
MF_SPECIAL|MF_BOSS|MF_SHOOTABLE, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_ELECTRIC_BARRIER
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONELECTRICBARRIER_INIT1, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_s3k79, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_CYBRAKDEMONELECTRICBARRIER_DIE1, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_fizzle, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
24*FRACUNIT, // radius
|
||||
80*FRACUNIT, // height
|
||||
0, // display offset
|
||||
DMG_NORMAL, // mass
|
||||
1, // damage
|
||||
sfx_beelec, // activesound
|
||||
MF_PAIN|MF_NOGRAVITY|MF_PUSHABLE, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_MISSILE
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONMISSILE, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_brakrl, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_CYBRAKDEMONMISSILE_EXPLODE1, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_brakrx, // deathsound
|
||||
40*FRACUNIT, // speed
|
||||
11*FRACUNIT, // radius
|
||||
8*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
32*FRACUNIT, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_FLAMESHOT
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONFLAMESHOT_FLY1, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_s3kc2s, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_CYBRAKDEMONFLAMESHOT_DIE, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
20*FRACUNIT, // speed
|
||||
24*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
0, // display offset
|
||||
DMG_NORMAL, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_MISSILE|MF_PAIN|MF_NOGRAVITY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_FLAMEREST
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONFLAMEREST, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_s3kc2s, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
MT_NULL, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_NULL, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
20*FRACUNIT, // speed
|
||||
24*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
0, // display offset
|
||||
DMG_NORMAL, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_PAIN|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_TARGET_RETICULE
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONTARGETRETICULE1, // 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_BOSSEXPLODE, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
32*FRACUNIT, // radius
|
||||
64*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_TARGET_DOT
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONTARGETDOT, // 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_BOSSEXPLODE, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
32*FRACUNIT, // radius
|
||||
64*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_NAPALM_BOMB_LARGE
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_s3k81, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
20*TICRATE, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_DIE1, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_s3k4e, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
24*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
48*FRACUNIT, // damage
|
||||
sfx_s3k5d, // activesound
|
||||
MF_NOBLOCKMAP|MF_MISSILE|MF_GRENADEBOUNCE, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_NAPALM_BOMB_SMALL
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONNAPALMBOMBSMALL, // 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_CYBRAKDEMONNAPALMBOMBSMALL_DIE1, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_s3k70, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
24*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
32*FRACUNIT, // damage
|
||||
sfx_s3k99, // activesound
|
||||
MF_NOBLOCKMAP|MF_MISSILE, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_NAPALM_FLAMES
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONNAPALMFLAME_FLY1, // 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_CYBRAKDEMONNAPALMFLAME_DIE, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
24*FRACUNIT, // radius
|
||||
24*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_MISSILE, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_CYBRAKDEMON_VILE_EXPLOSION
|
||||
-1, // doomednum
|
||||
S_CYBRAKDEMONVILEEXPLOSION1, // spawnstate
|
||||
1, // 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_s3kb4, // deathsound
|
||||
1*FRACUNIT, // speed
|
||||
8*FRACUNIT, // radius
|
||||
8*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
|
||||
{ // MT_METALSONIC_RACE
|
||||
207, // doomednum
|
||||
S_METALSONIC_RACE, // spawnstate
|
||||
|
|
|
|||
251
src/info.h
251
src/info.h
|
|
@ -404,7 +404,6 @@ void A_BossZoom(); //Unused
|
|||
void A_Boss1Chase();
|
||||
void A_Boss2Chase();
|
||||
void A_Boss2Pogo();
|
||||
void A_Boss7Chase();
|
||||
void A_BossJetFume();
|
||||
void A_SpawnObjectAbsolute();
|
||||
void A_SpawnObjectRelative();
|
||||
|
|
@ -660,7 +659,6 @@ typedef enum sprite
|
|||
SPR_EGGR,
|
||||
|
||||
// Boss 7 (Dark City)
|
||||
SPR_BRAK,
|
||||
SPR_BGOO, // Goop
|
||||
SPR_BMSL,
|
||||
|
||||
|
|
@ -2077,236 +2075,6 @@ typedef enum state
|
|||
S_FSGNC,
|
||||
S_FSGND,
|
||||
|
||||
// Black Eggman (Boss 7)
|
||||
S_BLACKEGG_STND,
|
||||
S_BLACKEGG_STND2,
|
||||
S_BLACKEGG_WALK1,
|
||||
S_BLACKEGG_WALK2,
|
||||
S_BLACKEGG_WALK3,
|
||||
S_BLACKEGG_WALK4,
|
||||
S_BLACKEGG_WALK5,
|
||||
S_BLACKEGG_WALK6,
|
||||
S_BLACKEGG_SHOOT1,
|
||||
S_BLACKEGG_SHOOT2,
|
||||
S_BLACKEGG_PAIN1,
|
||||
S_BLACKEGG_PAIN2,
|
||||
S_BLACKEGG_PAIN3,
|
||||
S_BLACKEGG_PAIN4,
|
||||
S_BLACKEGG_PAIN5,
|
||||
S_BLACKEGG_PAIN6,
|
||||
S_BLACKEGG_PAIN7,
|
||||
S_BLACKEGG_PAIN8,
|
||||
S_BLACKEGG_PAIN9,
|
||||
S_BLACKEGG_PAIN10,
|
||||
S_BLACKEGG_PAIN11,
|
||||
S_BLACKEGG_PAIN12,
|
||||
S_BLACKEGG_PAIN13,
|
||||
S_BLACKEGG_PAIN14,
|
||||
S_BLACKEGG_PAIN15,
|
||||
S_BLACKEGG_PAIN16,
|
||||
S_BLACKEGG_PAIN17,
|
||||
S_BLACKEGG_PAIN18,
|
||||
S_BLACKEGG_PAIN19,
|
||||
S_BLACKEGG_PAIN20,
|
||||
S_BLACKEGG_PAIN21,
|
||||
S_BLACKEGG_PAIN22,
|
||||
S_BLACKEGG_PAIN23,
|
||||
S_BLACKEGG_PAIN24,
|
||||
S_BLACKEGG_PAIN25,
|
||||
S_BLACKEGG_PAIN26,
|
||||
S_BLACKEGG_PAIN27,
|
||||
S_BLACKEGG_PAIN28,
|
||||
S_BLACKEGG_PAIN29,
|
||||
S_BLACKEGG_PAIN30,
|
||||
S_BLACKEGG_PAIN31,
|
||||
S_BLACKEGG_PAIN32,
|
||||
S_BLACKEGG_PAIN33,
|
||||
S_BLACKEGG_PAIN34,
|
||||
S_BLACKEGG_PAIN35,
|
||||
S_BLACKEGG_HITFACE1,
|
||||
S_BLACKEGG_HITFACE2,
|
||||
S_BLACKEGG_HITFACE3,
|
||||
S_BLACKEGG_HITFACE4,
|
||||
S_BLACKEGG_DIE1,
|
||||
S_BLACKEGG_DIE2,
|
||||
S_BLACKEGG_DIE3,
|
||||
S_BLACKEGG_DIE4,
|
||||
S_BLACKEGG_DIE5,
|
||||
S_BLACKEGG_MISSILE1,
|
||||
S_BLACKEGG_MISSILE2,
|
||||
S_BLACKEGG_MISSILE3,
|
||||
S_BLACKEGG_GOOP,
|
||||
S_BLACKEGG_JUMP1,
|
||||
S_BLACKEGG_JUMP2,
|
||||
S_BLACKEGG_DESTROYPLAT1,
|
||||
S_BLACKEGG_DESTROYPLAT2,
|
||||
S_BLACKEGG_DESTROYPLAT3,
|
||||
|
||||
S_BLACKEGG_HELPER, // Collision helper
|
||||
|
||||
S_BLACKEGG_GOOP1,
|
||||
S_BLACKEGG_GOOP2,
|
||||
S_BLACKEGG_GOOP3,
|
||||
S_BLACKEGG_GOOP4,
|
||||
S_BLACKEGG_GOOP5,
|
||||
S_BLACKEGG_GOOP6,
|
||||
S_BLACKEGG_GOOP7,
|
||||
|
||||
S_BLACKEGG_MISSILE,
|
||||
|
||||
// New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon)
|
||||
S_CYBRAKDEMON_IDLE,
|
||||
S_CYBRAKDEMON_WALK1,
|
||||
S_CYBRAKDEMON_WALK2,
|
||||
S_CYBRAKDEMON_WALK3,
|
||||
S_CYBRAKDEMON_WALK4,
|
||||
S_CYBRAKDEMON_WALK5,
|
||||
S_CYBRAKDEMON_WALK6,
|
||||
S_CYBRAKDEMON_CHOOSE_ATTACK1,
|
||||
S_CYBRAKDEMON_MISSILE_ATTACK1, // Aim
|
||||
S_CYBRAKDEMON_MISSILE_ATTACK2, // Fire
|
||||
S_CYBRAKDEMON_MISSILE_ATTACK3, // Aim
|
||||
S_CYBRAKDEMON_MISSILE_ATTACK4, // Fire
|
||||
S_CYBRAKDEMON_MISSILE_ATTACK5, // Aim
|
||||
S_CYBRAKDEMON_MISSILE_ATTACK6, // Fire
|
||||
S_CYBRAKDEMON_FLAME_ATTACK1, // Reset
|
||||
S_CYBRAKDEMON_FLAME_ATTACK2, // Aim
|
||||
S_CYBRAKDEMON_FLAME_ATTACK3, // Fire
|
||||
S_CYBRAKDEMON_FLAME_ATTACK4, // Loop
|
||||
S_CYBRAKDEMON_CHOOSE_ATTACK2,
|
||||
S_CYBRAKDEMON_VILE_ATTACK1,
|
||||
S_CYBRAKDEMON_VILE_ATTACK2,
|
||||
S_CYBRAKDEMON_VILE_ATTACK3,
|
||||
S_CYBRAKDEMON_VILE_ATTACK4,
|
||||
S_CYBRAKDEMON_VILE_ATTACK5,
|
||||
S_CYBRAKDEMON_VILE_ATTACK6,
|
||||
S_CYBRAKDEMON_NAPALM_ATTACK1,
|
||||
S_CYBRAKDEMON_NAPALM_ATTACK2,
|
||||
S_CYBRAKDEMON_NAPALM_ATTACK3,
|
||||
S_CYBRAKDEMON_FINISH_ATTACK1, // If just attacked, remove MF2_FRET w/out going back to spawnstate
|
||||
S_CYBRAKDEMON_FINISH_ATTACK2, // Force a delay between attacks so you don't get bombarded with them back-to-back
|
||||
S_CYBRAKDEMON_PAIN1,
|
||||
S_CYBRAKDEMON_PAIN2,
|
||||
S_CYBRAKDEMON_PAIN3,
|
||||
S_CYBRAKDEMON_DIE1,
|
||||
S_CYBRAKDEMON_DIE2,
|
||||
S_CYBRAKDEMON_DIE3,
|
||||
S_CYBRAKDEMON_DIE4,
|
||||
S_CYBRAKDEMON_DIE5,
|
||||
S_CYBRAKDEMON_DIE6,
|
||||
S_CYBRAKDEMON_DIE7,
|
||||
S_CYBRAKDEMON_DIE8,
|
||||
S_CYBRAKDEMON_DEINVINCIBLERIZE,
|
||||
S_CYBRAKDEMON_INVINCIBLERIZE,
|
||||
|
||||
S_CYBRAKDEMONMISSILE,
|
||||
S_CYBRAKDEMONMISSILE_EXPLODE1,
|
||||
S_CYBRAKDEMONMISSILE_EXPLODE2,
|
||||
S_CYBRAKDEMONMISSILE_EXPLODE3,
|
||||
|
||||
S_CYBRAKDEMONFLAMESHOT_FLY1,
|
||||
S_CYBRAKDEMONFLAMESHOT_FLY2,
|
||||
S_CYBRAKDEMONFLAMESHOT_FLY3,
|
||||
S_CYBRAKDEMONFLAMESHOT_DIE,
|
||||
|
||||
S_CYBRAKDEMONFLAMEREST,
|
||||
|
||||
S_CYBRAKDEMONELECTRICBARRIER_INIT1,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_INIT2,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_PLAYSOUND,
|
||||
S_CYBRAKDEMONELECTRICBARRIER1,
|
||||
S_CYBRAKDEMONELECTRICBARRIER2,
|
||||
S_CYBRAKDEMONELECTRICBARRIER3,
|
||||
S_CYBRAKDEMONELECTRICBARRIER4,
|
||||
S_CYBRAKDEMONELECTRICBARRIER5,
|
||||
S_CYBRAKDEMONELECTRICBARRIER6,
|
||||
S_CYBRAKDEMONELECTRICBARRIER7,
|
||||
S_CYBRAKDEMONELECTRICBARRIER8,
|
||||
S_CYBRAKDEMONELECTRICBARRIER9,
|
||||
S_CYBRAKDEMONELECTRICBARRIER10,
|
||||
S_CYBRAKDEMONELECTRICBARRIER11,
|
||||
S_CYBRAKDEMONELECTRICBARRIER12,
|
||||
S_CYBRAKDEMONELECTRICBARRIER13,
|
||||
S_CYBRAKDEMONELECTRICBARRIER14,
|
||||
S_CYBRAKDEMONELECTRICBARRIER15,
|
||||
S_CYBRAKDEMONELECTRICBARRIER16,
|
||||
S_CYBRAKDEMONELECTRICBARRIER17,
|
||||
S_CYBRAKDEMONELECTRICBARRIER18,
|
||||
S_CYBRAKDEMONELECTRICBARRIER19,
|
||||
S_CYBRAKDEMONELECTRICBARRIER20,
|
||||
S_CYBRAKDEMONELECTRICBARRIER21,
|
||||
S_CYBRAKDEMONELECTRICBARRIER22,
|
||||
S_CYBRAKDEMONELECTRICBARRIER23,
|
||||
S_CYBRAKDEMONELECTRICBARRIER24,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_DIE1,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_DIE2,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_DIE3,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHECK,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMSUCCESS,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMCHOOSE,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM1,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM2,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM3,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM4,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM5,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM6,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM7,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM8,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM9,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM10,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM11,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOM12,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMFAIL,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_SPARK_RANDOMLOOP,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_REVIVE1,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_REVIVE2,
|
||||
S_CYBRAKDEMONELECTRICBARRIER_REVIVE3,
|
||||
|
||||
S_CYBRAKDEMONTARGETRETICULE1,
|
||||
S_CYBRAKDEMONTARGETRETICULE2,
|
||||
S_CYBRAKDEMONTARGETRETICULE3,
|
||||
S_CYBRAKDEMONTARGETRETICULE4,
|
||||
S_CYBRAKDEMONTARGETRETICULE5,
|
||||
S_CYBRAKDEMONTARGETRETICULE6,
|
||||
S_CYBRAKDEMONTARGETRETICULE7,
|
||||
S_CYBRAKDEMONTARGETRETICULE8,
|
||||
S_CYBRAKDEMONTARGETRETICULE9,
|
||||
S_CYBRAKDEMONTARGETRETICULE10,
|
||||
S_CYBRAKDEMONTARGETRETICULE11,
|
||||
S_CYBRAKDEMONTARGETRETICULE12,
|
||||
S_CYBRAKDEMONTARGETRETICULE13,
|
||||
S_CYBRAKDEMONTARGETRETICULE14,
|
||||
|
||||
S_CYBRAKDEMONTARGETDOT,
|
||||
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_FLY1,
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_FLY2,
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_FLY3,
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_FLY4,
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_DIE1, // Explode
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_DIE2, // Outer ring
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_DIE3, // Center
|
||||
S_CYBRAKDEMONNAPALMBOMBLARGE_DIE4, // Sound
|
||||
|
||||
S_CYBRAKDEMONNAPALMBOMBSMALL,
|
||||
S_CYBRAKDEMONNAPALMBOMBSMALL_DIE1, // Explode
|
||||
S_CYBRAKDEMONNAPALMBOMBSMALL_DIE2, // Outer ring
|
||||
S_CYBRAKDEMONNAPALMBOMBSMALL_DIE3, // Inner ring
|
||||
S_CYBRAKDEMONNAPALMBOMBSMALL_DIE4, // Center
|
||||
S_CYBRAKDEMONNAPALMBOMBSMALL_DIE5, // Sound
|
||||
|
||||
S_CYBRAKDEMONNAPALMFLAME_FLY1,
|
||||
S_CYBRAKDEMONNAPALMFLAME_FLY2,
|
||||
S_CYBRAKDEMONNAPALMFLAME_FLY3,
|
||||
S_CYBRAKDEMONNAPALMFLAME_FLY4,
|
||||
S_CYBRAKDEMONNAPALMFLAME_FLY5,
|
||||
S_CYBRAKDEMONNAPALMFLAME_FLY6,
|
||||
S_CYBRAKDEMONNAPALMFLAME_DIE,
|
||||
|
||||
S_CYBRAKDEMONVILEEXPLOSION1,
|
||||
S_CYBRAKDEMONVILEEXPLOSION2,
|
||||
S_CYBRAKDEMONVILEEXPLOSION3,
|
||||
|
||||
// Metal Sonic (Race)
|
||||
S_METALSONIC_RACE,
|
||||
// Metal Sonic (Battle)
|
||||
|
|
@ -5836,25 +5604,6 @@ typedef enum mobj_type
|
|||
MT_FSGNB,
|
||||
MT_FANGWAYPOINT,
|
||||
|
||||
// Black Eggman (Boss 7)
|
||||
MT_BLACKEGGMAN,
|
||||
MT_BLACKEGGMAN_HELPER,
|
||||
MT_BLACKEGGMAN_GOOPFIRE,
|
||||
MT_BLACKEGGMAN_MISSILE,
|
||||
|
||||
// New Very-Last-Minute 2.1 Brak Eggman (Cy-Brak-demon)
|
||||
MT_CYBRAKDEMON,
|
||||
MT_CYBRAKDEMON_ELECTRIC_BARRIER,
|
||||
MT_CYBRAKDEMON_MISSILE,
|
||||
MT_CYBRAKDEMON_FLAMESHOT,
|
||||
MT_CYBRAKDEMON_FLAMEREST,
|
||||
MT_CYBRAKDEMON_TARGET_RETICULE,
|
||||
MT_CYBRAKDEMON_TARGET_DOT,
|
||||
MT_CYBRAKDEMON_NAPALM_BOMB_LARGE,
|
||||
MT_CYBRAKDEMON_NAPALM_BOMB_SMALL,
|
||||
MT_CYBRAKDEMON_NAPALM_FLAMES,
|
||||
MT_CYBRAKDEMON_VILE_EXPLOSION,
|
||||
|
||||
// Metal Sonic (Boss 9)
|
||||
MT_METALSONIC_RACE,
|
||||
MT_METALSONIC_BATTLE,
|
||||
|
|
|
|||
168
src/p_enemy.c
168
src/p_enemy.c
|
|
@ -144,7 +144,6 @@ void A_RingExplode(mobj_t *actor);
|
|||
void A_OldRingExplode(mobj_t *actor);
|
||||
void A_MixUp(mobj_t *actor);
|
||||
void A_Boss2TakeDamage(mobj_t *actor);
|
||||
void A_Boss7Chase(mobj_t *actor);
|
||||
void A_GoopSplat(mobj_t *actor);
|
||||
void A_Boss2PogoSFX(mobj_t *actor);
|
||||
void A_Boss2PogoTarget(mobj_t *actor);
|
||||
|
|
@ -2493,26 +2492,15 @@ void A_LobShot(mobj_t *actor)
|
|||
if (actor->eflags & MFE_VERTICALFLIP)
|
||||
{
|
||||
z = actor->z + actor->height - FixedMul(locvar2*FRACUNIT, actor->scale);
|
||||
if (actor->type == MT_BLACKEGGMAN)
|
||||
z -= FixedMul(mobjinfo[locvar1].height, actor->scale/2);
|
||||
else
|
||||
z -= FixedMul(mobjinfo[locvar1].height, actor->scale);
|
||||
z -= FixedMul(mobjinfo[locvar1].height, actor->scale);
|
||||
}
|
||||
else
|
||||
z = actor->z + FixedMul(locvar2*FRACUNIT, actor->scale);
|
||||
|
||||
shot = P_SpawnMobj(actor->x, actor->y, z, locvar1);
|
||||
|
||||
if (actor->type == MT_BLACKEGGMAN)
|
||||
{
|
||||
shot->destscale = actor->scale/2;
|
||||
P_SetScale(shot, actor->scale/2);
|
||||
}
|
||||
else
|
||||
{
|
||||
shot->destscale = actor->scale;
|
||||
P_SetScale(shot, actor->scale);
|
||||
}
|
||||
shot->destscale = actor->scale;
|
||||
P_SetScale(shot, actor->scale);
|
||||
|
||||
// Keep track of where it's going to land
|
||||
hitspot = P_SpawnMobj(actor->target->x&(64*FRACUNIT-1), actor->target->y&(64*FRACUNIT-1), actor->target->subsector->sector->floorheight, MT_NULL);
|
||||
|
|
@ -3579,28 +3567,6 @@ bossjustdie:
|
|||
// now do another switch case for escaping
|
||||
switch (mo->type)
|
||||
{
|
||||
case MT_BLACKEGGMAN:
|
||||
{
|
||||
mo->flags |= MF_NOCLIP;
|
||||
mo->flags &= ~MF_SPECIAL;
|
||||
|
||||
S_StartSound(NULL, sfx_befall);
|
||||
break;
|
||||
}
|
||||
case MT_CYBRAKDEMON:
|
||||
{
|
||||
mo->flags |= MF_NOCLIP;
|
||||
mo->flags &= ~(MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT);
|
||||
|
||||
S_StartSound(NULL, sfx_bedie2);
|
||||
P_SpawnMobjFromMobj(mo, 0, 0, 0, MT_CYBRAKDEMON_VILE_EXPLOSION);
|
||||
mo->z += P_MobjFlip(mo);
|
||||
P_SetObjectMomZ(mo, 12*FRACUNIT, false);
|
||||
S_StartSound(mo, sfx_bgxpld);
|
||||
if (mo->spawnpoint && !(mo->spawnpoint->options & MTF_EXTRA))
|
||||
P_InstaThrust(mo, R_PointToAngle2(0, 0, mo->x, mo->y), 14*FRACUNIT);
|
||||
break;
|
||||
}
|
||||
case MT_KOOPA:
|
||||
{
|
||||
// Initialize my junk
|
||||
|
|
@ -6193,128 +6159,6 @@ void A_Boss2TakeDamage(mobj_t *actor)
|
|||
actor->movecount = locvar1; // become flashing invulnerable for this long.
|
||||
}
|
||||
|
||||
// Function: A_Boss7Chase
|
||||
//
|
||||
// Description: Like A_Chase, but for Black Eggman
|
||||
//
|
||||
// var1 = unused
|
||||
// var2 = unused
|
||||
//
|
||||
void A_Boss7Chase(mobj_t *actor)
|
||||
{
|
||||
INT32 delta;
|
||||
INT32 i;
|
||||
|
||||
if (LUA_CallAction(A_BOSS7CHASE, actor))
|
||||
return;
|
||||
|
||||
if (actor->z != actor->floorz)
|
||||
return;
|
||||
|
||||
// Self-adjust if stuck on the edge
|
||||
if (actor->tracer)
|
||||
{
|
||||
if (P_AproxDistance(actor->x - actor->tracer->x, actor->y - actor->tracer->y) > 128*FRACUNIT - actor->radius)
|
||||
P_InstaThrust(actor, R_PointToAngle2(actor->x, actor->y, actor->tracer->x, actor->tracer->y), FRACUNIT);
|
||||
}
|
||||
|
||||
if (actor->flags2 & MF2_FRET)
|
||||
{
|
||||
P_SetMobjState(actor, S_BLACKEGG_DESTROYPLAT1);
|
||||
S_StartSound(0, sfx_s3k53);
|
||||
actor->flags2 &= ~MF2_FRET;
|
||||
return;
|
||||
}
|
||||
|
||||
// turn towards movement direction if not there yet
|
||||
if (actor->movedir < NUMDIRS)
|
||||
{
|
||||
actor->angle &= (7<<29);
|
||||
delta = actor->angle - (actor->movedir << 29);
|
||||
|
||||
if (delta > 0)
|
||||
actor->angle -= ANGLE_45;
|
||||
else if (delta < 0)
|
||||
actor->angle += ANGLE_45;
|
||||
}
|
||||
|
||||
// Is a player on top of us?
|
||||
for (i = 0; i < MAXPLAYERS; i++)
|
||||
{
|
||||
if (!playeringame[i] || players[i].spectator)
|
||||
continue;
|
||||
|
||||
if (!players[i].mo)
|
||||
continue;
|
||||
|
||||
if (players[i].mo->health <= 0)
|
||||
continue;
|
||||
|
||||
if (P_AproxDistance(players[i].mo->x - actor->x, players[i].mo->y - actor->y) > actor->radius)
|
||||
continue;
|
||||
|
||||
if (players[i].mo->z > actor->z + actor->height - 2*FRACUNIT
|
||||
&& players[i].mo->z < actor->z + actor->height + 32*FRACUNIT)
|
||||
{
|
||||
// Punch him!
|
||||
P_SetMobjState(actor, actor->info->meleestate);
|
||||
S_StartSound(0, sfx_begrnd); // warning sound
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (actor->reactiontime)
|
||||
actor->reactiontime--;
|
||||
|
||||
if (actor->reactiontime <= 0 && actor->z == actor->floorz)
|
||||
{
|
||||
// Here, we'll call P_RandomByte() and decide what kind of attack to do
|
||||
switch(actor->threshold)
|
||||
{
|
||||
case 0: // Lob cannon balls
|
||||
if (actor->z < 1056*FRACUNIT)
|
||||
{
|
||||
A_FaceTarget(actor);
|
||||
P_SetMobjState(actor, actor->info->xdeathstate);
|
||||
actor->movecount = 7*TICRATE + P_RandomByte();
|
||||
break;
|
||||
}
|
||||
actor->threshold++;
|
||||
/* FALLTHRU */
|
||||
case 1: // Chaingun Goop
|
||||
A_FaceTarget(actor);
|
||||
P_SetMobjState(actor, S_BLACKEGG_SHOOT1);
|
||||
|
||||
if (actor->health > actor->info->damage)
|
||||
actor->movecount = TICRATE + P_RandomByte()/3;
|
||||
else
|
||||
actor->movecount = TICRATE + P_RandomByte()/2;
|
||||
break;
|
||||
case 2: // Homing Missile
|
||||
A_FaceTarget(actor);
|
||||
P_SetMobjState(actor, actor->info->missilestate);
|
||||
S_StartSound(0, sfx_beflap);
|
||||
break;
|
||||
}
|
||||
|
||||
actor->threshold++;
|
||||
actor->threshold %= 3;
|
||||
return;
|
||||
}
|
||||
|
||||
// possibly choose another target
|
||||
if (multiplayer && (actor->target->health <= 0 || !P_CheckSight(actor, actor->target))
|
||||
&& P_BossTargetPlayer(actor, false))
|
||||
return; // got a new target
|
||||
|
||||
if (leveltime & 1)
|
||||
{
|
||||
// chase towards player
|
||||
if (--actor->movecount < 0 || !P_Move(actor, actor->info->speed))
|
||||
P_NewChaseDir(actor);
|
||||
}
|
||||
}
|
||||
|
||||
// Function: A_GoopSplat
|
||||
//
|
||||
// Description: Black Eggman goop hits a target and sticks around for awhile.
|
||||
|
|
@ -9849,7 +9693,7 @@ void A_VileTarget(mobj_t *actor)
|
|||
|
||||
// Determine object to spawn
|
||||
if (locvar1 <= 0 || locvar1 >= NUMMOBJTYPES)
|
||||
fogtype = MT_CYBRAKDEMON_TARGET_RETICULE;
|
||||
return;
|
||||
else
|
||||
fogtype = (mobjtype_t)locvar1;
|
||||
|
||||
|
|
@ -10145,8 +9989,6 @@ void A_BrakChase(mobj_t *actor)
|
|||
if (actor->reactiontime)
|
||||
{
|
||||
actor->reactiontime--;
|
||||
if (actor->reactiontime == 0 && actor->type == MT_CYBRAKDEMON)
|
||||
S_StartSound(0, sfx_bewar1 + P_RandomKey(4));
|
||||
}
|
||||
|
||||
// modify target threshold
|
||||
|
|
@ -10225,7 +10067,7 @@ void A_BrakChase(mobj_t *actor)
|
|||
S_StartSound(actor, (sfxenum_t)locvar2);
|
||||
|
||||
// make active sound
|
||||
if (actor->type != MT_CYBRAKDEMON && actor->info->activesound && P_RandomChance(3*FRACUNIT/256))
|
||||
if (actor->info->activesound && P_RandomChance(3*FRACUNIT/256))
|
||||
{
|
||||
S_StartSound(actor, actor->info->activesound);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3901,7 +3901,7 @@ bounceback:
|
|||
tmxmove = FixedMul(mmomx, (FRACUNIT - (FRACUNIT>>6) - (FRACUNIT>>5)));
|
||||
tmymove = FixedMul(mmomy, (FRACUNIT - (FRACUNIT>>6) - (FRACUNIT>>5)));
|
||||
}
|
||||
else if (mo->type == MT_THROWNGRENADE || mo->type == MT_CYBRAKDEMON_NAPALM_BOMB_LARGE)
|
||||
else if (mo->type == MT_THROWNGRENADE)
|
||||
{
|
||||
// Quickly decay speed as it bounces
|
||||
tmxmove = FixedDiv(mmomx, 2*FRACUNIT);
|
||||
|
|
|
|||
16
src/p_mobj.c
16
src/p_mobj.c
|
|
@ -1172,7 +1172,6 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
|
|||
}
|
||||
break;
|
||||
case MT_WATERDROP:
|
||||
case MT_CYBRAKDEMON:
|
||||
case MT_BATTLEBUMPER:
|
||||
gravityadd /= 2;
|
||||
break;
|
||||
|
|
@ -2343,10 +2342,6 @@ boolean P_ZMovement(mobj_t *mo)
|
|||
if (abs(mom.z) < mo->scale)
|
||||
{
|
||||
mom.x = mom.y = mom.z = 0;
|
||||
|
||||
// Napalm hack
|
||||
if (mo->type == MT_CYBRAKDEMON_NAPALM_BOMB_LARGE && mo->fuse)
|
||||
mo->fuse = 1;
|
||||
}
|
||||
// Otherwise bounce up at half speed.
|
||||
else
|
||||
|
|
@ -9819,17 +9814,6 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
case MT_LOCKONINF:
|
||||
P_SetScale(mobj, (mobj->destscale = 3*mobj->scale));
|
||||
break;
|
||||
case MT_CYBRAKDEMON_NAPALM_BOMB_LARGE:
|
||||
mobj->fuse = mobj->info->painchance;
|
||||
break;
|
||||
case MT_BLACKEGGMAN:
|
||||
{
|
||||
mobj_t *spawn = P_SpawnMobj(mobj->x, mobj->z, mobj->z+mobj->height-16*FRACUNIT, MT_BLACKEGGMAN_HELPER);
|
||||
spawn->destscale = mobj->scale;
|
||||
P_SetScale(spawn, mobj->scale);
|
||||
P_SetTarget(&spawn->target, mobj);
|
||||
}
|
||||
break;
|
||||
case MT_FAKEMOBILE:
|
||||
case MT_EGGSHIELD:
|
||||
mobj->flags2 |= MF2_INVERTAIMABLE;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue