Float, Flyer und Flipper aufgeräumt

This commit is contained in:
Yamagi Burmeister 2009-10-07 09:27:38 +00:00
parent e9b6dc2090
commit 85b52bc522
3 changed files with 765 additions and 792 deletions

View File

@ -24,7 +24,7 @@ void flipper_stand (edict_t *self);
mframe_t flipper_frames_stand [] = mframe_t flipper_frames_stand [] =
{ {
ai_stand, 0, NULL {ai_stand, 0, NULL}
}; };
mmove_t flipper_move_stand = {FRAME_flphor01, FRAME_flphor01, flipper_frames_stand, NULL}; mmove_t flipper_move_stand = {FRAME_flphor01, FRAME_flphor01, flipper_frames_stand, NULL};
@ -38,32 +38,32 @@ void flipper_stand (edict_t *self)
mframe_t flipper_frames_run [] = mframe_t flipper_frames_run [] =
{ {
ai_run, FLIPPER_RUN_SPEED, NULL, // 6 {ai_run, FLIPPER_RUN_SPEED, NULL}, // 6
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, // 10 {ai_run, FLIPPER_RUN_SPEED, NULL}, // 10
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, // 20 {ai_run, FLIPPER_RUN_SPEED, NULL}, // 20
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL, {ai_run, FLIPPER_RUN_SPEED, NULL},
ai_run, FLIPPER_RUN_SPEED, NULL // 29 {ai_run, FLIPPER_RUN_SPEED, NULL} // 29
}; };
mmove_t flipper_move_run_loop = {FRAME_flpver06, FRAME_flpver29, flipper_frames_run, NULL}; mmove_t flipper_move_run_loop = {FRAME_flpver06, FRAME_flpver29, flipper_frames_run, NULL};
@ -74,12 +74,12 @@ void flipper_run_loop (edict_t *self)
mframe_t flipper_frames_run_start [] = mframe_t flipper_frames_run_start [] =
{ {
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL {ai_run, 8, NULL}
}; };
mmove_t flipper_move_run_start = {FRAME_flpver01, FRAME_flpver06, flipper_frames_run_start, flipper_run_loop}; mmove_t flipper_move_run_start = {FRAME_flpver01, FRAME_flpver06, flipper_frames_run_start, flipper_run_loop};
@ -91,30 +91,30 @@ void flipper_run (edict_t *self)
/* Standard Swimming */ /* Standard Swimming */
mframe_t flipper_frames_walk [] = mframe_t flipper_frames_walk [] =
{ {
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL, {ai_walk, 4, NULL},
ai_walk, 4, NULL {ai_walk, 4, NULL}
}; };
mmove_t flipper_move_walk = {FRAME_flphor01, FRAME_flphor24, flipper_frames_walk, NULL}; mmove_t flipper_move_walk = {FRAME_flphor01, FRAME_flphor24, flipper_frames_walk, NULL};
@ -125,11 +125,11 @@ void flipper_walk (edict_t *self)
mframe_t flipper_frames_start_run [] = mframe_t flipper_frames_start_run [] =
{ {
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, NULL, {ai_run, 8, NULL},
ai_run, 8, flipper_run {ai_run, 8, flipper_run}
}; };
mmove_t flipper_move_start_run = {FRAME_flphor01, FRAME_flphor05, flipper_frames_start_run, NULL}; mmove_t flipper_move_start_run = {FRAME_flphor01, FRAME_flphor05, flipper_frames_start_run, NULL};
@ -140,21 +140,21 @@ void flipper_start_run (edict_t *self)
mframe_t flipper_frames_pain2 [] = mframe_t flipper_frames_pain2 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flipper_move_pain2 = {FRAME_flppn101, FRAME_flppn105, flipper_frames_pain2, flipper_run}; mmove_t flipper_move_pain2 = {FRAME_flppn101, FRAME_flppn105, flipper_frames_pain2, flipper_run};
mframe_t flipper_frames_pain1 [] = mframe_t flipper_frames_pain1 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flipper_move_pain1 = {FRAME_flppn201, FRAME_flppn205, flipper_frames_pain1, flipper_run}; mmove_t flipper_move_pain1 = {FRAME_flppn201, FRAME_flppn205, flipper_frames_pain1, flipper_run};
@ -173,26 +173,26 @@ void flipper_preattack (edict_t *self)
mframe_t flipper_frames_attack [] = mframe_t flipper_frames_attack [] =
{ {
ai_charge, 0, flipper_preattack, {ai_charge, 0, flipper_preattack},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, flipper_bite, {ai_charge, 0, flipper_bite},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, flipper_bite, {ai_charge, 0, flipper_bite},
ai_charge, 0, NULL {ai_charge, 0, NULL}
}; };
mmove_t flipper_move_attack = {FRAME_flpbit01, FRAME_flpbit20, flipper_frames_attack, flipper_run}; mmove_t flipper_move_attack = {FRAME_flpbit01, FRAME_flpbit20, flipper_frames_attack, flipper_run};
@ -241,67 +241,67 @@ void flipper_dead (edict_t *self)
mframe_t flipper_frames_death [] = mframe_t flipper_frames_death [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flipper_move_death = {FRAME_flpdth01, FRAME_flpdth56, flipper_frames_death, flipper_dead}; mmove_t flipper_move_death = {FRAME_flpdth01, FRAME_flpdth56, flipper_frames_death, flipper_dead};
@ -314,7 +314,7 @@ void flipper_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int dama
{ {
int n; int n;
// check for gib // check for gib
if (self->health <= self->gib_health) if (self->health <= self->gib_health)
{ {
gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0); gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0);
@ -330,26 +330,13 @@ void flipper_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int dama
if (self->deadflag == DEAD_DEAD) if (self->deadflag == DEAD_DEAD)
return; return;
// regular death // regular death
gi.sound (self, CHAN_VOICE, sound_death, 1, ATTN_NORM, 0); gi.sound (self, CHAN_VOICE, sound_death, 1, ATTN_NORM, 0);
self->deadflag = DEAD_DEAD; self->deadflag = DEAD_DEAD;
self->takedamage = DAMAGE_YES; self->takedamage = DAMAGE_YES;
self->monsterinfo.currentmove = &flipper_move_death; self->monsterinfo.currentmove = &flipper_move_death;
} }
void SP_monster_flipper_precache(void)
{
sound_pain1 = gi.soundindex ("flipper/flppain1.wav");
sound_pain2 = gi.soundindex ("flipper/flppain2.wav");
sound_death = gi.soundindex ("flipper/flpdeth1.wav");
sound_chomp = gi.soundindex ("flipper/flpatck1.wav");
sound_attack = gi.soundindex ("flipper/flpatck2.wav");
sound_idle = gi.soundindex ("flipper/flpidle1.wav");
sound_search = gi.soundindex ("flipper/flpsrch1.wav");
sound_sight = gi.soundindex ("flipper/flpsght1.wav");
}
/*QUAKED monster_flipper (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight /*QUAKED monster_flipper (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
*/ */
void SP_monster_flipper (edict_t *self) void SP_monster_flipper (edict_t *self)
@ -360,7 +347,14 @@ void SP_monster_flipper (edict_t *self)
return; return;
} }
SP_monster_flipper_precache(); sound_pain1 = gi.soundindex ("flipper/flppain1.wav");
sound_pain2 = gi.soundindex ("flipper/flppain2.wav");
sound_death = gi.soundindex ("flipper/flpdeth1.wav");
sound_chomp = gi.soundindex ("flipper/flpatck1.wav");
sound_attack = gi.soundindex ("flipper/flpatck2.wav");
sound_idle = gi.soundindex ("flipper/flpidle1.wav");
sound_search = gi.soundindex ("flipper/flpsrch1.wav");
sound_sight = gi.soundindex ("flipper/flpsght1.wav");
self->movetype = MOVETYPE_STEP; self->movetype = MOVETYPE_STEP;
self->solid = SOLID_BBOX; self->solid = SOLID_BBOX;
@ -388,3 +382,4 @@ void SP_monster_flipper (edict_t *self)
swimmonster_start (self); swimmonster_start (self);
} }

View File

@ -30,7 +30,6 @@ void floater_idle (edict_t *self)
} }
//void floater_stand1 (edict_t *self);
void floater_dead (edict_t *self); void floater_dead (edict_t *self);
void floater_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point); void floater_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point);
void floater_run (edict_t *self); void floater_run (edict_t *self);
@ -63,115 +62,115 @@ void floater_fire_blaster (edict_t *self)
mframe_t floater_frames_stand1 [] = mframe_t floater_frames_stand1 [] =
{ {
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL {ai_stand, 0, NULL}
}; };
mmove_t floater_move_stand1 = {FRAME_stand101, FRAME_stand152, floater_frames_stand1, NULL}; mmove_t floater_move_stand1 = {FRAME_stand101, FRAME_stand152, floater_frames_stand1, NULL};
mframe_t floater_frames_stand2 [] = mframe_t floater_frames_stand2 [] =
{ {
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL {ai_stand, 0, NULL}
}; };
mmove_t floater_move_stand2 = {FRAME_stand201, FRAME_stand252, floater_frames_stand2, NULL}; mmove_t floater_move_stand2 = {FRAME_stand201, FRAME_stand252, floater_frames_stand2, NULL};
@ -185,298 +184,298 @@ void floater_stand (edict_t *self)
mframe_t floater_frames_activate [] = mframe_t floater_frames_activate [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t floater_move_activate = {FRAME_actvat01, FRAME_actvat31, floater_frames_activate, NULL}; mmove_t floater_move_activate = {FRAME_actvat01, FRAME_actvat31, floater_frames_activate, NULL};
mframe_t floater_frames_attack1 [] = mframe_t floater_frames_attack1 [] =
{ {
ai_charge, 0, NULL, // Blaster attack {ai_charge, 0, NULL}, // Blaster attack
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, floater_fire_blaster, // BOOM (0, -25.8, 32.5) -- LOOP Starts {ai_charge, 0, floater_fire_blaster}, // BOOM (0, -25.8, 32.5) -- LOOP Starts
ai_charge, 0, floater_fire_blaster, {ai_charge, 0, floater_fire_blaster},
ai_charge, 0, floater_fire_blaster, {ai_charge, 0, floater_fire_blaster},
ai_charge, 0, floater_fire_blaster, {ai_charge, 0, floater_fire_blaster},
ai_charge, 0, floater_fire_blaster, {ai_charge, 0, floater_fire_blaster},
ai_charge, 0, floater_fire_blaster, {ai_charge, 0, floater_fire_blaster},
ai_charge, 0, floater_fire_blaster, {ai_charge, 0, floater_fire_blaster},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL // -- LOOP Ends {ai_charge, 0, NULL} // -- LOOP Ends
}; };
mmove_t floater_move_attack1 = {FRAME_attak101, FRAME_attak114, floater_frames_attack1, floater_run}; mmove_t floater_move_attack1 = {FRAME_attak101, FRAME_attak114, floater_frames_attack1, floater_run};
mframe_t floater_frames_attack2 [] = mframe_t floater_frames_attack2 [] =
{ {
ai_charge, 0, NULL, // Claws {ai_charge, 0, NULL}, // Claws
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, floater_wham, // WHAM (0, -45, 29.6) -- LOOP Starts {ai_charge, 0, floater_wham}, // WHAM (0, -45, 29}.6) -- LOOP Starts
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, // -- LOOP Ends {ai_charge, 0, NULL}, // -- LOOP Ends
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL {ai_charge, 0, NULL}
}; };
mmove_t floater_move_attack2 = {FRAME_attak201, FRAME_attak225, floater_frames_attack2, floater_run}; mmove_t floater_move_attack2 = {FRAME_attak201, FRAME_attak225, floater_frames_attack2, floater_run};
mframe_t floater_frames_attack3 [] = mframe_t floater_frames_attack3 [] =
{ {
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, floater_zap, // -- LOOP Starts {ai_charge, 0, floater_zap}, // -- LOOP Starts
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, // -- LOOP Ends {ai_charge, 0, NULL}, // -- LOOP Ends
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL {ai_charge, 0, NULL}
}; };
mmove_t floater_move_attack3 = {FRAME_attak301, FRAME_attak334, floater_frames_attack3, floater_run}; mmove_t floater_move_attack3 = {FRAME_attak301, FRAME_attak334, floater_frames_attack3, floater_run};
mframe_t floater_frames_death [] = mframe_t floater_frames_death [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t floater_move_death = {FRAME_death01, FRAME_death13, floater_frames_death, floater_dead}; mmove_t floater_move_death = {FRAME_death01, FRAME_death13, floater_frames_death, floater_dead};
mframe_t floater_frames_pain1 [] = mframe_t floater_frames_pain1 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t floater_move_pain1 = {FRAME_pain101, FRAME_pain107, floater_frames_pain1, floater_run}; mmove_t floater_move_pain1 = {FRAME_pain101, FRAME_pain107, floater_frames_pain1, floater_run};
mframe_t floater_frames_pain2 [] = mframe_t floater_frames_pain2 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t floater_move_pain2 = {FRAME_pain201, FRAME_pain208, floater_frames_pain2, floater_run}; mmove_t floater_move_pain2 = {FRAME_pain201, FRAME_pain208, floater_frames_pain2, floater_run};
mframe_t floater_frames_pain3 [] = mframe_t floater_frames_pain3 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t floater_move_pain3 = {FRAME_pain301, FRAME_pain312, floater_frames_pain3, floater_run}; mmove_t floater_move_pain3 = {FRAME_pain301, FRAME_pain312, floater_frames_pain3, floater_run};
mframe_t floater_frames_walk [] = mframe_t floater_frames_walk [] =
{ {
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL {ai_walk, 5, NULL}
}; };
mmove_t floater_move_walk = {FRAME_stand101, FRAME_stand152, floater_frames_walk, NULL}; mmove_t floater_move_walk = {FRAME_stand101, FRAME_stand152, floater_frames_walk, NULL};
mframe_t floater_frames_run [] = mframe_t floater_frames_run [] =
{ {
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL, {ai_run, 13, NULL},
ai_run, 13, NULL {ai_run, 13, NULL}
}; };
mmove_t floater_move_run = {FRAME_stand101, FRAME_stand152, floater_frames_run, NULL}; mmove_t floater_move_run = {FRAME_stand101, FRAME_stand152, floater_frames_run, NULL};
@ -513,7 +512,6 @@ void floater_zap (edict_t *self)
//FIXME use a flash and replace these two lines with the commented one //FIXME use a flash and replace these two lines with the commented one
VectorSet (offset, 18.5, -0.9, 10); VectorSet (offset, 18.5, -0.9, 10);
G_ProjectSource (self->s.origin, offset, forward, right, origin); G_ProjectSource (self->s.origin, offset, forward, right, origin);
// G_ProjectSource (self->s.origin, monster_flash_offset[flash_number], forward, right, origin);
gi.sound (self, CHAN_WEAPON, sound_attack2, 1, ATTN_NORM, 0); gi.sound (self, CHAN_WEAPON, sound_attack2, 1, ATTN_NORM, 0);
@ -587,19 +585,6 @@ void floater_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int dama
BecomeExplosion1(self); BecomeExplosion1(self);
} }
void SP_monster_floater_precache(void)
{
sound_attack2 = gi.soundindex ("floater/fltatck2.wav");
sound_attack3 = gi.soundindex ("floater/fltatck3.wav");
sound_death1 = gi.soundindex ("floater/fltdeth1.wav");
sound_idle = gi.soundindex ("floater/fltidle1.wav");
sound_pain1 = gi.soundindex ("floater/fltpain1.wav");
sound_pain2 = gi.soundindex ("floater/fltpain2.wav");
sound_sight = gi.soundindex ("floater/fltsght1.wav");
}
/*QUAKED monster_floater (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight /*QUAKED monster_floater (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
*/ */
void SP_monster_floater (edict_t *self) void SP_monster_floater (edict_t *self)
@ -610,7 +595,13 @@ void SP_monster_floater (edict_t *self)
return; return;
} }
SP_monster_floater_precache(); sound_attack2 = gi.soundindex ("floater/fltatck2.wav");
sound_attack3 = gi.soundindex ("floater/fltatck3.wav");
sound_death1 = gi.soundindex ("floater/fltdeth1.wav");
sound_idle = gi.soundindex ("floater/fltidle1.wav");
sound_pain1 = gi.soundindex ("floater/fltpain1.wav");
sound_pain2 = gi.soundindex ("floater/fltpain2.wav");
sound_sight = gi.soundindex ("floater/fltsght1.wav");
gi.soundindex ("floater/fltatck1.wav"); gi.soundindex ("floater/fltatck1.wav");
@ -632,7 +623,6 @@ void SP_monster_floater (edict_t *self)
self->monsterinfo.stand = floater_stand; self->monsterinfo.stand = floater_stand;
self->monsterinfo.walk = floater_walk; self->monsterinfo.walk = floater_walk;
self->monsterinfo.run = floater_run; self->monsterinfo.run = floater_run;
// self->monsterinfo.dodge = floater_dodge;
self->monsterinfo.attack = floater_attack; self->monsterinfo.attack = floater_attack;
self->monsterinfo.melee = floater_melee; self->monsterinfo.melee = floater_melee;
self->monsterinfo.sight = floater_sight; self->monsterinfo.sight = floater_sight;
@ -649,3 +639,4 @@ void SP_monster_floater (edict_t *self)
flymonster_start (self); flymonster_start (self);
} }

View File

@ -48,152 +48,152 @@ void flyer_pop_blades (edict_t *self)
mframe_t flyer_frames_stand [] = mframe_t flyer_frames_stand [] =
{ {
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL, {ai_stand, 0, NULL},
ai_stand, 0, NULL {ai_stand, 0, NULL}
}; };
mmove_t flyer_move_stand = {FRAME_stand01, FRAME_stand45, flyer_frames_stand, NULL}; mmove_t flyer_move_stand = {FRAME_stand01, FRAME_stand45, flyer_frames_stand, NULL};
mframe_t flyer_frames_walk [] = mframe_t flyer_frames_walk [] =
{ {
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL, {ai_walk, 5, NULL},
ai_walk, 5, NULL {ai_walk, 5, NULL}
}; };
mmove_t flyer_move_walk = {FRAME_stand01, FRAME_stand45, flyer_frames_walk, NULL}; mmove_t flyer_move_walk = {FRAME_stand01, FRAME_stand45, flyer_frames_walk, NULL};
mframe_t flyer_frames_run [] = mframe_t flyer_frames_run [] =
{ {
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL, {ai_run, 10, NULL},
ai_run, 10, NULL {ai_run, 10, NULL}
}; };
mmove_t flyer_move_run = {FRAME_stand01, FRAME_stand45, flyer_frames_run, NULL}; mmove_t flyer_move_run = {FRAME_stand01, FRAME_stand45, flyer_frames_run, NULL};
@ -217,24 +217,24 @@ void flyer_stand (edict_t *self)
mframe_t flyer_frames_start [] = mframe_t flyer_frames_start [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, flyer_nextmove {ai_move, 0, flyer_nextmove}
}; };
mmove_t flyer_move_start = {FRAME_start01, FRAME_start06, flyer_frames_start, NULL}; mmove_t flyer_move_start = {FRAME_start01, FRAME_start06, flyer_frames_start, NULL};
mframe_t flyer_frames_stop [] = mframe_t flyer_frames_stop [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, flyer_nextmove {ai_move, 0, flyer_nextmove}
}; };
mmove_t flyer_move_stop = {FRAME_stop01, FRAME_stop07, flyer_frames_stop, NULL}; mmove_t flyer_move_stop = {FRAME_stop01, FRAME_stop07, flyer_frames_stop, NULL};
@ -251,96 +251,96 @@ void flyer_start (edict_t *self)
mframe_t flyer_frames_rollright [] = mframe_t flyer_frames_rollright [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_rollright = {FRAME_rollr01, FRAME_rollr09, flyer_frames_rollright, NULL}; mmove_t flyer_move_rollright = {FRAME_rollr01, FRAME_rollr09, flyer_frames_rollright, NULL};
mframe_t flyer_frames_rollleft [] = mframe_t flyer_frames_rollleft [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_rollleft = {FRAME_rollf01, FRAME_rollf09, flyer_frames_rollleft, NULL}; mmove_t flyer_move_rollleft = {FRAME_rollf01, FRAME_rollf09, flyer_frames_rollleft, NULL};
mframe_t flyer_frames_pain3 [] = mframe_t flyer_frames_pain3 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_pain3 = {FRAME_pain301, FRAME_pain304, flyer_frames_pain3, flyer_run}; mmove_t flyer_move_pain3 = {FRAME_pain301, FRAME_pain304, flyer_frames_pain3, flyer_run};
mframe_t flyer_frames_pain2 [] = mframe_t flyer_frames_pain2 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_pain2 = {FRAME_pain201, FRAME_pain204, flyer_frames_pain2, flyer_run}; mmove_t flyer_move_pain2 = {FRAME_pain201, FRAME_pain204, flyer_frames_pain2, flyer_run};
mframe_t flyer_frames_pain1 [] = mframe_t flyer_frames_pain1 [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_pain1 = {FRAME_pain101, FRAME_pain109, flyer_frames_pain1, flyer_run}; mmove_t flyer_move_pain1 = {FRAME_pain101, FRAME_pain109, flyer_frames_pain1, flyer_run};
mframe_t flyer_frames_defense [] = mframe_t flyer_frames_defense [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, // Hold this frame {ai_move, 0, NULL}, // Hold this frame
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_defense = {FRAME_defens01, FRAME_defens06, flyer_frames_defense, NULL}; mmove_t flyer_move_defense = {FRAME_defens01, FRAME_defens06, flyer_frames_defense, NULL};
mframe_t flyer_frames_bankright [] = mframe_t flyer_frames_bankright [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_bankright = {FRAME_bankr01, FRAME_bankr07, flyer_frames_bankright, NULL}; mmove_t flyer_move_bankright = {FRAME_bankr01, FRAME_bankr07, flyer_frames_bankright, NULL};
mframe_t flyer_frames_bankleft [] = mframe_t flyer_frames_bankleft [] =
{ {
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL, {ai_move, 0, NULL},
ai_move, 0, NULL {ai_move, 0, NULL}
}; };
mmove_t flyer_move_bankleft = {FRAME_bankl01, FRAME_bankl07, flyer_frames_bankleft, NULL}; mmove_t flyer_move_bankleft = {FRAME_bankl01, FRAME_bankl07, flyer_frames_bankleft, NULL};
@ -380,23 +380,23 @@ void flyer_fireright (edict_t *self)
mframe_t flyer_frames_attack2 [] = mframe_t flyer_frames_attack2 [] =
{ {
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, -10, flyer_fireleft, // left gun {ai_charge, -10, flyer_fireleft}, // left gun
ai_charge, -10, flyer_fireright, // right gun {ai_charge, -10, flyer_fireright}, // right gun
ai_charge, -10, flyer_fireleft, // left gun {ai_charge, -10, flyer_fireleft}, // left gun
ai_charge, -10, flyer_fireright, // right gun {ai_charge, -10, flyer_fireright}, // right gun
ai_charge, -10, flyer_fireleft, // left gun {ai_charge, -10, flyer_fireleft}, // left gun
ai_charge, -10, flyer_fireright, // right gun {ai_charge, -10, flyer_fireright}, // right gun
ai_charge, -10, flyer_fireleft, // left gun {ai_charge, -10, flyer_fireleft}, // left gun
ai_charge, -10, flyer_fireright, // right gun {ai_charge, -10, flyer_fireright}, // right gun
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL {ai_charge, 0, NULL}
}; };
mmove_t flyer_move_attack2 = {FRAME_attak201, FRAME_attak217, flyer_frames_attack2, flyer_run}; mmove_t flyer_move_attack2 = {FRAME_attak201, FRAME_attak217, flyer_frames_attack2, flyer_run};
@ -421,47 +421,44 @@ void flyer_slash_right (edict_t *self)
mframe_t flyer_frames_start_melee [] = mframe_t flyer_frames_start_melee [] =
{ {
ai_charge, 0, flyer_pop_blades, {ai_charge, 0, flyer_pop_blades},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL {ai_charge, 0, NULL}
}; };
mmove_t flyer_move_start_melee = {FRAME_attak101, FRAME_attak106, flyer_frames_start_melee, flyer_loop_melee}; mmove_t flyer_move_start_melee = {FRAME_attak101, FRAME_attak106, flyer_frames_start_melee, flyer_loop_melee};
mframe_t flyer_frames_end_melee [] = mframe_t flyer_frames_end_melee [] =
{ {
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL {ai_charge, 0, NULL}
}; };
mmove_t flyer_move_end_melee = {FRAME_attak119, FRAME_attak121, flyer_frames_end_melee, flyer_run}; mmove_t flyer_move_end_melee = {FRAME_attak119, FRAME_attak121, flyer_frames_end_melee, flyer_run};
mframe_t flyer_frames_loop_melee [] = mframe_t flyer_frames_loop_melee [] =
{ {
ai_charge, 0, NULL, // Loop Start {ai_charge, 0, NULL}, // Loop Start
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, flyer_slash_left, // Left Wing Strike {ai_charge, 0, flyer_slash_left}, // Left Wing Strike
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, flyer_slash_right, // Right Wing Strike {ai_charge, 0, flyer_slash_right}, // Right Wing Strike
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL, {ai_charge, 0, NULL},
ai_charge, 0, NULL // Loop Ends {ai_charge, 0, NULL} // Loop Ends
}; };
mmove_t flyer_move_loop_melee = {FRAME_attak107, FRAME_attak118, flyer_frames_loop_melee, flyer_check_melee}; mmove_t flyer_move_loop_melee = {FRAME_attak107, FRAME_attak118, flyer_frames_loop_melee, flyer_check_melee};
void flyer_loop_melee (edict_t *self) void flyer_loop_melee (edict_t *self)
{ {
/* if (random() <= 0.5)
self->monsterinfo.currentmove = &flyer_move_attack1;
else */
self->monsterinfo.currentmove = &flyer_move_loop_melee; self->monsterinfo.currentmove = &flyer_move_loop_melee;
} }
@ -469,9 +466,6 @@ void flyer_loop_melee (edict_t *self)
void flyer_attack (edict_t *self) void flyer_attack (edict_t *self)
{ {
/* if (random() <= 0.5)
self->monsterinfo.currentmove = &flyer_move_attack1;
else */
self->monsterinfo.currentmove = &flyer_move_attack2; self->monsterinfo.currentmove = &flyer_move_attack2;
} }
@ -493,8 +487,6 @@ void flyer_nextmove (edict_t *self)
void flyer_melee (edict_t *self) void flyer_melee (edict_t *self)
{ {
// flyer.nextmove = ACTION_attack1;
// self->monsterinfo.currentmove = &flyer_move_stop;
self->monsterinfo.currentmove = &flyer_move_start_melee; self->monsterinfo.currentmove = &flyer_move_start_melee;
} }
@ -549,18 +541,6 @@ void flyer_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage,
} }
void SP_monster_flyer_precache(void)
{
sound_sight = gi.soundindex ("flyer/flysght1.wav");
sound_idle = gi.soundindex ("flyer/flysrch1.wav");
sound_pain1 = gi.soundindex ("flyer/flypain1.wav");
sound_pain2 = gi.soundindex ("flyer/flypain2.wav");
sound_slash = gi.soundindex ("flyer/flyatck2.wav");
sound_sproing = gi.soundindex ("flyer/flyatck1.wav");
sound_die = gi.soundindex ("flyer/flydeth1.wav");
}
/*QUAKED monster_flyer (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight /*QUAKED monster_flyer (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
*/ */
void SP_monster_flyer (edict_t *self) void SP_monster_flyer (edict_t *self)
@ -578,7 +558,13 @@ void SP_monster_flyer (edict_t *self)
self->target = NULL; self->target = NULL;
} }
SP_monster_flyer_precache(); sound_sight = gi.soundindex ("flyer/flysght1.wav");
sound_idle = gi.soundindex ("flyer/flysrch1.wav");
sound_pain1 = gi.soundindex ("flyer/flypain1.wav");
sound_pain2 = gi.soundindex ("flyer/flypain2.wav");
sound_slash = gi.soundindex ("flyer/flyatck2.wav");
sound_sproing = gi.soundindex ("flyer/flyatck1.wav");
sound_die = gi.soundindex ("flyer/flydeth1.wav");
gi.soundindex ("flyer/flyatck3.wav"); gi.soundindex ("flyer/flyatck3.wav");
@ -611,3 +597,4 @@ void SP_monster_flyer (edict_t *self)
flymonster_start (self); flymonster_start (self);
} }