mirror of
https://github.com/yquake2/zaero.git
synced 2024-11-10 06:32:04 +00:00
Hover, Gladiator und Gunner
This commit is contained in:
parent
85b52bc522
commit
7b568379ef
3 changed files with 592 additions and 614 deletions
|
@ -44,13 +44,13 @@ void gladiator_cleaver_swing (edict_t *self)
|
||||||
|
|
||||||
mframe_t gladiator_frames_stand [] =
|
mframe_t gladiator_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}
|
||||||
};
|
};
|
||||||
mmove_t gladiator_move_stand = {FRAME_stand1, FRAME_stand7, gladiator_frames_stand, NULL};
|
mmove_t gladiator_move_stand = {FRAME_stand1, FRAME_stand7, gladiator_frames_stand, NULL};
|
||||||
|
|
||||||
|
@ -62,22 +62,22 @@ void gladiator_stand (edict_t *self)
|
||||||
|
|
||||||
mframe_t gladiator_frames_walk [] =
|
mframe_t gladiator_frames_walk [] =
|
||||||
{
|
{
|
||||||
ai_walk, 15, NULL,
|
{ai_walk, 15, NULL},
|
||||||
ai_walk, 7, NULL,
|
{ai_walk, 7, NULL},
|
||||||
ai_walk, 6, NULL,
|
{ai_walk, 6, NULL},
|
||||||
ai_walk, 5, NULL,
|
{ai_walk, 5, NULL},
|
||||||
ai_walk, 2, NULL,
|
{ai_walk, 2, NULL},
|
||||||
ai_walk, 0, NULL,
|
{ai_walk, 0, NULL},
|
||||||
ai_walk, 2, NULL,
|
{ai_walk, 2, NULL},
|
||||||
ai_walk, 8, NULL,
|
{ai_walk, 8, NULL},
|
||||||
ai_walk, 12, NULL,
|
{ai_walk, 12, NULL},
|
||||||
ai_walk, 8, NULL,
|
{ai_walk, 8, NULL},
|
||||||
ai_walk, 5, NULL,
|
{ai_walk, 5, NULL},
|
||||||
ai_walk, 5, NULL,
|
{ai_walk, 5, NULL},
|
||||||
ai_walk, 2, NULL,
|
{ai_walk, 2, NULL},
|
||||||
ai_walk, 2, NULL,
|
{ai_walk, 2, NULL},
|
||||||
ai_walk, 1, NULL,
|
{ai_walk, 1, NULL},
|
||||||
ai_walk, 8, NULL
|
{ai_walk, 8, NULL}
|
||||||
};
|
};
|
||||||
mmove_t gladiator_move_walk = {FRAME_walk1, FRAME_walk16, gladiator_frames_walk, NULL};
|
mmove_t gladiator_move_walk = {FRAME_walk1, FRAME_walk16, gladiator_frames_walk, NULL};
|
||||||
|
|
||||||
|
@ -89,12 +89,12 @@ void gladiator_walk (edict_t *self)
|
||||||
|
|
||||||
mframe_t gladiator_frames_run [] =
|
mframe_t gladiator_frames_run [] =
|
||||||
{
|
{
|
||||||
ai_run, 23, NULL,
|
{ai_run, 23, NULL},
|
||||||
ai_run, 14, NULL,
|
{ai_run, 14, NULL},
|
||||||
ai_run, 14, NULL,
|
{ai_run, 14, NULL},
|
||||||
ai_run, 21, NULL,
|
{ai_run, 21, NULL},
|
||||||
ai_run, 12, NULL,
|
{ai_run, 12, NULL},
|
||||||
ai_run, 13, NULL
|
{ai_run, 13, NULL}
|
||||||
};
|
};
|
||||||
mmove_t gladiator_move_run = {FRAME_run1, FRAME_run6, gladiator_frames_run, NULL};
|
mmove_t gladiator_move_run = {FRAME_run1, FRAME_run6, gladiator_frames_run, NULL};
|
||||||
|
|
||||||
|
@ -120,23 +120,23 @@ void GaldiatorMelee (edict_t *self)
|
||||||
|
|
||||||
mframe_t gladiator_frames_attack_melee [] =
|
mframe_t gladiator_frames_attack_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},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, gladiator_cleaver_swing,
|
{ai_charge, 0, gladiator_cleaver_swing},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, GaldiatorMelee,
|
{ai_charge, 0, GaldiatorMelee},
|
||||||
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, gladiator_cleaver_swing,
|
{ai_charge, 0, gladiator_cleaver_swing},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, GaldiatorMelee,
|
{ai_charge, 0, GaldiatorMelee},
|
||||||
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 gladiator_move_attack_melee = {FRAME_melee1, FRAME_melee17, gladiator_frames_attack_melee, gladiator_run};
|
mmove_t gladiator_move_attack_melee = {FRAME_melee1, FRAME_melee17, gladiator_frames_attack_melee, gladiator_run};
|
||||||
|
|
||||||
|
@ -164,15 +164,15 @@ void GladiatorGun (edict_t *self)
|
||||||
|
|
||||||
mframe_t gladiator_frames_attack_gun [] =
|
mframe_t gladiator_frames_attack_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, GladiatorGun,
|
{ai_charge, 0, GladiatorGun},
|
||||||
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 gladiator_move_attack_gun = {FRAME_attack1, FRAME_attack9, gladiator_frames_attack_gun, gladiator_run};
|
mmove_t gladiator_move_attack_gun = {FRAME_attack1, FRAME_attack9, gladiator_frames_attack_gun, gladiator_run};
|
||||||
|
|
||||||
|
@ -197,24 +197,24 @@ void gladiator_attack(edict_t *self)
|
||||||
|
|
||||||
mframe_t gladiator_frames_pain [] =
|
mframe_t gladiator_frames_pain [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 gladiator_move_pain = {FRAME_pain1, FRAME_pain6, gladiator_frames_pain, gladiator_run};
|
mmove_t gladiator_move_pain = {FRAME_pain1, FRAME_pain6, gladiator_frames_pain, gladiator_run};
|
||||||
|
|
||||||
mframe_t gladiator_frames_pain_air [] =
|
mframe_t gladiator_frames_pain_air [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 gladiator_move_pain_air = {FRAME_painup1, FRAME_painup7, gladiator_frames_pain_air, gladiator_run};
|
mmove_t gladiator_move_pain_air = {FRAME_painup1, FRAME_painup7, gladiator_frames_pain_air, gladiator_run};
|
||||||
|
|
||||||
|
@ -261,28 +261,28 @@ void gladiator_dead (edict_t *self)
|
||||||
|
|
||||||
mframe_t gladiator_frames_death [] =
|
mframe_t gladiator_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}
|
||||||
};
|
};
|
||||||
mmove_t gladiator_move_death = {FRAME_death1, FRAME_death22, gladiator_frames_death, gladiator_dead};
|
mmove_t gladiator_move_death = {FRAME_death1, FRAME_death22, gladiator_frames_death, gladiator_dead};
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ void gladiator_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int da
|
||||||
{
|
{
|
||||||
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);
|
||||||
|
@ -306,7 +306,7 @@ void gladiator_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int da
|
||||||
if (self->deadflag == DEAD_DEAD)
|
if (self->deadflag == DEAD_DEAD)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// regular death
|
// regular death
|
||||||
gi.sound (self, CHAN_VOICE, sound_die, 1, ATTN_NORM, 0);
|
gi.sound (self, CHAN_VOICE, sound_die, 1, ATTN_NORM, 0);
|
||||||
self->deadflag = DEAD_DEAD;
|
self->deadflag = DEAD_DEAD;
|
||||||
self->takedamage = DAMAGE_YES;
|
self->takedamage = DAMAGE_YES;
|
||||||
|
@ -315,21 +315,6 @@ void gladiator_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int da
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SP_monster_gladiator_precache(void)
|
|
||||||
{
|
|
||||||
sound_pain1 = gi.soundindex ("gladiator/pain.wav");
|
|
||||||
sound_pain2 = gi.soundindex ("gladiator/gldpain2.wav");
|
|
||||||
sound_die = gi.soundindex ("gladiator/glddeth2.wav");
|
|
||||||
sound_gun = gi.soundindex ("gladiator/railgun.wav");
|
|
||||||
sound_cleaver_swing = gi.soundindex ("gladiator/melee1.wav");
|
|
||||||
sound_cleaver_hit = gi.soundindex ("gladiator/melee2.wav");
|
|
||||||
sound_cleaver_miss = gi.soundindex ("gladiator/melee3.wav");
|
|
||||||
sound_idle = gi.soundindex ("gladiator/gldidle1.wav");
|
|
||||||
sound_search = gi.soundindex ("gladiator/gldsrch1.wav");
|
|
||||||
sound_sight = gi.soundindex ("gladiator/sight.wav");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*QUAKED monster_gladiator (1 .5 0) (-32 -32 -24) (32 32 64) Ambush Trigger_Spawn Sight
|
/*QUAKED monster_gladiator (1 .5 0) (-32 -32 -24) (32 32 64) Ambush Trigger_Spawn Sight
|
||||||
*/
|
*/
|
||||||
void SP_monster_gladiator (edict_t *self)
|
void SP_monster_gladiator (edict_t *self)
|
||||||
|
@ -340,7 +325,17 @@ void SP_monster_gladiator (edict_t *self)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SP_monster_gladiator_precache();
|
|
||||||
|
sound_pain1 = gi.soundindex ("gladiator/pain.wav");
|
||||||
|
sound_pain2 = gi.soundindex ("gladiator/gldpain2.wav");
|
||||||
|
sound_die = gi.soundindex ("gladiator/glddeth2.wav");
|
||||||
|
sound_gun = gi.soundindex ("gladiator/railgun.wav");
|
||||||
|
sound_cleaver_swing = gi.soundindex ("gladiator/melee1.wav");
|
||||||
|
sound_cleaver_hit = gi.soundindex ("gladiator/melee2.wav");
|
||||||
|
sound_cleaver_miss = gi.soundindex ("gladiator/melee3.wav");
|
||||||
|
sound_idle = gi.soundindex ("gladiator/gldidle1.wav");
|
||||||
|
sound_search = gi.soundindex ("gladiator/gldsrch1.wav");
|
||||||
|
sound_sight = gi.soundindex ("gladiator/sight.wav");
|
||||||
|
|
||||||
self->movetype = MOVETYPE_STEP;
|
self->movetype = MOVETYPE_STEP;
|
||||||
self->solid = SOLID_BBOX;
|
self->solid = SOLID_BBOX;
|
||||||
|
@ -371,3 +366,4 @@ void SP_monster_gladiator (edict_t *self)
|
||||||
|
|
||||||
walkmonster_start (self);
|
walkmonster_start (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
436
src/m_gunner.c
436
src/m_gunner.c
|
@ -46,59 +46,59 @@ void gunner_stand (edict_t *self);
|
||||||
|
|
||||||
mframe_t gunner_frames_fidget [] =
|
mframe_t gunner_frames_fidget [] =
|
||||||
{
|
{
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, gunner_idlesound,
|
{ai_stand, 0, gunner_idlesound},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
|
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
|
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
|
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
|
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
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 gunner_move_fidget = {FRAME_stand31, FRAME_stand70, gunner_frames_fidget, gunner_stand};
|
mmove_t gunner_move_fidget = {FRAME_stand31, FRAME_stand70, gunner_frames_fidget, gunner_stand};
|
||||||
|
|
||||||
|
@ -112,38 +112,38 @@ void gunner_fidget (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_stand [] =
|
mframe_t gunner_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, gunner_fidget,
|
{ai_stand, 0, gunner_fidget},
|
||||||
|
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, gunner_fidget,
|
{ai_stand, 0, gunner_fidget},
|
||||||
|
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, gunner_fidget
|
{ai_stand, 0, gunner_fidget}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_stand = {FRAME_stand01, FRAME_stand30, gunner_frames_stand, NULL};
|
mmove_t gunner_move_stand = {FRAME_stand01, FRAME_stand30, gunner_frames_stand, NULL};
|
||||||
|
|
||||||
|
@ -155,19 +155,19 @@ void gunner_stand (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_walk [] =
|
mframe_t gunner_frames_walk [] =
|
||||||
{
|
{
|
||||||
ai_walk, 0, NULL,
|
{ai_walk, 0, NULL},
|
||||||
ai_walk, 3, NULL,
|
{ai_walk, 3, NULL},
|
||||||
ai_walk, 4, NULL,
|
{ai_walk, 4, NULL},
|
||||||
ai_walk, 5, NULL,
|
{ai_walk, 5, NULL},
|
||||||
ai_walk, 7, NULL,
|
{ai_walk, 7, NULL},
|
||||||
ai_walk, 2, NULL,
|
{ai_walk, 2, NULL},
|
||||||
ai_walk, 6, NULL,
|
{ai_walk, 6, NULL},
|
||||||
ai_walk, 4, NULL,
|
{ai_walk, 4, NULL},
|
||||||
ai_walk, 2, NULL,
|
{ai_walk, 2, NULL},
|
||||||
ai_walk, 7, NULL,
|
{ai_walk, 7, NULL},
|
||||||
ai_walk, 5, NULL,
|
{ai_walk, 5, NULL},
|
||||||
ai_walk, 7, NULL,
|
{ai_walk, 7, NULL},
|
||||||
ai_walk, 4, NULL
|
{ai_walk, 4, NULL}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_walk = {FRAME_walk07, FRAME_walk19, gunner_frames_walk, NULL};
|
mmove_t gunner_move_walk = {FRAME_walk07, FRAME_walk19, gunner_frames_walk, NULL};
|
||||||
|
|
||||||
|
@ -178,14 +178,14 @@ void gunner_walk (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_run [] =
|
mframe_t gunner_frames_run [] =
|
||||||
{
|
{
|
||||||
ai_run, 26, NULL,
|
{ai_run, 26, NULL},
|
||||||
ai_run, 9, NULL,
|
{ai_run, 9, NULL},
|
||||||
ai_run, 9, NULL,
|
{ai_run, 9, NULL},
|
||||||
ai_run, 9, NULL,
|
{ai_run, 9, NULL},
|
||||||
ai_run, 15, NULL,
|
{ai_run, 15, NULL},
|
||||||
ai_run, 10, NULL,
|
{ai_run, 10, NULL},
|
||||||
ai_run, 13, NULL,
|
{ai_run, 13, NULL},
|
||||||
ai_run, 6, NULL
|
{ai_run, 6, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
mmove_t gunner_move_run = {FRAME_run01, FRAME_run08, gunner_frames_run, NULL};
|
mmove_t gunner_move_run = {FRAME_run01, FRAME_run08, gunner_frames_run, NULL};
|
||||||
|
@ -200,12 +200,12 @@ void gunner_run (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_runandshoot [] =
|
mframe_t gunner_frames_runandshoot [] =
|
||||||
{
|
{
|
||||||
ai_run, 32, NULL,
|
{ai_run, 32, NULL},
|
||||||
ai_run, 15, NULL,
|
{ai_run, 15, NULL},
|
||||||
ai_run, 10, NULL,
|
{ai_run, 10, NULL},
|
||||||
ai_run, 18, NULL,
|
{ai_run, 18, NULL},
|
||||||
ai_run, 8, NULL,
|
{ai_run, 8, NULL},
|
||||||
ai_run, 20, NULL
|
{ai_run, 20, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
mmove_t gunner_move_runandshoot = {FRAME_runs01, FRAME_runs06, gunner_frames_runandshoot, NULL};
|
mmove_t gunner_move_runandshoot = {FRAME_runs01, FRAME_runs06, gunner_frames_runandshoot, NULL};
|
||||||
|
@ -217,47 +217,47 @@ void gunner_runandshoot (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_pain3 [] =
|
mframe_t gunner_frames_pain3 [] =
|
||||||
{
|
{
|
||||||
ai_move, -3, NULL,
|
{ai_move, -3, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 1, NULL
|
{ai_move, 1, NULL}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_pain3 = {FRAME_pain301, FRAME_pain305, gunner_frames_pain3, gunner_run};
|
mmove_t gunner_move_pain3 = {FRAME_pain301, FRAME_pain305, gunner_frames_pain3, gunner_run};
|
||||||
|
|
||||||
mframe_t gunner_frames_pain2 [] =
|
mframe_t gunner_frames_pain2 [] =
|
||||||
{
|
{
|
||||||
ai_move, -2, NULL,
|
{ai_move, -2, NULL},
|
||||||
ai_move, 11, NULL,
|
{ai_move, 11, NULL},
|
||||||
ai_move, 6, NULL,
|
{ai_move, 6, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, -7, NULL,
|
{ai_move, -7, NULL},
|
||||||
ai_move, -2, NULL,
|
{ai_move, -2, NULL},
|
||||||
ai_move, -7, NULL
|
{ai_move, -7, NULL}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_pain2 = {FRAME_pain201, FRAME_pain208, gunner_frames_pain2, gunner_run};
|
mmove_t gunner_move_pain2 = {FRAME_pain201, FRAME_pain208, gunner_frames_pain2, gunner_run};
|
||||||
|
|
||||||
mframe_t gunner_frames_pain1 [] =
|
mframe_t gunner_frames_pain1 [] =
|
||||||
{
|
{
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, -5, NULL,
|
{ai_move, -5, NULL},
|
||||||
ai_move, 3, NULL,
|
{ai_move, 3, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, -2, NULL,
|
{ai_move, -2, NULL},
|
||||||
ai_move, -2, NULL,
|
{ai_move, -2, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL
|
{ai_move, 0, NULL}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_pain1 = {FRAME_pain101, FRAME_pain118, gunner_frames_pain1, gunner_run};
|
mmove_t gunner_move_pain1 = {FRAME_pain101, FRAME_pain118, gunner_frames_pain1, gunner_run};
|
||||||
|
|
||||||
|
@ -299,17 +299,17 @@ void gunner_dead (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_death [] =
|
mframe_t gunner_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, -7, NULL,
|
{ai_move, -7, NULL},
|
||||||
ai_move, -3, NULL,
|
{ai_move, -3, NULL},
|
||||||
ai_move, -5, NULL,
|
{ai_move, -5, NULL},
|
||||||
ai_move, 8, NULL,
|
{ai_move, 8, NULL},
|
||||||
ai_move, 6, NULL,
|
{ai_move, 6, NULL},
|
||||||
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 gunner_move_death = {FRAME_death01, FRAME_death11, gunner_frames_death, gunner_dead};
|
mmove_t gunner_move_death = {FRAME_death01, FRAME_death11, gunner_frames_death, gunner_dead};
|
||||||
|
|
||||||
|
@ -317,7 +317,7 @@ void gunner_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damag
|
||||||
{
|
{
|
||||||
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);
|
||||||
|
@ -333,7 +333,7 @@ void gunner_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damag
|
||||||
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;
|
||||||
|
@ -376,14 +376,14 @@ void gunner_duck_up (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_duck [] =
|
mframe_t gunner_frames_duck [] =
|
||||||
{
|
{
|
||||||
ai_move, 1, gunner_duck_down,
|
{ai_move, 1, gunner_duck_down},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 1, gunner_duck_hold,
|
{ai_move, 1, gunner_duck_hold},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, 0, gunner_duck_up,
|
{ai_move, 0, gunner_duck_up},
|
||||||
ai_move, -1, NULL
|
{ai_move, -1, NULL}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_duck = {FRAME_duck01, FRAME_duck08, gunner_frames_duck, gunner_run};
|
mmove_t gunner_move_duck = {FRAME_duck01, FRAME_duck08, gunner_frames_duck, gunner_run};
|
||||||
|
|
||||||
|
@ -440,7 +440,7 @@ void GunnerGrenade (edict_t *self)
|
||||||
flash_number = MZ2_GUNNER_GRENADE_2;
|
flash_number = MZ2_GUNNER_GRENADE_2;
|
||||||
else if (self->s.frame == FRAME_attak111)
|
else if (self->s.frame == FRAME_attak111)
|
||||||
flash_number = MZ2_GUNNER_GRENADE_3;
|
flash_number = MZ2_GUNNER_GRENADE_3;
|
||||||
else // (self->s.frame == FRAME_attak114)
|
else
|
||||||
flash_number = MZ2_GUNNER_GRENADE_4;
|
flash_number = MZ2_GUNNER_GRENADE_4;
|
||||||
|
|
||||||
AngleVectors (self->s.angles, forward, right, NULL);
|
AngleVectors (self->s.angles, forward, right, NULL);
|
||||||
|
@ -454,74 +454,64 @@ void GunnerGrenade (edict_t *self)
|
||||||
|
|
||||||
mframe_t gunner_frames_attack_chain [] =
|
mframe_t gunner_frames_attack_chain [] =
|
||||||
{
|
{
|
||||||
/*
|
{ai_charge, 0, gunner_opengun},
|
||||||
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, gunner_opengun,
|
|
||||||
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 gunner_move_attack_chain = {FRAME_attak209, FRAME_attak215, gunner_frames_attack_chain, gunner_fire_chain};
|
mmove_t gunner_move_attack_chain = {FRAME_attak209, FRAME_attak215, gunner_frames_attack_chain, gunner_fire_chain};
|
||||||
|
|
||||||
mframe_t gunner_frames_fire_chain [] =
|
mframe_t gunner_frames_fire_chain [] =
|
||||||
{
|
{
|
||||||
ai_charge, 0, GunnerFire,
|
{ai_charge, 0, GunnerFire},
|
||||||
ai_charge, 0, GunnerFire,
|
{ai_charge, 0, GunnerFire},
|
||||||
ai_charge, 0, GunnerFire,
|
{ai_charge, 0, GunnerFire},
|
||||||
ai_charge, 0, GunnerFire,
|
{ai_charge, 0, GunnerFire},
|
||||||
ai_charge, 0, GunnerFire,
|
{ai_charge, 0, GunnerFire},
|
||||||
ai_charge, 0, GunnerFire,
|
{ai_charge, 0, GunnerFire},
|
||||||
ai_charge, 0, GunnerFire,
|
{ai_charge, 0, GunnerFire},
|
||||||
ai_charge, 0, GunnerFire
|
{ai_charge, 0, GunnerFire}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_fire_chain = {FRAME_attak216, FRAME_attak223, gunner_frames_fire_chain, gunner_refire_chain};
|
mmove_t gunner_move_fire_chain = {FRAME_attak216, FRAME_attak223, gunner_frames_fire_chain, gunner_refire_chain};
|
||||||
|
|
||||||
mframe_t gunner_frames_endfire_chain [] =
|
mframe_t gunner_frames_endfire_chain [] =
|
||||||
{
|
{
|
||||||
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}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_endfire_chain = {FRAME_attak224, FRAME_attak230, gunner_frames_endfire_chain, gunner_run};
|
mmove_t gunner_move_endfire_chain = {FRAME_attak224, FRAME_attak230, gunner_frames_endfire_chain, gunner_run};
|
||||||
|
|
||||||
mframe_t gunner_frames_attack_grenade [] =
|
mframe_t gunner_frames_attack_grenade [] =
|
||||||
{
|
{
|
||||||
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, GunnerGrenade,
|
{ai_charge, 0, GunnerGrenade},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, GunnerGrenade,
|
{ai_charge, 0, GunnerGrenade},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, GunnerGrenade,
|
{ai_charge, 0, GunnerGrenade},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, NULL,
|
{ai_charge, 0, NULL},
|
||||||
ai_charge, 0, GunnerGrenade,
|
{ai_charge, 0, GunnerGrenade},
|
||||||
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}
|
||||||
};
|
};
|
||||||
mmove_t gunner_move_attack_grenade = {FRAME_attak101, FRAME_attak121, gunner_frames_attack_grenade, gunner_run};
|
mmove_t gunner_move_attack_grenade = {FRAME_attak101, FRAME_attak121, gunner_frames_attack_grenade, gunner_run};
|
||||||
|
|
||||||
|
@ -557,19 +547,6 @@ void gunner_refire_chain(edict_t *self)
|
||||||
self->monsterinfo.currentmove = &gunner_move_endfire_chain;
|
self->monsterinfo.currentmove = &gunner_move_endfire_chain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SP_monster_gunner_precache(void)
|
|
||||||
{
|
|
||||||
sound_death = gi.soundindex ("gunner/death1.wav");
|
|
||||||
sound_pain = gi.soundindex ("gunner/gunpain2.wav");
|
|
||||||
sound_pain2 = gi.soundindex ("gunner/gunpain1.wav");
|
|
||||||
sound_idle = gi.soundindex ("gunner/gunidle1.wav");
|
|
||||||
sound_open = gi.soundindex ("gunner/gunatck1.wav");
|
|
||||||
sound_search = gi.soundindex ("gunner/gunsrch1.wav");
|
|
||||||
sound_sight = gi.soundindex ("gunner/sight1.wav");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*QUAKED monster_gunner (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
|
/*QUAKED monster_gunner (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
|
||||||
*/
|
*/
|
||||||
void SP_monster_gunner (edict_t *self)
|
void SP_monster_gunner (edict_t *self)
|
||||||
|
@ -580,7 +557,13 @@ void SP_monster_gunner (edict_t *self)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SP_monster_gunner_precache();
|
sound_death = gi.soundindex ("gunner/death1.wav");
|
||||||
|
sound_pain = gi.soundindex ("gunner/gunpain2.wav");
|
||||||
|
sound_pain2 = gi.soundindex ("gunner/gunpain1.wav");
|
||||||
|
sound_idle = gi.soundindex ("gunner/gunidle1.wav");
|
||||||
|
sound_open = gi.soundindex ("gunner/gunatck1.wav");
|
||||||
|
sound_search = gi.soundindex ("gunner/gunsrch1.wav");
|
||||||
|
sound_sight = gi.soundindex ("gunner/sight1.wav");
|
||||||
|
|
||||||
gi.soundindex ("gunner/gunatck2.wav");
|
gi.soundindex ("gunner/gunatck2.wav");
|
||||||
gi.soundindex ("gunner/gunatck3.wav");
|
gi.soundindex ("gunner/gunatck3.wav");
|
||||||
|
@ -614,3 +597,4 @@ void SP_monster_gunner (edict_t *self)
|
||||||
|
|
||||||
walkmonster_start (self);
|
walkmonster_start (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
558
src/m_hover.c
558
src/m_hover.c
|
@ -45,357 +45,357 @@ void hover_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
||||||
|
|
||||||
mframe_t hover_frames_stand [] =
|
mframe_t hover_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}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_stand = {FRAME_stand01, FRAME_stand30, hover_frames_stand, NULL};
|
mmove_t hover_move_stand = {FRAME_stand01, FRAME_stand30, hover_frames_stand, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_stop1 [] =
|
mframe_t hover_frames_stop1 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 hover_move_stop1 = {FRAME_stop101, FRAME_stop109, hover_frames_stop1, NULL};
|
mmove_t hover_move_stop1 = {FRAME_stop101, FRAME_stop109, hover_frames_stop1, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_stop2 [] =
|
mframe_t hover_frames_stop2 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 hover_move_stop2 = {FRAME_stop201, FRAME_stop208, hover_frames_stop2, NULL};
|
mmove_t hover_move_stop2 = {FRAME_stop201, FRAME_stop208, hover_frames_stop2, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_takeoff [] =
|
mframe_t hover_frames_takeoff [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, -2, NULL,
|
{ai_move, -2, NULL},
|
||||||
ai_move, 5, NULL,
|
{ai_move, 5, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, -1, NULL,
|
{ai_move, -1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, -6, NULL,
|
{ai_move, -6, NULL},
|
||||||
ai_move, -9, NULL,
|
{ai_move, -9, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 3, NULL,
|
{ai_move, 3, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 0, NULL
|
{ai_move, 0, NULL}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_takeoff = {FRAME_takeof01, FRAME_takeof30, hover_frames_takeoff, NULL};
|
mmove_t hover_move_takeoff = {FRAME_takeof01, FRAME_takeof30, hover_frames_takeoff, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_pain3 [] =
|
mframe_t hover_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}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_pain3 = {FRAME_pain301, FRAME_pain309, hover_frames_pain3, hover_run};
|
mmove_t hover_move_pain3 = {FRAME_pain301, FRAME_pain309, hover_frames_pain3, hover_run};
|
||||||
|
|
||||||
mframe_t hover_frames_pain2 [] =
|
mframe_t hover_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},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 hover_move_pain2 = {FRAME_pain201, FRAME_pain212, hover_frames_pain2, hover_run};
|
mmove_t hover_move_pain2 = {FRAME_pain201, FRAME_pain212, hover_frames_pain2, hover_run};
|
||||||
|
|
||||||
mframe_t hover_frames_pain1 [] =
|
mframe_t hover_frames_pain1 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, -8, NULL,
|
{ai_move, -8, NULL},
|
||||||
ai_move, -4, NULL,
|
{ai_move, -4, NULL},
|
||||||
ai_move, -6, NULL,
|
{ai_move, -6, NULL},
|
||||||
ai_move, -4, NULL,
|
{ai_move, -4, NULL},
|
||||||
ai_move, -3, NULL,
|
{ai_move, -3, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 3, NULL,
|
{ai_move, 3, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 3, NULL,
|
{ai_move, 3, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 7, NULL,
|
{ai_move, 7, NULL},
|
||||||
ai_move, 1, NULL,
|
{ai_move, 1, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 2, NULL,
|
{ai_move, 2, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 5, NULL,
|
{ai_move, 5, NULL},
|
||||||
ai_move, 3, NULL,
|
{ai_move, 3, NULL},
|
||||||
ai_move, 4, NULL
|
{ai_move, 4, NULL}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_pain1 = {FRAME_pain101, FRAME_pain128, hover_frames_pain1, hover_run};
|
mmove_t hover_move_pain1 = {FRAME_pain101, FRAME_pain128, hover_frames_pain1, hover_run};
|
||||||
|
|
||||||
mframe_t hover_frames_land [] =
|
mframe_t hover_frames_land [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL
|
{ai_move, 0, NULL}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_land = {FRAME_land01, FRAME_land01, hover_frames_land, NULL};
|
mmove_t hover_move_land = {FRAME_land01, FRAME_land01, hover_frames_land, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_forward [] =
|
mframe_t hover_frames_forward [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 hover_move_forward = {FRAME_forwrd01, FRAME_forwrd35, hover_frames_forward, NULL};
|
mmove_t hover_move_forward = {FRAME_forwrd01, FRAME_forwrd35, hover_frames_forward, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_walk [] =
|
mframe_t hover_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},
|
||||||
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 hover_move_walk = {FRAME_forwrd01, FRAME_forwrd35, hover_frames_walk, NULL};
|
mmove_t hover_move_walk = {FRAME_forwrd01, FRAME_forwrd35, hover_frames_walk, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_run [] =
|
mframe_t hover_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}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_run = {FRAME_forwrd01, FRAME_forwrd35, hover_frames_run, NULL};
|
mmove_t hover_move_run = {FRAME_forwrd01, FRAME_forwrd35, hover_frames_run, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_death1 [] =
|
mframe_t hover_frames_death1 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, -10,NULL,
|
{ai_move, -10,NULL},
|
||||||
ai_move, 3, NULL,
|
{ai_move, 3, NULL},
|
||||||
ai_move, 5, NULL,
|
{ai_move, 5, NULL},
|
||||||
ai_move, 4, NULL,
|
{ai_move, 4, NULL},
|
||||||
ai_move, 7, NULL
|
{ai_move, 7, NULL}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_death1 = {FRAME_death101, FRAME_death111, hover_frames_death1, hover_dead};
|
mmove_t hover_move_death1 = {FRAME_death101, FRAME_death111, hover_frames_death1, hover_dead};
|
||||||
|
|
||||||
mframe_t hover_frames_backward [] =
|
mframe_t hover_frames_backward [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 hover_move_backward = {FRAME_backwd01, FRAME_backwd24, hover_frames_backward, NULL};
|
mmove_t hover_move_backward = {FRAME_backwd01, FRAME_backwd24, hover_frames_backward, NULL};
|
||||||
|
|
||||||
mframe_t hover_frames_start_attack [] =
|
mframe_t hover_frames_start_attack [] =
|
||||||
{
|
{
|
||||||
ai_charge, 1, NULL,
|
{ai_charge, 1, NULL},
|
||||||
ai_charge, 1, NULL,
|
{ai_charge, 1, NULL},
|
||||||
ai_charge, 1, NULL
|
{ai_charge, 1, NULL}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_start_attack = {FRAME_attak101, FRAME_attak103, hover_frames_start_attack, hover_attack};
|
mmove_t hover_move_start_attack = {FRAME_attak101, FRAME_attak103, hover_frames_start_attack, hover_attack};
|
||||||
|
|
||||||
mframe_t hover_frames_attack1 [] =
|
mframe_t hover_frames_attack1 [] =
|
||||||
{
|
{
|
||||||
ai_charge, -10, hover_fire_blaster,
|
{ai_charge, -10, hover_fire_blaster},
|
||||||
ai_charge, -10, hover_fire_blaster,
|
{ai_charge, -10, hover_fire_blaster},
|
||||||
ai_charge, 0, hover_reattack,
|
{ai_charge, 0, hover_reattack},
|
||||||
};
|
};
|
||||||
mmove_t hover_move_attack1 = {FRAME_attak104, FRAME_attak106, hover_frames_attack1, NULL};
|
mmove_t hover_move_attack1 = {FRAME_attak104, FRAME_attak106, hover_frames_attack1, NULL};
|
||||||
|
|
||||||
|
|
||||||
mframe_t hover_frames_end_attack [] =
|
mframe_t hover_frames_end_attack [] =
|
||||||
{
|
{
|
||||||
ai_charge, 1, NULL,
|
{ai_charge, 1, NULL},
|
||||||
ai_charge, 1, NULL
|
{ai_charge, 1, NULL}
|
||||||
};
|
};
|
||||||
mmove_t hover_move_end_attack = {FRAME_attak107, FRAME_attak108, hover_frames_end_attack, hover_run};
|
mmove_t hover_move_end_attack = {FRAME_attak107, FRAME_attak108, hover_frames_end_attack, hover_run};
|
||||||
|
|
||||||
|
@ -523,7 +523,7 @@ void hover_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
||||||
{
|
{
|
||||||
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);
|
||||||
|
@ -539,7 +539,7 @@ void hover_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
||||||
if (self->deadflag == DEAD_DEAD)
|
if (self->deadflag == DEAD_DEAD)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// regular death
|
// regular death
|
||||||
if (random() < 0.5)
|
if (random() < 0.5)
|
||||||
gi.sound (self, CHAN_VOICE, sound_death1, 1, ATTN_NORM, 0);
|
gi.sound (self, CHAN_VOICE, sound_death1, 1, ATTN_NORM, 0);
|
||||||
else
|
else
|
||||||
|
@ -594,9 +594,6 @@ void hover_dodge (edict_t *self, edict_t *attacker, float eta)
|
||||||
}
|
}
|
||||||
|
|
||||||
self->monsterinfo.flyStrafeTimeout = level.time + /*eta + */ 1.0;
|
self->monsterinfo.flyStrafeTimeout = level.time + /*eta + */ 1.0;
|
||||||
|
|
||||||
//if (random() < 0.5)
|
|
||||||
// self->monsterinfo.currentmove = &hover_move_run;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SP_monster_hover_precache(void)
|
void SP_monster_hover_precache(void)
|
||||||
|
@ -654,3 +651,4 @@ void SP_monster_hover (edict_t *self)
|
||||||
|
|
||||||
flymonster_start (self);
|
flymonster_start (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue