mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-18 02:21:47 +00:00
Merge branch 'EOL-15' into EOL
# Conflicts: # src/p_enemy.c
This commit is contained in:
commit
18c2de0003
6 changed files with 761 additions and 40 deletions
|
@ -5394,6 +5394,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_01_FLAP2",
|
||||
"S_FLICKY_01_FLAP3",
|
||||
"S_FLICKY_01_STAND",
|
||||
"S_FLICKY_01_CENTER",
|
||||
|
||||
// Rabbit
|
||||
"S_FLICKY_02_OUT",
|
||||
|
@ -5402,6 +5403,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_02_UP",
|
||||
"S_FLICKY_02_DOWN",
|
||||
"S_FLICKY_02_STAND",
|
||||
"S_FLICKY_02_CENTER",
|
||||
|
||||
// Chicken
|
||||
"S_FLICKY_03_OUT",
|
||||
|
@ -5411,6 +5413,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_03_FLAP1",
|
||||
"S_FLICKY_03_FLAP2",
|
||||
"S_FLICKY_03_STAND",
|
||||
"S_FLICKY_03_CENTER",
|
||||
|
||||
// Seal
|
||||
"S_FLICKY_04_OUT",
|
||||
|
@ -5423,6 +5426,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_04_SWIM3",
|
||||
"S_FLICKY_04_SWIM4",
|
||||
"S_FLICKY_04_STAND",
|
||||
"S_FLICKY_04_CENTER",
|
||||
|
||||
// Pig
|
||||
"S_FLICKY_05_OUT",
|
||||
|
@ -5431,6 +5435,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_05_UP",
|
||||
"S_FLICKY_05_DOWN",
|
||||
"S_FLICKY_05_STAND",
|
||||
"S_FLICKY_05_CENTER",
|
||||
|
||||
// Chipmunk
|
||||
"S_FLICKY_06_OUT",
|
||||
|
@ -5439,6 +5444,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_06_UP",
|
||||
"S_FLICKY_06_DOWN",
|
||||
"S_FLICKY_06_STAND",
|
||||
"S_FLICKY_06_CENTER",
|
||||
|
||||
// Penguin
|
||||
"S_FLICKY_07_OUT",
|
||||
|
@ -5454,6 +5460,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_07_SWIM2",
|
||||
"S_FLICKY_07_SWIM3",
|
||||
"S_FLICKY_07_STAND",
|
||||
"S_FLICKY_07_CENTER",
|
||||
|
||||
// Fish
|
||||
"S_FLICKY_08_OUT",
|
||||
|
@ -5468,6 +5475,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_08_SWIM3",
|
||||
"S_FLICKY_08_SWIM4",
|
||||
"S_FLICKY_08_STAND",
|
||||
"S_FLICKY_08_CENTER",
|
||||
|
||||
// Ram
|
||||
"S_FLICKY_09_OUT",
|
||||
|
@ -5476,12 +5484,14 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_09_UP",
|
||||
"S_FLICKY_09_DOWN",
|
||||
"S_FLICKY_09_STAND",
|
||||
"S_FLICKY_09_CENTER",
|
||||
|
||||
// Puffin
|
||||
"S_FLICKY_10_OUT",
|
||||
"S_FLICKY_10_FLAP1",
|
||||
"S_FLICKY_10_FLAP2",
|
||||
"S_FLICKY_10_STAND",
|
||||
"S_FLICKY_10_CENTER",
|
||||
|
||||
// Cow
|
||||
"S_FLICKY_11_OUT",
|
||||
|
@ -5490,6 +5500,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_11_RUN2",
|
||||
"S_FLICKY_11_RUN3",
|
||||
"S_FLICKY_11_STAND",
|
||||
"S_FLICKY_11_CENTER",
|
||||
|
||||
// Rat
|
||||
"S_FLICKY_12_OUT",
|
||||
|
@ -5498,6 +5509,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_12_RUN2",
|
||||
"S_FLICKY_12_RUN3",
|
||||
"S_FLICKY_12_STAND",
|
||||
"S_FLICKY_12_CENTER",
|
||||
|
||||
// Bear
|
||||
"S_FLICKY_13_OUT",
|
||||
|
@ -5506,6 +5518,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_13_UP",
|
||||
"S_FLICKY_13_DOWN",
|
||||
"S_FLICKY_13_STAND",
|
||||
"S_FLICKY_13_CENTER",
|
||||
|
||||
// Dove
|
||||
"S_FLICKY_14_OUT",
|
||||
|
@ -5513,6 +5526,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_14_FLAP2",
|
||||
"S_FLICKY_14_FLAP3",
|
||||
"S_FLICKY_14_STAND",
|
||||
"S_FLICKY_14_CENTER",
|
||||
|
||||
// Cat
|
||||
"S_FLICKY_15_OUT",
|
||||
|
@ -5521,6 +5535,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_15_UP",
|
||||
"S_FLICKY_15_DOWN",
|
||||
"S_FLICKY_15_STAND",
|
||||
"S_FLICKY_15_CENTER",
|
||||
|
||||
// Canary
|
||||
"S_FLICKY_16_OUT",
|
||||
|
@ -5528,6 +5543,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_FLICKY_16_FLAP2",
|
||||
"S_FLICKY_16_FLAP3",
|
||||
"S_FLICKY_16_STAND",
|
||||
"S_FLICKY_16_CENTER",
|
||||
|
||||
// Spider
|
||||
"S_SECRETFLICKY_01_OUT",
|
||||
|
@ -5536,6 +5552,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_SECRETFLICKY_01_UP",
|
||||
"S_SECRETFLICKY_01_DOWN",
|
||||
"S_SECRETFLICKY_01_STAND",
|
||||
"S_SECRETFLICKY_01_CENTER",
|
||||
|
||||
// Bat
|
||||
"S_SECRETFLICKY_02_OUT",
|
||||
|
@ -5543,6 +5560,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_SECRETFLICKY_02_FLAP2",
|
||||
"S_SECRETFLICKY_02_FLAP3",
|
||||
"S_SECRETFLICKY_02_STAND",
|
||||
"S_SECRETFLICKY_02_CENTER",
|
||||
|
||||
// Fan
|
||||
"S_FAN",
|
||||
|
@ -6739,23 +6757,41 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
|
||||
// Flickies
|
||||
"MT_FLICKY_01", // Bluebird
|
||||
"MT_FLICKY_01_CENTER",
|
||||
"MT_FLICKY_02", // Rabbit
|
||||
"MT_FLICKY_02_CENTER",
|
||||
"MT_FLICKY_03", // Chicken
|
||||
"MT_FLICKY_03_CENTER",
|
||||
"MT_FLICKY_04", // Seal
|
||||
"MT_FLICKY_04_CENTER",
|
||||
"MT_FLICKY_05", // Pig
|
||||
"MT_FLICKY_05_CENTER",
|
||||
"MT_FLICKY_06", // Chipmunk
|
||||
"MT_FLICKY_06_CENTER",
|
||||
"MT_FLICKY_07", // Penguin
|
||||
"MT_FLICKY_07_CENTER",
|
||||
"MT_FLICKY_08", // Fish
|
||||
"MT_FLICKY_08_CENTER",
|
||||
"MT_FLICKY_09", // Ram
|
||||
"MT_FLICKY_09_CENTER",
|
||||
"MT_FLICKY_10", // Puffin
|
||||
"MT_FLICKY_10_CENTER",
|
||||
"MT_FLICKY_11", // Cow
|
||||
"MT_FLICKY_11_CENTER",
|
||||
"MT_FLICKY_12", // Rat
|
||||
"MT_FLICKY_12_CENTER",
|
||||
"MT_FLICKY_13", // Bear
|
||||
"MT_FLICKY_13_CENTER",
|
||||
"MT_FLICKY_14", // Dove
|
||||
"MT_FLICKY_14_CENTER",
|
||||
"MT_FLICKY_15", // Cat
|
||||
"MT_FLICKY_15_CENTER",
|
||||
"MT_FLICKY_16", // Canary
|
||||
"MT_FLICKY_16_CENTER",
|
||||
"MT_SECRETFLICKY_01", // Spider
|
||||
"MT_SECRETFLICKY_01_CENTER",
|
||||
"MT_SECRETFLICKY_02", // Bat
|
||||
"MT_SECRETFLICKY_02_CENTER",
|
||||
"MT_SEED",
|
||||
|
||||
// Environmental Effects
|
||||
|
|
574
src/info.c
574
src/info.c
|
@ -2638,7 +2638,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL01, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP2}, // S_FLICKY_01_FLAP1
|
||||
{SPR_FL01, 2, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP3}, // S_FLICKY_01_FLAP2
|
||||
{SPR_FL01, 3, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_01_FLAP1}, // S_FLICKY_01_FLAP3
|
||||
{SPR_FL01, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL}, // S_FLICKY_01_STAND
|
||||
{SPR_FL01, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL}, // S_FLICKY_01_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_01, 128*FRACUNIT, S_FLICKY_01_CENTER}, // S_FLICKY_01_CENTER
|
||||
|
||||
// Rabbit
|
||||
{SPR_FL02, 0, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, 0, S_FLICKY_02_OUT}, // S_FLICKY_02_OUT
|
||||
|
@ -2646,7 +2647,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL02, 1, 1, {A_FlickyHop}, 6*FRACUNIT, 4*FRACUNIT, S_FLICKY_02_UP}, // S_FLICKY_02_HOP
|
||||
{SPR_FL02, 2, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, S_FLICKY_02_DOWN, S_FLICKY_02_UP}, // S_FLICKY_02_UP
|
||||
{SPR_FL02, 3, 2, {A_FlickyCheck}, S_FLICKY_02_AIM, 0, S_FLICKY_02_DOWN}, // S_FLICKY_02_DOWN
|
||||
{SPR_FL02, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_FLICKY_02_STAND
|
||||
{SPR_FL02, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_02_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_02, 128*FRACUNIT, S_FLICKY_02_CENTER}, // S_FLICKY_02_CENTER
|
||||
|
||||
// Chicken
|
||||
{SPR_FL03, 0, 2, {A_FlickyCheck}, S_FLICKY_03_AIM, S_FLICKY_03_FLAP1, S_FLICKY_03_OUT}, // S_FLICKY_03_OUT
|
||||
|
@ -2655,7 +2657,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL03, 2, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, S_FLICKY_03_FLAP1, S_FLICKY_03_UP}, // S_FLICKY_03_UP
|
||||
{SPR_FL03, 3, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, 0, S_FLICKY_03_FLAP2}, // S_FLICKY_03_FLAP1
|
||||
{SPR_FL03, 4, 2, {A_FlickyFlutter}, S_FLICKY_03_HOP, 0, S_FLICKY_03_FLAP1}, // S_FLICKY_03_FLAP2
|
||||
{SPR_FL03, FF_ANIMATE, -1, {NULL}, 4, 2, S_NULL}, // S_FLICKY_03_STAND
|
||||
{SPR_FL03, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_03_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_03, 128*FRACUNIT, S_FLICKY_03_CENTER}, // S_FLICKY_03_CENTER
|
||||
|
||||
// Seal
|
||||
{SPR_FL04, 0, 2, {A_FlickyCheck}, S_FLICKY_04_AIM, 0, S_FLICKY_04_OUT}, // S_FLICKY_04_OUT
|
||||
|
@ -2667,7 +2670,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL04, 4, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM3}, // S_FLICKY_04_SWIM2
|
||||
{SPR_FL04, 3, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM4}, // S_FLICKY_04_SWIM3
|
||||
{SPR_FL04, 5, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_04_SWIM1, S_FLICKY_04_SWIM1}, // S_FLICKY_04_SWIM4
|
||||
{SPR_FL04, FF_ANIMATE, -1, {NULL}, 5, 4, S_NULL}, // S_FLICKY_04_STAND
|
||||
{SPR_FL04, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_04_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_04, 128*FRACUNIT, S_FLICKY_04_CENTER}, // S_FLICKY_04_CENTER
|
||||
|
||||
// Pig
|
||||
{SPR_FL05, 0, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, 0, S_FLICKY_05_OUT}, // S_FLICKY_05_OUT
|
||||
|
@ -2675,7 +2679,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL05, 1, 1, {A_FlickyHop}, 4*FRACUNIT, 3*FRACUNIT, S_FLICKY_05_UP}, // S_FLICKY_05_HOP
|
||||
{SPR_FL05, 2, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, S_FLICKY_05_DOWN, S_FLICKY_05_UP}, // S_FLICKY_05_UP
|
||||
{SPR_FL05, 3, 2, {A_FlickyCheck}, S_FLICKY_05_AIM, 0, S_FLICKY_05_DOWN}, // S_FLICKY_05_DOWN
|
||||
{SPR_FL05, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_FLICKY_05_STAND
|
||||
{SPR_FL05, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_05_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_05, 128*FRACUNIT, S_FLICKY_05_CENTER}, // S_FLICKY_05_CENTER
|
||||
|
||||
// Chipmunk
|
||||
{SPR_FL06, 0, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, 0, S_FLICKY_06_OUT}, // S_FLICKY_06_OUT
|
||||
|
@ -2683,7 +2688,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL06, 1, 1, {A_FlickyHop}, 5*FRACUNIT, 6*FRACUNIT, S_FLICKY_06_UP}, // S_FLICKY_06_HOP
|
||||
{SPR_FL06, 2, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, S_FLICKY_06_DOWN, S_FLICKY_06_UP}, // S_FLICKY_06_UP
|
||||
{SPR_FL06, 3, 2, {A_FlickyCheck}, S_FLICKY_06_AIM, 0, S_FLICKY_06_DOWN}, // S_FLICKY_06_DOWN
|
||||
{SPR_FL06, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_FLICKY_06_STAND
|
||||
{SPR_FL06, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_06_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_06, 128*FRACUNIT, S_FLICKY_06_CENTER}, // S_FLICKY_06_CENTER
|
||||
|
||||
// Penguin
|
||||
{SPR_FL07, 0, 2, {A_FlickyCheck}, S_FLICKY_07_AIML, 0, S_FLICKY_07_OUT}, // S_FLICKY_07_OUT
|
||||
|
@ -2698,7 +2704,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL07, 4, 4, {A_FlickyFly}, 3*FRACUNIT, 72*FRACUNIT, S_FLICKY_07_SWIM2}, // S_FLICKY_07_SWIM1
|
||||
{SPR_FL07, 5, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_07_SWIM1, S_FLICKY_07_SWIM3}, // S_FLICKY_07_SWIM2
|
||||
{SPR_FL07, 6, 4, {A_FlickyCoast}, 2*FRACUNIT, S_FLICKY_07_SWIM1, S_FLICKY_07_SWIM3}, // S_FLICKY_07_SWIM3
|
||||
{SPR_FL07, FF_ANIMATE, -1, {NULL}, 6, 4, S_NULL}, // S_FLICKY_07_STAND
|
||||
{SPR_FL07, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_07_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_07, 128*FRACUNIT, S_FLICKY_07_CENTER}, // S_FLICKY_07_CENTER
|
||||
|
||||
// Fish
|
||||
{SPR_FL08, 0, 2, {A_FlickyCheck}, S_FLICKY_08_AIM, 0, S_FLICKY_08_OUT}, // S_FLICKY_08_OUT
|
||||
|
@ -2713,6 +2720,7 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL08, 0, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM4}, // S_FLICKY_08_SWIM3
|
||||
{SPR_FL08, 2, 4, {A_FlickyCoast}, FRACUNIT, S_FLICKY_08_SWIM1, S_FLICKY_08_SWIM4}, // S_FLICKY_08_SWIM4
|
||||
{SPR_FL08, FF_ANIMATE, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_08_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_08, 128*FRACUNIT, S_FLICKY_08_CENTER}, // S_FLICKY_08_CENTER
|
||||
|
||||
// Ram
|
||||
{SPR_FL09, 0, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, 0, S_FLICKY_09_OUT}, // S_FLICKY_09_OUT
|
||||
|
@ -2720,13 +2728,15 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL09, 1, 1, {A_FlickyHop}, 7*FRACUNIT, 2*FRACUNIT, S_FLICKY_09_UP}, // S_FLICKY_09_HOP
|
||||
{SPR_FL09, 2, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, S_FLICKY_09_DOWN, S_FLICKY_09_UP}, // S_FLICKY_09_UP
|
||||
{SPR_FL09, 3, 2, {A_FlickyCheck}, S_FLICKY_09_AIM, 0, S_FLICKY_09_DOWN}, // S_FLICKY_09_DOWN
|
||||
{SPR_FL09, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_FLICKY_09_STAND
|
||||
{SPR_FL09, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_09_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_09, 128*FRACUNIT, S_FLICKY_09_CENTER}, // S_FLICKY_09_CENTER
|
||||
|
||||
// Puffin
|
||||
{SPR_FL10, 0, 2, {A_FlickyCheck}, S_FLICKY_10_FLAP1, S_FLICKY_10_FLAP1, S_FLICKY_10_OUT}, // S_FLICKY_10_OUT
|
||||
{SPR_FL10, 1, 3, {A_FlickySoar}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_10_FLAP2}, // S_FLICKY_10_FLAP1
|
||||
{SPR_FL10, 2, 3, {A_FlickySoar}, 4*FRACUNIT, 16*FRACUNIT, S_FLICKY_10_FLAP1}, // S_FLICKY_10_FLAP2
|
||||
{SPR_FL10, FF_ANIMATE, -1, {NULL}, 2, 3, S_NULL}, // S_FLICKY_10_STAND
|
||||
{SPR_FL10, FF_ANIMATE|1, -1, {NULL}, 1, 3, S_NULL}, // S_FLICKY_10_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_10, 128*FRACUNIT, S_FLICKY_10_CENTER}, // S_FLICKY_10_CENTER
|
||||
|
||||
// Cow
|
||||
{SPR_FL11, 0, 2, {A_FlickyCheck}, S_FLICKY_11_AIM, 0, S_FLICKY_11_OUT}, // S_FLICKY_11_OUT
|
||||
|
@ -2734,7 +2744,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL11, 1, 3, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_RUN2}, // S_FLICKY_11_RUN1
|
||||
{SPR_FL11, 2, 4, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_RUN3}, // S_FLICKY_11_RUN2
|
||||
{SPR_FL11, 3, 4, {A_FlickyHop}, FRACUNIT/2, 2*FRACUNIT, S_FLICKY_11_AIM}, // S_FLICKY_11_RUN3
|
||||
{SPR_FL11, FF_ANIMATE, -1, {NULL}, 3, 4, S_NULL}, // S_FLICKY_11_STAND
|
||||
{SPR_FL11, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_11_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_11, 128*FRACUNIT, S_FLICKY_11_CENTER}, // S_FLICKY_11_CENTER
|
||||
|
||||
// Rat
|
||||
{SPR_FL12, 0, 2, {A_FlickyCheck}, S_FLICKY_12_AIM, 0, S_FLICKY_12_OUT}, // S_FLICKY_12_OUT
|
||||
|
@ -2742,7 +2753,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL12, 1, 2, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_RUN2}, // S_FLICKY_12_RUN1
|
||||
{SPR_FL12, 2, 3, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_RUN3}, // S_FLICKY_12_RUN2
|
||||
{SPR_FL12, 3, 3, {A_FlickyHop}, 1, 12*FRACUNIT, S_FLICKY_12_AIM}, // S_FLICKY_12_RUN3
|
||||
{SPR_FL12, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL}, // S_FLICKY_12_STAND
|
||||
{SPR_FL12, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_12_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_12, 128*FRACUNIT, S_FLICKY_12_CENTER}, // S_FLICKY_12_CENTER
|
||||
|
||||
// Bear
|
||||
{SPR_FL13, 0, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, 0, S_FLICKY_13_OUT}, // S_FLICKY_13_OUT
|
||||
|
@ -2750,14 +2762,16 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL13, 1, 1, {A_FlickyHop}, 5*FRACUNIT, 3*FRACUNIT, S_FLICKY_13_UP}, // S_FLICKY_13_HOP
|
||||
{SPR_FL13, 2, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, S_FLICKY_13_DOWN, S_FLICKY_13_UP}, // S_FLICKY_13_UP
|
||||
{SPR_FL13, 3, 2, {A_FlickyCheck}, S_FLICKY_13_AIM, 0, S_FLICKY_13_DOWN}, // S_FLICKY_13_DOWN
|
||||
{SPR_FL13, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_FLICKY_13_STAND
|
||||
{SPR_FL13, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_13_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_13, 128*FRACUNIT, S_FLICKY_13_CENTER}, // S_FLICKY_13_CENTER
|
||||
|
||||
// Dove
|
||||
{SPR_FL14, 0, 2, {A_FlickyCheck}, S_FLICKY_14_FLAP1, S_FLICKY_14_FLAP1, S_FLICKY_14_OUT}, // S_FLICKY_14_OUT
|
||||
{SPR_FL14, 1, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP2}, // S_FLICKY_14_FLAP1
|
||||
{SPR_FL14, 2, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP3}, // S_FLICKY_14_FLAP2
|
||||
{SPR_FL14, 3, 3, {A_FlickySoar}, 4*FRACUNIT, 32*FRACUNIT, S_FLICKY_14_FLAP1}, // S_FLICKY_14_FLAP3
|
||||
{SPR_FL14, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL}, // S_FLICKY_14_STAND
|
||||
{SPR_FL14, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL}, // S_FLICKY_14_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_14, 128*FRACUNIT, S_FLICKY_14_CENTER}, // S_FLICKY_14_CENTER
|
||||
|
||||
// Cat
|
||||
{SPR_FL15, 0, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, 0, S_FLICKY_15_OUT}, // S_FLICKY_15_OUT
|
||||
|
@ -2765,14 +2779,16 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FL15, 1, 1, {A_FlickyFlounder}, 2*FRACUNIT, 6*FRACUNIT, S_FLICKY_15_UP}, // S_FLICKY_15_HOP
|
||||
{SPR_FL15, 2, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, S_FLICKY_15_DOWN, S_FLICKY_15_UP}, // S_FLICKY_15_UP
|
||||
{SPR_FL15, 3, 2, {A_FlickyCheck}, S_FLICKY_15_AIM, 0, S_FLICKY_15_DOWN}, // S_FLICKY_15_DOWN
|
||||
{SPR_FL15, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_FLICKY_15_STAND
|
||||
{SPR_FL15, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_FLICKY_15_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_15, 128*FRACUNIT, S_FLICKY_15_CENTER}, // S_FLICKY_15_CENTER
|
||||
|
||||
// Canary
|
||||
{SPR_FL16, 0, 2, {A_FlickyHeightCheck}, S_FLICKY_16_FLAP1, 0, S_FLICKY_16_OUT}, // S_FLICKY_16_OUT
|
||||
{SPR_FL16, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 8*FRACUNIT, S_FLICKY_16_FLAP2}, // S_FLICKY_16_FLAP1
|
||||
{SPR_FL16, 2, 3, {A_SetObjectFlags}, MF_NOGRAVITY, 1, S_FLICKY_16_FLAP3}, // S_FLICKY_16_FLAP2
|
||||
{SPR_FL16, 3, 3, {A_FlickyHeightCheck}, S_FLICKY_16_FLAP1, 0, S_FLICKY_16_FLAP3}, // S_FLICKY_16_FLAP3
|
||||
{SPR_FL16, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL}, // S_FLICKY_16_STAND
|
||||
{SPR_FL16, FF_ANIMATE|1, -1, {NULL}, 2, 3, S_NULL}, // S_FLICKY_16_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_FLICKY_16, 128*FRACUNIT, S_FLICKY_16_CENTER}, // S_FLICKY_16_CENTER
|
||||
|
||||
// Spider
|
||||
{SPR_FS01, 0, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, 0, S_SECRETFLICKY_01_OUT}, // S_SECRETFLICKY_01_OUT
|
||||
|
@ -2780,14 +2796,16 @@ state_t states[NUMSTATES] =
|
|||
{SPR_FS01, 1, 1, {A_FlickyFlounder}, 2*FRACUNIT, 6*FRACUNIT, S_SECRETFLICKY_01_UP}, // S_SECRETFLICKY_01_HOP
|
||||
{SPR_FS01, 2, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, S_SECRETFLICKY_01_DOWN, S_SECRETFLICKY_01_UP}, // S_SECRETFLICKY_01_UP
|
||||
{SPR_FS01, 3, 2, {A_FlickyCheck}, S_SECRETFLICKY_01_AIM, 0, S_SECRETFLICKY_01_DOWN}, // S_SECRETFLICKY_01_DOWN
|
||||
{SPR_FS01, FF_ANIMATE, -1, {NULL}, 3, 2, S_NULL}, // S_SECRETFLICKY_01_STAND
|
||||
{SPR_FS01, FF_ANIMATE|1, -1, {NULL}, 2, 4, S_NULL}, // S_SECRETFLICKY_01_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_SECRETFLICKY_01, 128*FRACUNIT, S_SECRETFLICKY_01_CENTER}, // S_SECRETFLICKY_01_CENTER
|
||||
|
||||
// Bat
|
||||
{SPR_FS02, 0, 2, {A_FlickyHeightCheck}, S_SECRETFLICKY_02_FLAP1, S_SECRETFLICKY_02_FLAP1, S_SECRETFLICKY_02_OUT}, // S_SECRETFLICKY_02_OUT
|
||||
{SPR_FS02, 1, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP2}, // S_SECRETFLICKY_02_FLAP1
|
||||
{SPR_FS02, 2, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP3}, // S_SECRETFLICKY_02_FLAP2
|
||||
{SPR_FS02, 3, 3, {A_FlickyFly}, 4*FRACUNIT, 16*FRACUNIT, S_SECRETFLICKY_02_FLAP1}, // S_SECRETFLICKY_02_FLAP3
|
||||
{SPR_FS02, FF_ANIMATE, -1, {NULL}, 3, 3, S_NULL}, // S_SECRETFLICKY_02_STAND
|
||||
{SPR_FS02, FF_ANIMATE|1, -1, {NULL}, 2, 2, S_NULL}, // S_SECRETFLICKY_02_STAND
|
||||
{SPR_NULL, 0, 15, {A_FlickyCenter}, MT_SECRETFLICKY_02, 128*FRACUNIT, S_SECRETFLICKY_02_CENTER}, // S_SECRETFLICKY_02_CENTER
|
||||
|
||||
// Fan
|
||||
{SPR_FANS, 0, 1, {A_FanBubbleSpawn}, 2048, 0, S_FAN2}, // S_FAN
|
||||
|
@ -13705,7 +13723,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
|
||||
// Bluebird
|
||||
{ // MT_FLICKY_01
|
||||
570, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_01_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_01_STAND, // seestate
|
||||
|
@ -13731,8 +13749,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_01_CENTER
|
||||
570, // doomednum
|
||||
S_FLICKY_01_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_02
|
||||
571, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_02_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_02_STAND, // seestate
|
||||
|
@ -13758,8 +13803,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_02_CENTER
|
||||
571, // doomednum
|
||||
S_FLICKY_02_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_03
|
||||
572, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_03_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_03_STAND, // seestate
|
||||
|
@ -13785,8 +13857,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_03_CENTER
|
||||
572, // doomednum
|
||||
S_FLICKY_03_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_04
|
||||
573, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_04_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_04_STAND, // seestate
|
||||
|
@ -13812,8 +13911,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_04_CENTER
|
||||
573, // doomednum
|
||||
S_FLICKY_04_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_05
|
||||
574, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_05_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_05_STAND, // seestate
|
||||
|
@ -13839,8 +13965,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_05_CENTER
|
||||
574, // doomednum
|
||||
S_FLICKY_05_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_06
|
||||
575, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_06_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_06_STAND, // seestate
|
||||
|
@ -13866,8 +14019,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_06_CENTER
|
||||
575, // doomednum
|
||||
S_FLICKY_06_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_07
|
||||
576, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_07_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_07_STAND, // seestate
|
||||
|
@ -13893,8 +14073,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_07_CENTER
|
||||
576, // doomednum
|
||||
S_FLICKY_07_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_08
|
||||
577, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_08_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_08_STAND, // seestate
|
||||
|
@ -13920,8 +14127,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_08_CENTER
|
||||
577, // doomednum
|
||||
S_FLICKY_08_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_09
|
||||
578, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_09_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_09_STAND, // seestate
|
||||
|
@ -13947,8 +14181,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_09_CENTER
|
||||
578, // doomednum
|
||||
S_FLICKY_09_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_10
|
||||
579, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_10_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_10_STAND, // seestate
|
||||
|
@ -13974,8 +14235,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_10_CENTER
|
||||
579, // doomednum
|
||||
S_FLICKY_10_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_11
|
||||
580, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_11_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_11_STAND, // seestate
|
||||
|
@ -14001,8 +14289,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_11_CENTER
|
||||
580, // doomednum
|
||||
S_FLICKY_11_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_12
|
||||
581, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_12_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_12_STAND, // seestate
|
||||
|
@ -14028,8 +14343,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_12_CENTER
|
||||
581, // doomednum
|
||||
S_FLICKY_12_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_13
|
||||
582, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_13_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_13_STAND, // seestate
|
||||
|
@ -14055,8 +14397,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_13_CENTER
|
||||
582, // doomednum
|
||||
S_FLICKY_13_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_14
|
||||
583, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_14_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_14_STAND, // seestate
|
||||
|
@ -14082,8 +14451,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_14_CENTER
|
||||
583, // doomednum
|
||||
S_FLICKY_14_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_15
|
||||
584, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_15_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_15_STAND, // seestate
|
||||
|
@ -14109,8 +14505,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_15_CENTER
|
||||
584, // doomednum
|
||||
S_FLICKY_15_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_16
|
||||
585, // doomednum
|
||||
-1, // doomednum
|
||||
S_FLICKY_16_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_FLICKY_16_STAND, // seestate
|
||||
|
@ -14136,8 +14559,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_FLICKY_16_CENTER
|
||||
585, // doomednum
|
||||
S_FLICKY_16_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SECRETFLICKY_01
|
||||
586, // doomednum
|
||||
-1, // doomednum
|
||||
S_SECRETFLICKY_01_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_SECRETFLICKY_01_STAND, // seestate
|
||||
|
@ -14163,8 +14613,35 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SECRETFLICKY_01_CENTER
|
||||
586, // doomednum
|
||||
S_SECRETFLICKY_01_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SECRETFLICKY_02
|
||||
587, // doomednum
|
||||
-1, // doomednum
|
||||
S_SECRETFLICKY_02_OUT, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_SECRETFLICKY_02_STAND, // seestate
|
||||
|
@ -14190,6 +14667,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_FLICKY_BUBBLE // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SECRETFLICKY_02_CENTER
|
||||
587, // doomednum
|
||||
S_SECRETFLICKY_02_CENTER, // 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
|
||||
8*FRACUNIT, // radius
|
||||
20*FRACUNIT, // height
|
||||
0, // display offset
|
||||
16, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_RUNSPAWNFUNC, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SEED
|
||||
-1, // doomednum
|
||||
S_SEED, // spawnstate
|
||||
|
|
37
src/info.h
37
src/info.h
|
@ -216,6 +216,7 @@ void A_BrakLobShot();
|
|||
void A_NapalmScatter();
|
||||
void A_SpawnFreshCopy();
|
||||
void A_FlickySpawn();
|
||||
void A_FlickyCenter();
|
||||
void A_FlickyAim();
|
||||
void A_FlickyFly();
|
||||
void A_FlickySoar();
|
||||
|
@ -2747,6 +2748,7 @@ typedef enum state
|
|||
S_FLICKY_01_FLAP2,
|
||||
S_FLICKY_01_FLAP3,
|
||||
S_FLICKY_01_STAND,
|
||||
S_FLICKY_01_CENTER,
|
||||
|
||||
// Rabbit
|
||||
S_FLICKY_02_OUT,
|
||||
|
@ -2755,6 +2757,7 @@ typedef enum state
|
|||
S_FLICKY_02_UP,
|
||||
S_FLICKY_02_DOWN,
|
||||
S_FLICKY_02_STAND,
|
||||
S_FLICKY_02_CENTER,
|
||||
|
||||
// Chicken
|
||||
S_FLICKY_03_OUT,
|
||||
|
@ -2764,6 +2767,7 @@ typedef enum state
|
|||
S_FLICKY_03_FLAP1,
|
||||
S_FLICKY_03_FLAP2,
|
||||
S_FLICKY_03_STAND,
|
||||
S_FLICKY_03_CENTER,
|
||||
|
||||
// Seal
|
||||
S_FLICKY_04_OUT,
|
||||
|
@ -2776,6 +2780,7 @@ typedef enum state
|
|||
S_FLICKY_04_SWIM3,
|
||||
S_FLICKY_04_SWIM4,
|
||||
S_FLICKY_04_STAND,
|
||||
S_FLICKY_04_CENTER,
|
||||
|
||||
// Pig
|
||||
S_FLICKY_05_OUT,
|
||||
|
@ -2784,6 +2789,7 @@ typedef enum state
|
|||
S_FLICKY_05_UP,
|
||||
S_FLICKY_05_DOWN,
|
||||
S_FLICKY_05_STAND,
|
||||
S_FLICKY_05_CENTER,
|
||||
|
||||
// Chipmunk
|
||||
S_FLICKY_06_OUT,
|
||||
|
@ -2792,6 +2798,7 @@ typedef enum state
|
|||
S_FLICKY_06_UP,
|
||||
S_FLICKY_06_DOWN,
|
||||
S_FLICKY_06_STAND,
|
||||
S_FLICKY_06_CENTER,
|
||||
|
||||
// Penguin
|
||||
S_FLICKY_07_OUT,
|
||||
|
@ -2807,6 +2814,7 @@ typedef enum state
|
|||
S_FLICKY_07_SWIM2,
|
||||
S_FLICKY_07_SWIM3,
|
||||
S_FLICKY_07_STAND,
|
||||
S_FLICKY_07_CENTER,
|
||||
|
||||
// Fish
|
||||
S_FLICKY_08_OUT,
|
||||
|
@ -2821,6 +2829,7 @@ typedef enum state
|
|||
S_FLICKY_08_SWIM3,
|
||||
S_FLICKY_08_SWIM4,
|
||||
S_FLICKY_08_STAND,
|
||||
S_FLICKY_08_CENTER,
|
||||
|
||||
// Ram
|
||||
S_FLICKY_09_OUT,
|
||||
|
@ -2829,12 +2838,14 @@ typedef enum state
|
|||
S_FLICKY_09_UP,
|
||||
S_FLICKY_09_DOWN,
|
||||
S_FLICKY_09_STAND,
|
||||
S_FLICKY_09_CENTER,
|
||||
|
||||
// Puffin
|
||||
S_FLICKY_10_OUT,
|
||||
S_FLICKY_10_FLAP1,
|
||||
S_FLICKY_10_FLAP2,
|
||||
S_FLICKY_10_STAND,
|
||||
S_FLICKY_10_CENTER,
|
||||
|
||||
// Cow
|
||||
S_FLICKY_11_OUT,
|
||||
|
@ -2843,6 +2854,7 @@ typedef enum state
|
|||
S_FLICKY_11_RUN2,
|
||||
S_FLICKY_11_RUN3,
|
||||
S_FLICKY_11_STAND,
|
||||
S_FLICKY_11_CENTER,
|
||||
|
||||
// Rat
|
||||
S_FLICKY_12_OUT,
|
||||
|
@ -2851,6 +2863,7 @@ typedef enum state
|
|||
S_FLICKY_12_RUN2,
|
||||
S_FLICKY_12_RUN3,
|
||||
S_FLICKY_12_STAND,
|
||||
S_FLICKY_12_CENTER,
|
||||
|
||||
// Bear
|
||||
S_FLICKY_13_OUT,
|
||||
|
@ -2859,6 +2872,7 @@ typedef enum state
|
|||
S_FLICKY_13_UP,
|
||||
S_FLICKY_13_DOWN,
|
||||
S_FLICKY_13_STAND,
|
||||
S_FLICKY_13_CENTER,
|
||||
|
||||
// Dove
|
||||
S_FLICKY_14_OUT,
|
||||
|
@ -2866,6 +2880,7 @@ typedef enum state
|
|||
S_FLICKY_14_FLAP2,
|
||||
S_FLICKY_14_FLAP3,
|
||||
S_FLICKY_14_STAND,
|
||||
S_FLICKY_14_CENTER,
|
||||
|
||||
// Cat
|
||||
S_FLICKY_15_OUT,
|
||||
|
@ -2874,6 +2889,7 @@ typedef enum state
|
|||
S_FLICKY_15_UP,
|
||||
S_FLICKY_15_DOWN,
|
||||
S_FLICKY_15_STAND,
|
||||
S_FLICKY_15_CENTER,
|
||||
|
||||
// Canary
|
||||
S_FLICKY_16_OUT,
|
||||
|
@ -2881,6 +2897,7 @@ typedef enum state
|
|||
S_FLICKY_16_FLAP2,
|
||||
S_FLICKY_16_FLAP3,
|
||||
S_FLICKY_16_STAND,
|
||||
S_FLICKY_16_CENTER,
|
||||
|
||||
// Spider
|
||||
S_SECRETFLICKY_01_OUT,
|
||||
|
@ -2889,6 +2906,7 @@ typedef enum state
|
|||
S_SECRETFLICKY_01_UP,
|
||||
S_SECRETFLICKY_01_DOWN,
|
||||
S_SECRETFLICKY_01_STAND,
|
||||
S_SECRETFLICKY_01_CENTER,
|
||||
|
||||
// Bat
|
||||
S_SECRETFLICKY_02_OUT,
|
||||
|
@ -2896,6 +2914,7 @@ typedef enum state
|
|||
S_SECRETFLICKY_02_FLAP2,
|
||||
S_SECRETFLICKY_02_FLAP3,
|
||||
S_SECRETFLICKY_02_STAND,
|
||||
S_SECRETFLICKY_02_CENTER,
|
||||
|
||||
// Fan
|
||||
S_FAN,
|
||||
|
@ -4112,23 +4131,41 @@ typedef enum mobj_type
|
|||
|
||||
// Flickies
|
||||
MT_FLICKY_01, // Bluebird
|
||||
MT_FLICKY_01_CENTER,
|
||||
MT_FLICKY_02, // Rabbit
|
||||
MT_FLICKY_02_CENTER,
|
||||
MT_FLICKY_03, // Chicken
|
||||
MT_FLICKY_03_CENTER,
|
||||
MT_FLICKY_04, // Seal
|
||||
MT_FLICKY_04_CENTER,
|
||||
MT_FLICKY_05, // Pig
|
||||
MT_FLICKY_05_CENTER,
|
||||
MT_FLICKY_06, // Chipmunk
|
||||
MT_FLICKY_06_CENTER,
|
||||
MT_FLICKY_07, // Penguin
|
||||
MT_FLICKY_07_CENTER,
|
||||
MT_FLICKY_08, // Fish
|
||||
MT_FLICKY_08_CENTER,
|
||||
MT_FLICKY_09, // Ram
|
||||
MT_FLICKY_09_CENTER,
|
||||
MT_FLICKY_10, // Puffin
|
||||
MT_FLICKY_10_CENTER,
|
||||
MT_FLICKY_11, // Cow
|
||||
MT_FLICKY_11_CENTER,
|
||||
MT_FLICKY_12, // Rat
|
||||
MT_FLICKY_12_CENTER,
|
||||
MT_FLICKY_13, // Bear
|
||||
MT_FLICKY_13_CENTER,
|
||||
MT_FLICKY_14, // Dove
|
||||
MT_FLICKY_14_CENTER,
|
||||
MT_FLICKY_15, // Cat
|
||||
MT_FLICKY_15_CENTER,
|
||||
MT_FLICKY_16, // Canary
|
||||
MT_FLICKY_16_CENTER,
|
||||
MT_SECRETFLICKY_01, // Spider
|
||||
MT_SECRETFLICKY_01_CENTER,
|
||||
MT_SECRETFLICKY_02, // Bat
|
||||
MT_SECRETFLICKY_02_CENTER,
|
||||
MT_SEED,
|
||||
|
||||
// Environmental Effects
|
||||
|
|
124
src/p_enemy.c
124
src/p_enemy.c
|
@ -243,6 +243,7 @@ void A_BrakLobShot(mobj_t *actor);
|
|||
void A_NapalmScatter(mobj_t *actor);
|
||||
void A_SpawnFreshCopy(mobj_t *actor);
|
||||
void A_FlickySpawn(mobj_t *actor);
|
||||
void A_FlickyCenter(mobj_t *actor);
|
||||
void A_FlickyAim(mobj_t *actor);
|
||||
void A_FlickyFly(mobj_t *actor);
|
||||
void A_FlickySoar(mobj_t *actor);
|
||||
|
@ -10774,6 +10775,105 @@ void A_FlickySpawn(mobj_t *actor)
|
|||
P_InternalFlickySpawn(actor, locvar1, ((locvar2) ? locvar2 : 8*FRACUNIT), true);
|
||||
}
|
||||
|
||||
// Internal Flicky color setting
|
||||
void P_InternalFlickySetColor(mobj_t *actor, UINT8 extrainfo)
|
||||
{
|
||||
UINT8 flickycolors[] = {
|
||||
SKINCOLOR_RED,
|
||||
SKINCOLOR_CYAN,
|
||||
SKINCOLOR_BLUE,
|
||||
SKINCOLOR_VAPOR,
|
||||
SKINCOLOR_PURPLE,
|
||||
SKINCOLOR_BUBBLEGUM,
|
||||
SKINCOLOR_NEON,
|
||||
SKINCOLOR_BLACK,
|
||||
SKINCOLOR_BEIGE,
|
||||
SKINCOLOR_LAVENDER,
|
||||
SKINCOLOR_RUBY,
|
||||
SKINCOLOR_SALMON,
|
||||
SKINCOLOR_SUNSET,
|
||||
SKINCOLOR_ORANGE,
|
||||
SKINCOLOR_YELLOW,
|
||||
};
|
||||
|
||||
if (extrainfo == 0)
|
||||
actor->color = flickycolors[P_RandomKey(sizeof(flickycolors))];
|
||||
else if (extrainfo-1 < sizeof(flickycolors))
|
||||
actor->color = flickycolors[extrainfo-1];
|
||||
}
|
||||
|
||||
// Function: A_FlickyCenter
|
||||
//
|
||||
// Description: Place flickies in-level.
|
||||
//
|
||||
// var1 = if 0, spawns random flicky based on level header. Else, spawns the designated thing type.
|
||||
// var2 = maximum default distance away from spawn the flickies are allowed to travel. If angle != 0, then that's the radius.
|
||||
//
|
||||
// If MTF_EXTRA is flagged, Flickies move independently of a target. Else, move around the target.
|
||||
// If MTF_OBJECTSPECIAL and NOT MTF_EXTRA are flagged, Angle sign determines direction of circular movement.
|
||||
// If MTF_AMBUSH is flagged, Flickies hop in-place.
|
||||
// If MTF_AMBUSH and MTF_OBJECTSPECIAL is flagged, Flickies stand in-place without gravity.
|
||||
//
|
||||
void A_FlickyCenter(mobj_t *actor)
|
||||
{
|
||||
INT32 locvar1 = var1;
|
||||
INT32 locvar2 = var2;
|
||||
#ifdef HAVE_BLUA
|
||||
if (LUA_CallAction("A_FlickyCenter", actor))
|
||||
return;
|
||||
#endif
|
||||
|
||||
if (!actor->tracer)
|
||||
{
|
||||
if (actor->spawnpoint && (actor->spawnpoint->options & MTF_EXTRA))
|
||||
{
|
||||
actor->tracer = P_InternalFlickySpawn(actor, locvar1, 1, false);
|
||||
P_SetTarget(&actor->tracer->target, actor);
|
||||
actor->tracer->fuse = 0; // < 2*TICRATE means move aimlessly.
|
||||
|
||||
if (!(actor->spawnpoint->options & MTF_AMBUSH))
|
||||
actor->tracer->angle = P_RandomKey(180)*ANG2;
|
||||
}
|
||||
else
|
||||
{
|
||||
actor->tracer = P_InternalFlickySpawn(actor, locvar1, 1, false);
|
||||
P_SetTarget(&actor->tracer->target, actor);
|
||||
actor->tracer->fuse = FRACUNIT;
|
||||
|
||||
if (actor->spawnpoint
|
||||
&& (actor->spawnpoint->options & MTF_OBJECTSPECIAL)
|
||||
&& !(actor->spawnpoint->options & MTF_EXTRA))
|
||||
actor->tracer->movedir = actor->spawnpoint->angle >= 0 ? 1 : -1;
|
||||
}
|
||||
|
||||
if (locvar1 == MT_FLICKY_08 && actor->spawnpoint)
|
||||
P_InternalFlickySetColor(actor->tracer, actor->spawnpoint->extrainfo);
|
||||
|
||||
actor->extravalue1 = 0;
|
||||
}
|
||||
|
||||
if (actor->spawnpoint && !(actor->spawnpoint->options & MTF_EXTRA) && !(actor->spawnpoint->options & MTF_AMBUSH))
|
||||
{
|
||||
actor->tracer->fuse = FRACUNIT;
|
||||
|
||||
if (actor->spawnpoint->angle)
|
||||
locvar2 = abs(actor->spawnpoint->angle)*FRACUNIT;
|
||||
|
||||
P_LookForPlayers(actor, true, false, locvar2);
|
||||
|
||||
if (actor->target && P_AproxDistance(actor->target->x - actor->spawnpoint->x*FRACUNIT, actor->target->y - actor->spawnpoint->y*FRACUNIT) < locvar2)
|
||||
{
|
||||
actor->extravalue1 = 1;
|
||||
P_TeleportMove(actor, actor->target->x, actor->target->y, actor->target->z);
|
||||
}
|
||||
else if(actor->extravalue1)
|
||||
{
|
||||
actor->extravalue1 = 0;
|
||||
P_TeleportMove(actor, actor->spawnpoint->x*FRACUNIT, actor->spawnpoint->y*FRACUNIT, actor->spawnpoint->z*FRACUNIT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Internal Flicky bubbling function.
|
||||
void P_InternalFlickyBubble(mobj_t *actor)
|
||||
{
|
||||
|
@ -10884,7 +10984,11 @@ void P_InternalFlickyFly(mobj_t *actor, fixed_t flyspeed, fixed_t targetdist, fi
|
|||
if (actor->target && abs(chasez - actor->z) > targetdist)
|
||||
targetdist = P_AproxDistance(actor->target->x - actor->x, actor->target->y - actor->y);
|
||||
|
||||
if (actor->spawnpoint && (actor->spawnpoint->options & MTF_OBJECTSPECIAL))
|
||||
if (actor->target
|
||||
&& P_IsFlickyCenter(actor->target->type)
|
||||
&& actor->target->spawnpoint
|
||||
&& (actor->target->spawnpoint->options & MTF_OBJECTSPECIAL)
|
||||
&& (actor->target->spawnpoint->options & MTF_EXTRA))
|
||||
vertangle = 0;
|
||||
else
|
||||
vertangle = (R_PointToAngle2(0, actor->z, targetdist, chasez) >> ANGLETOFINESHIFT) & FINEMASK;
|
||||
|
@ -10900,6 +11004,8 @@ void P_InternalFlickyFly(mobj_t *actor, fixed_t flyspeed, fixed_t targetdist, fi
|
|||
// var1 = how fast to fly
|
||||
// var2 = how far ahead the target should be considered
|
||||
//
|
||||
// If MTF_EXTRA and MTF_OBJECTSPECIAL are flagged, Flicky will always fly at same Z height.
|
||||
//
|
||||
void A_FlickyFly(mobj_t *actor)
|
||||
{
|
||||
INT32 locvar1 = var1;
|
||||
|
@ -10920,6 +11026,8 @@ void A_FlickyFly(mobj_t *actor)
|
|||
// var1 = how fast to fly
|
||||
// var2 = how far ahead the target should be considered
|
||||
//
|
||||
// If MTF_EXTRA and MTF_OBJECTSPECIAL are flagged, Flicky will always fly at same Z height.
|
||||
//
|
||||
void A_FlickySoar(mobj_t *actor)
|
||||
{
|
||||
INT32 locvar1 = var1;
|
||||
|
@ -11040,9 +11148,12 @@ void A_FlickyCheck(mobj_t *actor)
|
|||
if (LUA_CallAction("A_FlickyCheck", actor))
|
||||
return;
|
||||
#endif
|
||||
if (actor->spawnpoint && (actor->spawnpoint->options & MTF_AMBUSH))
|
||||
if (actor->target
|
||||
&& P_IsFlickyCenter(actor->target->type)
|
||||
&& actor->target->spawnpoint
|
||||
&& (actor->target->spawnpoint->options & MTF_AMBUSH))
|
||||
{
|
||||
if (actor->spawnpoint->options & MTF_OBJECTSPECIAL)
|
||||
if (actor->target->spawnpoint->options & MTF_OBJECTSPECIAL)
|
||||
{
|
||||
actor->momz = 0;
|
||||
actor->flags |= MF_NOGRAVITY;
|
||||
|
@ -11075,9 +11186,12 @@ void A_FlickyHeightCheck(mobj_t *actor)
|
|||
if (LUA_CallAction("A_FlickyHeightCheck", actor))
|
||||
return;
|
||||
#endif
|
||||
if (actor->spawnpoint && (actor->spawnpoint->options & MTF_AMBUSH))
|
||||
if (actor->target
|
||||
&& P_IsFlickyCenter(actor->target->type)
|
||||
&& actor->target->spawnpoint
|
||||
&& (actor->target->spawnpoint->options & MTF_AMBUSH))
|
||||
{
|
||||
if (actor->spawnpoint->options & MTF_OBJECTSPECIAL)
|
||||
if (actor->target->spawnpoint->options & MTF_OBJECTSPECIAL)
|
||||
{
|
||||
actor->momz = 0;
|
||||
actor->flags |= MF_NOGRAVITY;
|
||||
|
|
|
@ -311,6 +311,7 @@ void P_NewChaseDir(mobj_t *actor);
|
|||
boolean P_LookForPlayers(mobj_t *actor, boolean allaround, boolean tracer, fixed_t dist);
|
||||
|
||||
mobj_t *P_InternalFlickySpawn(mobj_t *actor, mobjtype_t flickytype, fixed_t momz, boolean lookforplayers);
|
||||
#define P_IsFlickyCenter(type) (type > MT_FLICKY_01 && type < MT_SEED && (type - MT_FLICKY_01) % 2 ? 1 : 0)
|
||||
void P_InternalFlickyBubble(mobj_t *actor);
|
||||
void P_InternalFlickyFly(mobj_t *actor, fixed_t flyspeed, fixed_t targetdist, fixed_t chasez);
|
||||
void P_InternalFlickyHop(mobj_t *actor, fixed_t momz, fixed_t momh, angle_t angle);
|
||||
|
|
29
src/p_mobj.c
29
src/p_mobj.c
|
@ -7089,6 +7089,35 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
S_StartSound(flame, sfx_fire);
|
||||
}
|
||||
break;
|
||||
case MT_FLICKY_01_CENTER:
|
||||
case MT_FLICKY_02_CENTER:
|
||||
case MT_FLICKY_03_CENTER:
|
||||
case MT_FLICKY_04_CENTER:
|
||||
case MT_FLICKY_05_CENTER:
|
||||
case MT_FLICKY_06_CENTER:
|
||||
case MT_FLICKY_07_CENTER:
|
||||
case MT_FLICKY_08_CENTER:
|
||||
case MT_FLICKY_09_CENTER:
|
||||
case MT_FLICKY_10_CENTER:
|
||||
case MT_FLICKY_11_CENTER:
|
||||
case MT_FLICKY_12_CENTER:
|
||||
case MT_FLICKY_13_CENTER:
|
||||
case MT_FLICKY_14_CENTER:
|
||||
case MT_FLICKY_15_CENTER:
|
||||
case MT_FLICKY_16_CENTER:
|
||||
case MT_SECRETFLICKY_01_CENTER:
|
||||
case MT_SECRETFLICKY_02_CENTER:
|
||||
if (mobj->tracer
|
||||
&& mobj->spawnpoint
|
||||
&& (mobj->spawnpoint->options & MTF_AMBUSH)
|
||||
&& !(mobj->spawnpoint->options & MTF_OBJECTSPECIAL))
|
||||
{
|
||||
if (!(mobj->tracer->flags2 & MF2_OBJECTFLIP) && mobj->tracer->z <= mobj->tracer->floorz)
|
||||
mobj->tracer->momz = 7*FRACUNIT;
|
||||
else if ((mobj->tracer->flags2 & MF2_OBJECTFLIP) && mobj->tracer->z >= mobj->tracer->ceilingz - mobj->tracer->height)
|
||||
mobj->tracer->momz = -7*FRACUNIT;
|
||||
}
|
||||
break;
|
||||
case MT_SEED:
|
||||
if (P_MobjFlip(mobj)*mobj->momz < mobj->info->speed)
|
||||
mobj->momz = P_MobjFlip(mobj)*mobj->info->speed;
|
||||
|
|
Loading…
Reference in a new issue