mirror of
https://github.com/yquake2/zaero.git
synced 2024-11-10 06:32:04 +00:00
Chick, Brain und Flash aufgeräumt
This commit is contained in:
parent
f9fc8c6cd8
commit
e9b6dc2090
3 changed files with 751 additions and 639 deletions
474
src/m_brain.c
474
src/m_brain.c
|
@ -47,38 +47,38 @@ void brain_dead (edict_t *self);
|
|||
|
||||
mframe_t brain_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 brain_move_stand = {FRAME_stand01, FRAME_stand30, brain_frames_stand, NULL};
|
||||
|
||||
|
@ -94,38 +94,38 @@ void brain_stand (edict_t *self)
|
|||
|
||||
mframe_t brain_frames_idle [] =
|
||||
{
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{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 brain_move_idle = {FRAME_stand31, FRAME_stand60, brain_frames_idle, brain_stand};
|
||||
|
||||
|
@ -141,148 +141,89 @@ void brain_idle (edict_t *self)
|
|||
//
|
||||
mframe_t brain_frames_walk1 [] =
|
||||
{
|
||||
ai_walk, 7, NULL,
|
||||
ai_walk, 2, NULL,
|
||||
ai_walk, 3, NULL,
|
||||
ai_walk, 3, NULL,
|
||||
ai_walk, 1, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 9, NULL,
|
||||
ai_walk, -4, NULL,
|
||||
ai_walk, -1, NULL,
|
||||
ai_walk, 2, NULL
|
||||
{ai_walk, 7, NULL},
|
||||
{ai_walk, 2, NULL},
|
||||
{ai_walk, 3, NULL},
|
||||
{ai_walk, 3, NULL},
|
||||
{ai_walk, 1, NULL},
|
||||
{ai_walk, 0, NULL},
|
||||
{ai_walk, 0, NULL},
|
||||
{ai_walk, 9, NULL},
|
||||
{ai_walk, -4, NULL},
|
||||
{ai_walk, -1, NULL},
|
||||
{ai_walk, 2, NULL}
|
||||
};
|
||||
mmove_t brain_move_walk1 = {FRAME_walk101, FRAME_walk111, brain_frames_walk1, NULL};
|
||||
|
||||
// walk2 is FUBAR, do not use
|
||||
#if 0
|
||||
void brain_walk2_cycle (edict_t *self)
|
||||
{
|
||||
if (random() > 0.1)
|
||||
self->monsterinfo.nextframe = FRAME_walk220;
|
||||
}
|
||||
|
||||
mframe_t brain_frames_walk2 [] =
|
||||
{
|
||||
ai_walk, 3, NULL,
|
||||
ai_walk, -2, NULL,
|
||||
ai_walk, -4, NULL,
|
||||
ai_walk, -3, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 1, NULL,
|
||||
ai_walk, 12, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, -3, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
|
||||
ai_walk, -2, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 1, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 10, NULL, // Cycle Start
|
||||
|
||||
ai_walk, -1, NULL,
|
||||
ai_walk, 7, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 3, NULL,
|
||||
ai_walk, -3, NULL,
|
||||
ai_walk, 2, NULL,
|
||||
ai_walk, 4, NULL,
|
||||
ai_walk, -3, NULL,
|
||||
ai_walk, 2, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
|
||||
ai_walk, 4, brain_walk2_cycle,
|
||||
ai_walk, -1, NULL,
|
||||
ai_walk, -1, NULL,
|
||||
ai_walk, -8, NULL,
|
||||
ai_walk, 0, NULL,
|
||||
ai_walk, 1, NULL,
|
||||
ai_walk, 5, NULL,
|
||||
ai_walk, 2, NULL,
|
||||
ai_walk, -1, NULL,
|
||||
ai_walk, -5, NULL
|
||||
};
|
||||
mmove_t brain_move_walk2 = {FRAME_walk201, FRAME_walk240, brain_frames_walk2, NULL};
|
||||
#endif
|
||||
|
||||
void brain_walk (edict_t *self)
|
||||
{
|
||||
// if (random() <= 0.5)
|
||||
self->monsterinfo.currentmove = &brain_move_walk1;
|
||||
// else
|
||||
// self->monsterinfo.currentmove = &brain_move_walk2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
mframe_t brain_frames_defense [] =
|
||||
{
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{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 brain_move_defense = {FRAME_defens01, FRAME_defens08, brain_frames_defense, NULL};
|
||||
|
||||
mframe_t brain_frames_pain3 [] =
|
||||
{
|
||||
ai_move, -2, NULL,
|
||||
ai_move, 2, NULL,
|
||||
ai_move, 1, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -4, NULL
|
||||
{ai_move, -2, NULL},
|
||||
{ai_move, 2, NULL},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, -4, NULL}
|
||||
};
|
||||
mmove_t brain_move_pain3 = {FRAME_pain301, FRAME_pain306, brain_frames_pain3, brain_run};
|
||||
|
||||
mframe_t brain_frames_pain2 [] =
|
||||
{
|
||||
ai_move, -2, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 1, 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, 3, NULL},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, -2, NULL}
|
||||
};
|
||||
mmove_t brain_move_pain2 = {FRAME_pain201, FRAME_pain208, brain_frames_pain2, brain_run};
|
||||
|
||||
mframe_t brain_frames_pain1 [] =
|
||||
{
|
||||
ai_move, -6, NULL,
|
||||
ai_move, -2, 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,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 2, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 2, NULL,
|
||||
ai_move, 1, NULL,
|
||||
ai_move, 7, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, -1, NULL
|
||||
{ai_move, -6, NULL},
|
||||
{ai_move, -2, 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},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 2, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 2, NULL},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, 7, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, -1, NULL}
|
||||
};
|
||||
mmove_t brain_move_pain1 = {FRAME_pain101, FRAME_pain121, brain_frames_pain1, brain_run};
|
||||
|
||||
|
@ -319,14 +260,14 @@ void brain_duck_up (edict_t *self)
|
|||
|
||||
mframe_t brain_frames_duck [] =
|
||||
{
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -2, brain_duck_down,
|
||||
ai_move, 17, brain_duck_hold,
|
||||
ai_move, -3, NULL,
|
||||
ai_move, -1, brain_duck_up,
|
||||
ai_move, -5, NULL,
|
||||
ai_move, -6, NULL,
|
||||
ai_move, -6, NULL
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, -2, brain_duck_down},
|
||||
{ai_move, 17, brain_duck_hold},
|
||||
{ai_move, -3, NULL},
|
||||
{ai_move, -1, brain_duck_up},
|
||||
{ai_move, -5, NULL},
|
||||
{ai_move, -6, NULL},
|
||||
{ai_move, -6, NULL}
|
||||
};
|
||||
mmove_t brain_move_duck = {FRAME_duck01, FRAME_duck08, brain_frames_duck, brain_run};
|
||||
|
||||
|
@ -345,34 +286,34 @@ void brain_dodge (edict_t *self, edict_t *attacker, float eta)
|
|||
|
||||
mframe_t brain_frames_death2 [] =
|
||||
{
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 9, NULL,
|
||||
ai_move, 0, NULL
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 9, NULL},
|
||||
{ai_move, 0, NULL}
|
||||
};
|
||||
mmove_t brain_move_death2 = {FRAME_death201, FRAME_death205, brain_frames_death2, brain_dead};
|
||||
|
||||
mframe_t brain_frames_death1 [] =
|
||||
{
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -2, NULL,
|
||||
ai_move, 9, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, -2, NULL},
|
||||
{ai_move, 9, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{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 brain_move_death1 = {FRAME_death101, FRAME_death118, brain_frames_death1, brain_dead};
|
||||
|
||||
|
@ -411,24 +352,24 @@ void brain_hit_left (edict_t *self)
|
|||
|
||||
mframe_t brain_frames_attack1 [] =
|
||||
{
|
||||
ai_charge, 8, NULL,
|
||||
ai_charge, 3, NULL,
|
||||
ai_charge, 5, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, -3, brain_swing_right,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, -5, NULL,
|
||||
ai_charge, -7, brain_hit_right,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 6, brain_swing_left,
|
||||
ai_charge, 1, NULL,
|
||||
ai_charge, 2, brain_hit_left,
|
||||
ai_charge, -3, NULL,
|
||||
ai_charge, 6, NULL,
|
||||
ai_charge, -1, NULL,
|
||||
ai_charge, -3, NULL,
|
||||
ai_charge, 2, NULL,
|
||||
ai_charge, -11,NULL
|
||||
{ai_charge, 8, NULL},
|
||||
{ai_charge, 3, NULL},
|
||||
{ai_charge, 5, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, -3, brain_swing_right},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, -5, NULL},
|
||||
{ai_charge, -7, brain_hit_right},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 6, brain_swing_left},
|
||||
{ai_charge, 1, NULL},
|
||||
{ai_charge, 2, brain_hit_left},
|
||||
{ai_charge, -3, NULL},
|
||||
{ai_charge, 6, NULL},
|
||||
{ai_charge, -1, NULL},
|
||||
{ai_charge, -3, NULL},
|
||||
{ai_charge, 2, NULL},
|
||||
{ai_charge, -11,NULL}
|
||||
};
|
||||
mmove_t brain_move_attack1 = {FRAME_attak101, FRAME_attak118, brain_frames_attack1, brain_run};
|
||||
|
||||
|
@ -461,23 +402,23 @@ void brain_chest_closed (edict_t *self)
|
|||
|
||||
mframe_t brain_frames_attack2 [] =
|
||||
{
|
||||
ai_charge, 5, NULL,
|
||||
ai_charge, -4, NULL,
|
||||
ai_charge, -4, NULL,
|
||||
ai_charge, -3, NULL,
|
||||
ai_charge, 0, brain_chest_open,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 13, brain_tentacle_attack,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 2, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, -9, brain_chest_closed,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 4, NULL,
|
||||
ai_charge, 3, NULL,
|
||||
ai_charge, 2, NULL,
|
||||
ai_charge, -3, NULL,
|
||||
ai_charge, -6, NULL
|
||||
{ai_charge, 5, NULL},
|
||||
{ai_charge, -4, NULL},
|
||||
{ai_charge, -4, NULL},
|
||||
{ai_charge, -3, NULL},
|
||||
{ai_charge, 0, brain_chest_open},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 13, brain_tentacle_attack},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 2, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, -9, brain_chest_closed},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 4, NULL},
|
||||
{ai_charge, 3, NULL},
|
||||
{ai_charge, 2, NULL},
|
||||
{ai_charge, -3, NULL},
|
||||
{ai_charge, -6, NULL}
|
||||
};
|
||||
mmove_t brain_move_attack2 = {FRAME_attak201, FRAME_attak217, brain_frames_attack2, brain_run};
|
||||
|
||||
|
@ -496,17 +437,17 @@ void brain_melee(edict_t *self)
|
|||
|
||||
mframe_t brain_frames_run [] =
|
||||
{
|
||||
ai_run, 9, NULL,
|
||||
ai_run, 2, NULL,
|
||||
ai_run, 3, NULL,
|
||||
ai_run, 3, NULL,
|
||||
ai_run, 1, NULL,
|
||||
ai_run, 0, NULL,
|
||||
ai_run, 0, NULL,
|
||||
ai_run, 10, NULL,
|
||||
ai_run, -4, NULL,
|
||||
ai_run, -1, NULL,
|
||||
ai_run, 2, NULL
|
||||
{ai_run, 9, NULL},
|
||||
{ai_run, 2, NULL},
|
||||
{ai_run, 3, NULL},
|
||||
{ai_run, 3, NULL},
|
||||
{ai_run, 1, NULL},
|
||||
{ai_run, 0, NULL},
|
||||
{ai_run, 0, NULL},
|
||||
{ai_run, 10, NULL},
|
||||
{ai_run, -4, NULL},
|
||||
{ai_run, -1, NULL},
|
||||
{ai_run, 2, NULL}
|
||||
};
|
||||
mmove_t brain_move_run = {FRAME_walk101, FRAME_walk111, brain_frames_run, NULL};
|
||||
|
||||
|
@ -571,7 +512,7 @@ void brain_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
|||
self->s.effects = 0;
|
||||
self->monsterinfo.power_armor_type = POWER_ARMOR_NONE;
|
||||
|
||||
// check for gib
|
||||
// check for gib
|
||||
if (self->health <= self->gib_health)
|
||||
{
|
||||
gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0);
|
||||
|
@ -587,7 +528,7 @@ void brain_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
|||
if (self->deadflag == DEAD_DEAD)
|
||||
return;
|
||||
|
||||
// regular death
|
||||
// regular death
|
||||
gi.sound (self, CHAN_VOICE, sound_death, 1, ATTN_NORM, 0);
|
||||
self->deadflag = DEAD_DEAD;
|
||||
self->takedamage = DAMAGE_YES;
|
||||
|
@ -597,9 +538,16 @@ void brain_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
|||
self->monsterinfo.currentmove = &brain_move_death2;
|
||||
}
|
||||
|
||||
|
||||
void SP_monster_brain_precache(void)
|
||||
/*QUAKED monster_brain (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
|
||||
*/
|
||||
void SP_monster_brain (edict_t *self)
|
||||
{
|
||||
if (deathmatch->value)
|
||||
{
|
||||
G_FreeEdict (self);
|
||||
return;
|
||||
}
|
||||
|
||||
sound_chest_open = gi.soundindex ("brain/brnatck1.wav");
|
||||
sound_tentacles_extend = gi.soundindex ("brain/brnatck2.wav");
|
||||
sound_tentacles_retract = gi.soundindex ("brain/brnatck3.wav");
|
||||
|
@ -614,20 +562,6 @@ void SP_monster_brain_precache(void)
|
|||
sound_melee1 = gi.soundindex ("brain/melee1.wav");
|
||||
sound_melee2 = gi.soundindex ("brain/melee2.wav");
|
||||
sound_melee3 = gi.soundindex ("brain/melee3.wav");
|
||||
}
|
||||
|
||||
|
||||
/*QUAKED monster_brain (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
|
||||
*/
|
||||
void SP_monster_brain (edict_t *self)
|
||||
{
|
||||
if (deathmatch->value)
|
||||
{
|
||||
G_FreeEdict (self);
|
||||
return;
|
||||
}
|
||||
|
||||
SP_monster_brain_precache();
|
||||
|
||||
self->movetype = MOVETYPE_STEP;
|
||||
self->solid = SOLID_BBOX;
|
||||
|
@ -646,7 +580,6 @@ void SP_monster_brain (edict_t *self)
|
|||
self->monsterinfo.walk = brain_walk;
|
||||
self->monsterinfo.run = brain_run;
|
||||
self->monsterinfo.dodge = brain_dodge;
|
||||
// self->monsterinfo.attack = brain_attack;
|
||||
self->monsterinfo.melee = brain_melee;
|
||||
self->monsterinfo.sight = brain_sight;
|
||||
self->monsterinfo.search = brain_search;
|
||||
|
@ -662,3 +595,4 @@ void SP_monster_brain (edict_t *self)
|
|||
|
||||
walkmonster_start (self);
|
||||
}
|
||||
|
||||
|
|
461
src/m_chick.c
461
src/m_chick.c
|
@ -29,6 +29,7 @@ static int sound_idle1;
|
|||
static int sound_idle2;
|
||||
static int sound_pain1;
|
||||
static int sound_pain2;
|
||||
static int sound_pain3;
|
||||
static int sound_sight;
|
||||
static int sound_search;
|
||||
|
||||
|
@ -43,36 +44,36 @@ void ChickMoan (edict_t *self)
|
|||
|
||||
mframe_t chick_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, ChickMoan,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL,
|
||||
ai_stand, 0, NULL
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, ChickMoan},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{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 chick_move_fidget = {FRAME_stand201, FRAME_stand230, chick_frames_fidget, chick_stand};
|
||||
|
||||
|
@ -86,36 +87,36 @@ void chick_fidget (edict_t *self)
|
|||
|
||||
mframe_t chick_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, chick_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, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, NULL},
|
||||
{ai_stand, 0, chick_fidget},
|
||||
|
||||
};
|
||||
mmove_t chick_move_stand = {FRAME_stand101, FRAME_stand130, chick_frames_stand, NULL};
|
||||
|
@ -127,31 +128,31 @@ void chick_stand (edict_t *self)
|
|||
|
||||
mframe_t chick_frames_start_run [] =
|
||||
{
|
||||
ai_run, 1, NULL,
|
||||
ai_run, 0, NULL,
|
||||
ai_run, 0, NULL,
|
||||
ai_run, -1, NULL,
|
||||
ai_run, -1, NULL,
|
||||
ai_run, 0, NULL,
|
||||
ai_run, 1, NULL,
|
||||
ai_run, 3, NULL,
|
||||
ai_run, 6, NULL,
|
||||
ai_run, 3, NULL
|
||||
{ai_run, 1, NULL},
|
||||
{ai_run, 0, NULL},
|
||||
{ai_run, 0, NULL},
|
||||
{ai_run, -1, NULL},
|
||||
{ai_run, -1, NULL},
|
||||
{ai_run, 0, NULL},
|
||||
{ai_run, 1, NULL},
|
||||
{ai_run, 3, NULL},
|
||||
{ai_run, 6, NULL},
|
||||
{ai_run, 3, NULL}
|
||||
};
|
||||
mmove_t chick_move_start_run = {FRAME_walk01, FRAME_walk10, chick_frames_start_run, chick_run};
|
||||
|
||||
mframe_t chick_frames_run [] =
|
||||
{
|
||||
ai_run, 6, NULL,
|
||||
ai_run, 8, NULL,
|
||||
ai_run, 13, NULL,
|
||||
ai_run, 5, NULL,
|
||||
ai_run, 7, NULL,
|
||||
ai_run, 4, NULL,
|
||||
ai_run, 11, NULL,
|
||||
ai_run, 5, NULL,
|
||||
ai_run, 9, NULL,
|
||||
ai_run, 7, NULL
|
||||
{ai_run, 6, NULL},
|
||||
{ai_run, 8, NULL},
|
||||
{ai_run, 13, NULL},
|
||||
{ai_run, 5, NULL},
|
||||
{ai_run, 7, NULL},
|
||||
{ai_run, 4, NULL},
|
||||
{ai_run, 11, NULL},
|
||||
{ai_run, 5, NULL},
|
||||
{ai_run, 9, NULL},
|
||||
{ai_run, 7, NULL}
|
||||
|
||||
};
|
||||
|
||||
|
@ -159,16 +160,16 @@ mmove_t chick_move_run = {FRAME_walk11, FRAME_walk20, chick_frames_run, NULL};
|
|||
|
||||
mframe_t chick_frames_walk [] =
|
||||
{
|
||||
ai_walk, 6, NULL,
|
||||
ai_walk, 8, NULL,
|
||||
ai_walk, 13, NULL,
|
||||
ai_walk, 5, NULL,
|
||||
ai_walk, 7, NULL,
|
||||
ai_walk, 4, NULL,
|
||||
ai_walk, 11, NULL,
|
||||
ai_walk, 5, NULL,
|
||||
ai_walk, 9, NULL,
|
||||
ai_walk, 7, NULL
|
||||
{ai_walk, 6, NULL},
|
||||
{ai_walk, 8, NULL},
|
||||
{ai_walk, 13, NULL},
|
||||
{ai_walk, 5, NULL},
|
||||
{ai_walk, 7, NULL},
|
||||
{ai_walk, 4, NULL},
|
||||
{ai_walk, 11, NULL},
|
||||
{ai_walk, 5, NULL},
|
||||
{ai_walk, 9, NULL},
|
||||
{ai_walk, 7, NULL}
|
||||
};
|
||||
|
||||
mmove_t chick_move_walk = {FRAME_walk11, FRAME_walk20, chick_frames_walk, NULL};
|
||||
|
@ -199,47 +200,47 @@ void chick_run (edict_t *self)
|
|||
|
||||
mframe_t chick_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 chick_move_pain1 = {FRAME_pain101, FRAME_pain105, chick_frames_pain1, chick_run};
|
||||
|
||||
mframe_t chick_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 chick_move_pain2 = {FRAME_pain201, FRAME_pain205, chick_frames_pain2, chick_run};
|
||||
|
||||
mframe_t chick_frames_pain3 [] =
|
||||
{
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -6, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 11, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 4, NULL,
|
||||
ai_move, 1, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -3, NULL,
|
||||
ai_move, -4, NULL,
|
||||
ai_move, 5, NULL,
|
||||
ai_move, 7, NULL,
|
||||
ai_move, -2, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, -5, NULL,
|
||||
ai_move, -2, NULL,
|
||||
ai_move, -8, NULL,
|
||||
ai_move, 2, NULL
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, -6, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, 11, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 4, NULL},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, -3, NULL},
|
||||
{ai_move, -4, NULL},
|
||||
{ai_move, 5, NULL},
|
||||
{ai_move, 7, NULL},
|
||||
{ai_move, -2, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, -5, NULL},
|
||||
{ai_move, -2, NULL},
|
||||
{ai_move, -8, NULL},
|
||||
{ai_move, 2, NULL}
|
||||
};
|
||||
mmove_t chick_move_pain3 = {FRAME_pain301, FRAME_pain321, chick_frames_pain3, chick_run};
|
||||
|
||||
|
@ -256,10 +257,12 @@ void chick_pain (edict_t *self, edict_t *other, float kick, int damage)
|
|||
self->pain_debounce_time = level.time + 3;
|
||||
|
||||
r = random();
|
||||
if (r < 0.5)
|
||||
if (r < 0.33)
|
||||
gi.sound (self, CHAN_VOICE, sound_pain1, 1, ATTN_NORM, 0);
|
||||
else
|
||||
else if (r < 0.66)
|
||||
gi.sound (self, CHAN_VOICE, sound_pain2, 1, ATTN_NORM, 0);
|
||||
else
|
||||
gi.sound (self, CHAN_VOICE, sound_pain3, 1, ATTN_NORM, 0);
|
||||
|
||||
if (skill->value == 3)
|
||||
return; // no pain anims in nightmare
|
||||
|
@ -284,46 +287,46 @@ void chick_dead (edict_t *self)
|
|||
|
||||
mframe_t chick_frames_death2 [] =
|
||||
{
|
||||
ai_move, -6, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -1, NULL,
|
||||
ai_move, -5, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -1, NULL,
|
||||
ai_move, -2, NULL,
|
||||
ai_move, 1, NULL,
|
||||
ai_move, 10, NULL,
|
||||
ai_move, 2, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 1, NULL,
|
||||
ai_move, 2, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 1, NULL,
|
||||
ai_move, -3, NULL,
|
||||
ai_move, -5, NULL,
|
||||
ai_move, 4, NULL,
|
||||
ai_move, 15, NULL,
|
||||
ai_move, 14, NULL,
|
||||
ai_move, 1, NULL
|
||||
{ai_move, -6, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, -1, NULL},
|
||||
{ai_move, -5, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, -1, NULL},
|
||||
{ai_move, -2, NULL},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, 10, NULL},
|
||||
{ai_move, 2, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, 2, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, -3, NULL},
|
||||
{ai_move, -5, NULL},
|
||||
{ai_move, 4, NULL},
|
||||
{ai_move, 15, NULL},
|
||||
{ai_move, 14, NULL},
|
||||
{ai_move, 1, NULL}
|
||||
};
|
||||
mmove_t chick_move_death2 = {FRAME_death201, FRAME_death223, chick_frames_death2, chick_dead};
|
||||
|
||||
mframe_t chick_frames_death1 [] =
|
||||
{
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, -7, NULL,
|
||||
ai_move, 4, NULL,
|
||||
ai_move, 11, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 0, NULL,
|
||||
ai_move, 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, 4, NULL},
|
||||
{ai_move, 11, NULL},
|
||||
{ai_move, 0, NULL},
|
||||
{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 chick_move_death1 = {FRAME_death101, FRAME_death112, chick_frames_death1, chick_dead};
|
||||
|
@ -332,7 +335,7 @@ void chick_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
|||
{
|
||||
int n;
|
||||
|
||||
// check for gib
|
||||
// check for gib
|
||||
if (self->health <= self->gib_health)
|
||||
{
|
||||
gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0);
|
||||
|
@ -348,7 +351,7 @@ void chick_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
|
|||
if (self->deadflag == DEAD_DEAD)
|
||||
return;
|
||||
|
||||
// regular death
|
||||
// regular death
|
||||
self->deadflag = DEAD_DEAD;
|
||||
self->takedamage = DAMAGE_YES;
|
||||
|
||||
|
@ -395,13 +398,13 @@ void chick_duck_up (edict_t *self)
|
|||
|
||||
mframe_t chick_frames_duck [] =
|
||||
{
|
||||
ai_move, 0, chick_duck_down,
|
||||
ai_move, 1, NULL,
|
||||
ai_move, 4, chick_duck_hold,
|
||||
ai_move, -4, NULL,
|
||||
ai_move, -5, chick_duck_up,
|
||||
ai_move, 3, NULL,
|
||||
ai_move, 1, NULL
|
||||
{ai_move, 0, chick_duck_down},
|
||||
{ai_move, 1, NULL},
|
||||
{ai_move, 4, chick_duck_hold},
|
||||
{ai_move, -4, NULL},
|
||||
{ai_move, -5, chick_duck_up},
|
||||
{ai_move, 3, NULL},
|
||||
{ai_move, 1, NULL}
|
||||
};
|
||||
mmove_t chick_move_duck = {FRAME_duck01, FRAME_duck07, chick_frames_duck, chick_run};
|
||||
|
||||
|
@ -457,50 +460,50 @@ void ChickReload (edict_t *self)
|
|||
|
||||
mframe_t chick_frames_start_attack1 [] =
|
||||
{
|
||||
ai_charge, 0, Chick_PreAttack1,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 4, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, -3, NULL,
|
||||
ai_charge, 3, NULL,
|
||||
ai_charge, 5, NULL,
|
||||
ai_charge, 7, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 0, chick_attack1
|
||||
{ai_charge, 0, Chick_PreAttack1},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 4, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, -3, NULL},
|
||||
{ai_charge, 3, NULL},
|
||||
{ai_charge, 5, NULL},
|
||||
{ai_charge, 7, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 0, chick_attack1}
|
||||
};
|
||||
mmove_t chick_move_start_attack1 = {FRAME_attak101, FRAME_attak113, chick_frames_start_attack1, NULL};
|
||||
|
||||
|
||||
mframe_t chick_frames_attack1 [] =
|
||||
{
|
||||
ai_charge, 19, ChickRocket,
|
||||
ai_charge, -6, NULL,
|
||||
ai_charge, -5, NULL,
|
||||
ai_charge, -2, NULL,
|
||||
ai_charge, -7, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 1, NULL,
|
||||
ai_charge, 10, ChickReload,
|
||||
ai_charge, 4, NULL,
|
||||
ai_charge, 5, NULL,
|
||||
ai_charge, 6, NULL,
|
||||
ai_charge, 6, NULL,
|
||||
ai_charge, 4, NULL,
|
||||
ai_charge, 3, chick_rerocket
|
||||
{ai_charge, 19, ChickRocket},
|
||||
{ai_charge, -6, NULL},
|
||||
{ai_charge, -5, NULL},
|
||||
{ai_charge, -2, NULL},
|
||||
{ai_charge, -7, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 1, NULL},
|
||||
{ai_charge, 10, ChickReload},
|
||||
{ai_charge, 4, NULL},
|
||||
{ai_charge, 5, NULL},
|
||||
{ai_charge, 6, NULL},
|
||||
{ai_charge, 6, NULL},
|
||||
{ai_charge, 4, NULL},
|
||||
{ai_charge, 3, chick_rerocket}
|
||||
|
||||
};
|
||||
mmove_t chick_move_attack1 = {FRAME_attak114, FRAME_attak127, chick_frames_attack1, NULL};
|
||||
|
||||
mframe_t chick_frames_end_attack1 [] =
|
||||
{
|
||||
ai_charge, -3, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, -6, NULL,
|
||||
ai_charge, -4, NULL,
|
||||
ai_charge, -2, NULL
|
||||
{ai_charge, -3, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, -6, NULL},
|
||||
{ai_charge, -4, NULL},
|
||||
{ai_charge, -2, NULL}
|
||||
};
|
||||
mmove_t chick_move_end_attack1 = {FRAME_attak128, FRAME_attak132, chick_frames_end_attack1, chick_run};
|
||||
|
||||
|
@ -526,24 +529,24 @@ void chick_attack1(edict_t *self)
|
|||
|
||||
mframe_t chick_frames_slash [] =
|
||||
{
|
||||
ai_charge, 1, NULL,
|
||||
ai_charge, 7, ChickSlash,
|
||||
ai_charge, -7, NULL,
|
||||
ai_charge, 1, NULL,
|
||||
ai_charge, -1, NULL,
|
||||
ai_charge, 1, NULL,
|
||||
ai_charge, 0, NULL,
|
||||
ai_charge, 1, NULL,
|
||||
ai_charge, -2, chick_reslash
|
||||
{ai_charge, 1, NULL},
|
||||
{ai_charge, 7, ChickSlash},
|
||||
{ai_charge, -7, NULL},
|
||||
{ai_charge, 1, NULL},
|
||||
{ai_charge, -1, NULL},
|
||||
{ai_charge, 1, NULL},
|
||||
{ai_charge, 0, NULL},
|
||||
{ai_charge, 1, NULL},
|
||||
{ai_charge, -2, chick_reslash}
|
||||
};
|
||||
mmove_t chick_move_slash = {FRAME_attak204, FRAME_attak212, chick_frames_slash, NULL};
|
||||
|
||||
mframe_t chick_frames_end_slash [] =
|
||||
{
|
||||
ai_charge, -6, NULL,
|
||||
ai_charge, -1, NULL,
|
||||
ai_charge, -6, NULL,
|
||||
ai_charge, 0, NULL
|
||||
{ai_charge, -6, NULL},
|
||||
{ai_charge, -1, NULL},
|
||||
{ai_charge, -6, NULL},
|
||||
{ai_charge, 0, NULL}
|
||||
};
|
||||
mmove_t chick_move_end_slash = {FRAME_attak213, FRAME_attak216, chick_frames_end_slash, chick_run};
|
||||
|
||||
|
@ -553,6 +556,7 @@ void chick_reslash(edict_t *self)
|
|||
if (self->enemy->health > 0)
|
||||
{
|
||||
if (range (self, self->enemy) == RANGE_MELEE)
|
||||
{
|
||||
if (random() <= 0.9)
|
||||
{
|
||||
self->monsterinfo.currentmove = &chick_move_slash;
|
||||
|
@ -563,6 +567,7 @@ void chick_reslash(edict_t *self)
|
|||
self->monsterinfo.currentmove = &chick_move_end_slash;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
self->monsterinfo.currentmove = &chick_move_end_slash;
|
||||
}
|
||||
|
@ -575,9 +580,9 @@ void chick_slash(edict_t *self)
|
|||
|
||||
mframe_t chick_frames_start_slash [] =
|
||||
{
|
||||
ai_charge, 1, NULL,
|
||||
ai_charge, 8, NULL,
|
||||
ai_charge, 3, NULL
|
||||
{ai_charge, 1, NULL},
|
||||
{ai_charge, 8, NULL},
|
||||
{ai_charge, 3, NULL}
|
||||
};
|
||||
mmove_t chick_move_start_slash = {FRAME_attak201, FRAME_attak203, chick_frames_start_slash, chick_slash};
|
||||
|
||||
|
@ -599,9 +604,16 @@ void chick_sight(edict_t *self, edict_t *other)
|
|||
gi.sound (self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
|
||||
}
|
||||
|
||||
|
||||
void SP_monster_chick_precache(void)
|
||||
/*QUAKED monster_chick (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
|
||||
*/
|
||||
void SP_monster_chick (edict_t *self)
|
||||
{
|
||||
if (deathmatch->value)
|
||||
{
|
||||
G_FreeEdict (self);
|
||||
return;
|
||||
}
|
||||
|
||||
sound_missile_prelaunch = gi.soundindex ("chick/chkatck1.wav");
|
||||
sound_missile_launch = gi.soundindex ("chick/chkatck2.wav");
|
||||
sound_melee_swing = gi.soundindex ("chick/chkatck3.wav");
|
||||
|
@ -614,21 +626,9 @@ void SP_monster_chick_precache(void)
|
|||
sound_idle2 = gi.soundindex ("chick/chkidle2.wav");
|
||||
sound_pain1 = gi.soundindex ("chick/chkpain1.wav");
|
||||
sound_pain2 = gi.soundindex ("chick/chkpain2.wav");
|
||||
sound_pain3 = gi.soundindex ("chick/chkpain3.wav");
|
||||
sound_sight = gi.soundindex ("chick/chksght1.wav");
|
||||
sound_search = gi.soundindex ("chick/chksrch1.wav");
|
||||
}
|
||||
|
||||
/*QUAKED monster_chick (1 .5 0) (-16 -16 -24) (16 16 32) Ambush Trigger_Spawn Sight
|
||||
*/
|
||||
void SP_monster_chick (edict_t *self)
|
||||
{
|
||||
if (deathmatch->value)
|
||||
{
|
||||
G_FreeEdict (self);
|
||||
return;
|
||||
}
|
||||
|
||||
SP_monster_chick_precache();
|
||||
|
||||
self->movetype = MOVETYPE_STEP;
|
||||
self->solid = SOLID_BBOX;
|
||||
|
@ -658,3 +658,4 @@ void SP_monster_chick (edict_t *self)
|
|||
|
||||
walkmonster_start (self);
|
||||
}
|
||||
|
||||
|
|
455
src/m_flash.c
455
src/m_flash.c
|
@ -1,3 +1,22 @@
|
|||
/*
|
||||
Copyright (C) 1997-2001 Id Software, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
*/
|
||||
// m_flash.c
|
||||
|
||||
#include "q_shared.h"
|
||||
|
@ -8,305 +27,463 @@
|
|||
vec3_t monster_flash_offset [] =
|
||||
{
|
||||
// flash 0 is not used
|
||||
0.0, 0.0, 0.0,
|
||||
{ 0.0, 0.0, 0.0 },
|
||||
|
||||
// MZ2_TANK_BLASTER_1 1
|
||||
20.7, -18.5, 28.7,
|
||||
{ 20.7, -18.5, 28.7 },
|
||||
// MZ2_TANK_BLASTER_2 2
|
||||
16.6, -21.5, 30.1,
|
||||
{ 16.6, -21.5, 30.1 },
|
||||
// MZ2_TANK_BLASTER_3 3
|
||||
11.8, -23.9, 32.1,
|
||||
{ 11.8, -23.9, 32.1 },
|
||||
// MZ2_TANK_MACHINEGUN_1 4
|
||||
22.9, -0.7, 25.3,
|
||||
{ 22.9, -0.7, 25.3 },
|
||||
// MZ2_TANK_MACHINEGUN_2 5
|
||||
22.2, 6.2, 22.3,
|
||||
{ 22.2, 6.2, 22.3 },
|
||||
// MZ2_TANK_MACHINEGUN_3 6
|
||||
19.4, 13.1, 18.6,
|
||||
{ 19.4, 13.1, 18.6 },
|
||||
// MZ2_TANK_MACHINEGUN_4 7
|
||||
19.4, 18.8, 18.6,
|
||||
{ 19.4, 18.8, 18.6 },
|
||||
// MZ2_TANK_MACHINEGUN_5 8
|
||||
17.9, 25.0, 18.6,
|
||||
{ 17.9, 25.0, 18.6 },
|
||||
// MZ2_TANK_MACHINEGUN_6 9
|
||||
14.1, 30.5, 20.6,
|
||||
{ 14.1, 30.5, 20.6 },
|
||||
// MZ2_TANK_MACHINEGUN_7 10
|
||||
9.3, 35.3, 22.1,
|
||||
{ 9.3, 35.3, 22.1 },
|
||||
// MZ2_TANK_MACHINEGUN_8 11
|
||||
4.7, 38.4, 22.1,
|
||||
{ 4.7, 38.4, 22.1 },
|
||||
// MZ2_TANK_MACHINEGUN_9 12
|
||||
-1.1, 40.4, 24.1,
|
||||
{ -1.1, 40.4, 24.1 },
|
||||
// MZ2_TANK_MACHINEGUN_10 13
|
||||
-6.5, 41.2, 24.1,
|
||||
{ -6.5, 41.2, 24.1 },
|
||||
// MZ2_TANK_MACHINEGUN_11 14
|
||||
3.2, 40.1, 24.7,
|
||||
{ 3.2, 40.1, 24.7 },
|
||||
// MZ2_TANK_MACHINEGUN_12 15
|
||||
11.7, 36.7, 26.0,
|
||||
{ 11.7, 36.7, 26.0 },
|
||||
// MZ2_TANK_MACHINEGUN_13 16
|
||||
18.9, 31.3, 26.0,
|
||||
{ 18.9, 31.3, 26.0 },
|
||||
// MZ2_TANK_MACHINEGUN_14 17
|
||||
24.4, 24.4, 26.4,
|
||||
{ 24.4, 24.4, 26.4 },
|
||||
// MZ2_TANK_MACHINEGUN_15 18
|
||||
27.1, 17.1, 27.2,
|
||||
{ 27.1, 17.1, 27.2 },
|
||||
// MZ2_TANK_MACHINEGUN_16 19
|
||||
28.5, 9.1, 28.0,
|
||||
{ 28.5, 9.1, 28.0 },
|
||||
// MZ2_TANK_MACHINEGUN_17 20
|
||||
27.1, 2.2, 28.0,
|
||||
{ 27.1, 2.2, 28.0 },
|
||||
// MZ2_TANK_MACHINEGUN_18 21
|
||||
24.9, -2.8, 28.0,
|
||||
{ 24.9, -2.8, 28.0 },
|
||||
// MZ2_TANK_MACHINEGUN_19 22
|
||||
21.6, -7.0, 26.4,
|
||||
{ 21.6, -7.0, 26.4 },
|
||||
// MZ2_TANK_ROCKET_1 23
|
||||
6.2, 29.1, 49.1,
|
||||
{ 6.2, 29.1, 49.1 },
|
||||
// MZ2_TANK_ROCKET_2 24
|
||||
6.9, 23.8, 49.1,
|
||||
{ 6.9, 23.8, 49.1 },
|
||||
// MZ2_TANK_ROCKET_3 25
|
||||
8.3, 17.8, 49.5,
|
||||
{ 8.3, 17.8, 49.5 },
|
||||
|
||||
// MZ2_INFANTRY_MACHINEGUN_1 26
|
||||
26.6, 7.1, 13.1,
|
||||
{ 26.6, 7.1, 13.1 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_2 27
|
||||
18.2, 7.5, 15.4,
|
||||
{ 18.2, 7.5, 15.4 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_3 28
|
||||
17.2, 10.3, 17.9,
|
||||
{ 17.2, 10.3, 17.9 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_4 29
|
||||
17.0, 12.8, 20.1,
|
||||
{ 17.0, 12.8, 20.1 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_5 30
|
||||
15.1, 14.1, 21.8,
|
||||
{ 15.1, 14.1, 21.8 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_6 31
|
||||
11.8, 17.2, 23.1,
|
||||
{ 11.8, 17.2, 23.1 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_7 32
|
||||
11.4, 20.2, 21.0,
|
||||
{ 11.4, 20.2, 21.0 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_8 33
|
||||
9.0, 23.0, 18.9,
|
||||
{ 9.0, 23.0, 18.9 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_9 34
|
||||
13.9, 18.6, 17.7,
|
||||
{ 13.9, 18.6, 17.7 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_10 35
|
||||
15.4, 15.6, 15.8,
|
||||
{ 15.4, 15.6, 15.8 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_11 36
|
||||
10.2, 15.2, 25.1,
|
||||
{ 10.2, 15.2, 25.1 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_12 37
|
||||
-1.9, 15.1, 28.2,
|
||||
{ -1.9, 15.1, 28.2 },
|
||||
// MZ2_INFANTRY_MACHINEGUN_13 38
|
||||
-12.4, 13.0, 20.2,
|
||||
{ -12.4, 13.0, 20.2 },
|
||||
|
||||
// MZ2_SOLDIER_BLASTER_1 39
|
||||
10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2,
|
||||
{ 10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2 },
|
||||
// MZ2_SOLDIER_BLASTER_2 40
|
||||
21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2,
|
||||
{ 21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_1 41
|
||||
10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2,
|
||||
{ 10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_2 42
|
||||
21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2,
|
||||
{ 21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_1 43
|
||||
10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2,
|
||||
{ 10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_2 44
|
||||
21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2,
|
||||
{ 21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2 },
|
||||
|
||||
// MZ2_GUNNER_MACHINEGUN_1 45
|
||||
30.1 * 1.15, 3.9 * 1.15, 19.6 * 1.15,
|
||||
{ 30.1 * 1.15, 3.9 * 1.15, 19.6 * 1.15 },
|
||||
// MZ2_GUNNER_MACHINEGUN_2 46
|
||||
29.1 * 1.15, 2.5 * 1.15, 20.7 * 1.15,
|
||||
{ 29.1 * 1.15, 2.5 * 1.15, 20.7 * 1.15 },
|
||||
// MZ2_GUNNER_MACHINEGUN_3 47
|
||||
28.2 * 1.15, 2.5 * 1.15, 22.2 * 1.15,
|
||||
{ 28.2 * 1.15, 2.5 * 1.15, 22.2 * 1.15 },
|
||||
// MZ2_GUNNER_MACHINEGUN_4 48
|
||||
28.2 * 1.15, 3.6 * 1.15, 22.0 * 1.15,
|
||||
{ 28.2 * 1.15, 3.6 * 1.15, 22.0 * 1.15 },
|
||||
// MZ2_GUNNER_MACHINEGUN_5 49
|
||||
26.9 * 1.15, 2.0 * 1.15, 23.4 * 1.15,
|
||||
{ 26.9 * 1.15, 2.0 * 1.15, 23.4 * 1.15 },
|
||||
// MZ2_GUNNER_MACHINEGUN_6 50
|
||||
26.5 * 1.15, 0.6 * 1.15, 20.8 * 1.15,
|
||||
{ 26.5 * 1.15, 0.6 * 1.15, 20.8 * 1.15 },
|
||||
// MZ2_GUNNER_MACHINEGUN_7 51
|
||||
26.9 * 1.15, 0.5 * 1.15, 21.5 * 1.15,
|
||||
{ 26.9 * 1.15, 0.5 * 1.15, 21.5 * 1.15 },
|
||||
// MZ2_GUNNER_MACHINEGUN_8 52
|
||||
29.0 * 1.15, 2.4 * 1.15, 19.5 * 1.15,
|
||||
{ 29.0 * 1.15, 2.4 * 1.15, 19.5 * 1.15 },
|
||||
// MZ2_GUNNER_GRENADE_1 53
|
||||
4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
|
||||
{ 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
|
||||
// MZ2_GUNNER_GRENADE_2 54
|
||||
4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
|
||||
{ 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
|
||||
// MZ2_GUNNER_GRENADE_3 55
|
||||
4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
|
||||
{ 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
|
||||
// MZ2_GUNNER_GRENADE_4 56
|
||||
4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15,
|
||||
{ 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
|
||||
|
||||
// MZ2_CHICK_ROCKET_1 57
|
||||
-24.8, -9.0, 39.0,
|
||||
// { -24.8, -9.0, 39.0 },
|
||||
{ 24.8, -9.0, 39.0 }, // PGM - this was incorrect in Q2
|
||||
|
||||
// MZ2_FLYER_BLASTER_1 58
|
||||
12.1, 13.4, -14.5,
|
||||
{ 12.1, 13.4, -14.5 },
|
||||
// MZ2_FLYER_BLASTER_2 59
|
||||
12.1, -7.4, -14.5,
|
||||
{ 12.1, -7.4, -14.5 },
|
||||
|
||||
// MZ2_MEDIC_BLASTER_1 60
|
||||
12.1, 5.4, 16.5,
|
||||
{ 12.1, 5.4, 16.5 },
|
||||
|
||||
// MZ2_GLADIATOR_RAILGUN_1 61
|
||||
30.0, 18.0, 28.0,
|
||||
{ 30.0, 18.0, 28.0 },
|
||||
|
||||
// MZ2_HOVER_BLASTER_1 62
|
||||
32.5, -0.8, 10.0,
|
||||
{ 32.5, -0.8, 10.0 },
|
||||
|
||||
// MZ2_ACTOR_MACHINEGUN_1 63
|
||||
18.4, 7.4, 9.6,
|
||||
{ 18.4, 7.4, 9.6 },
|
||||
|
||||
// MZ2_SUPERTANK_MACHINEGUN_1 64
|
||||
30.0, 30.0, 88.5,
|
||||
{ 30.0, 30.0, 88.5 },
|
||||
// MZ2_SUPERTANK_MACHINEGUN_2 65
|
||||
30.0, 30.0, 88.5,
|
||||
{ 30.0, 30.0, 88.5 },
|
||||
// MZ2_SUPERTANK_MACHINEGUN_3 66
|
||||
30.0, 30.0, 88.5,
|
||||
{ 30.0, 30.0, 88.5 },
|
||||
// MZ2_SUPERTANK_MACHINEGUN_4 67
|
||||
30.0, 30.0, 88.5,
|
||||
{ 30.0, 30.0, 88.5 },
|
||||
// MZ2_SUPERTANK_MACHINEGUN_5 68
|
||||
30.0, 30.0, 88.5,
|
||||
{ 30.0, 30.0, 88.5 },
|
||||
// MZ2_SUPERTANK_MACHINEGUN_6 69
|
||||
30.0, 30.0, 88.5,
|
||||
{ 30.0, 30.0, 88.5 },
|
||||
// MZ2_SUPERTANK_ROCKET_1 70
|
||||
16.0, -22.5, 91.2,
|
||||
{ 16.0, -22.5, 91.2 },
|
||||
// MZ2_SUPERTANK_ROCKET_2 71
|
||||
16.0, -33.4, 86.7,
|
||||
{ 16.0, -33.4, 86.7 },
|
||||
// MZ2_SUPERTANK_ROCKET_3 72
|
||||
16.0, -42.8, 83.3,
|
||||
{ 16.0, -42.8, 83.3 },
|
||||
|
||||
// --- Start Xian Stuff ---
|
||||
// MZ2_BOSS2_MACHINEGUN_L1 73
|
||||
-32, -40, 70,
|
||||
{ 32, -40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_L2 74
|
||||
-32, -40, 70,
|
||||
{ 32, -40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_L3 75
|
||||
-32, -40, 70,
|
||||
{ 32, -40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_L4 76
|
||||
-32, -40, 70,
|
||||
{ 32, -40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_L5 77
|
||||
-32, -40, 70,
|
||||
{ 32, -40, 70 },
|
||||
// --- End Xian Stuff
|
||||
|
||||
// MZ2_BOSS2_ROCKET_1 78
|
||||
22.0, 16.0, 10.0,
|
||||
{ 22.0, 16.0, 10.0 },
|
||||
// MZ2_BOSS2_ROCKET_2 79
|
||||
22.0, 8.0, 10.0,
|
||||
{ 22.0, 8.0, 10.0 },
|
||||
// MZ2_BOSS2_ROCKET_3 80
|
||||
22.0, -8.0, 10.0,
|
||||
{ 22.0, -8.0, 10.0 },
|
||||
// MZ2_BOSS2_ROCKET_4 81
|
||||
22.0, -16.0, 10.0,
|
||||
{ 22.0, -16.0, 10.0 },
|
||||
|
||||
// MZ2_FLOAT_BLASTER_1 82
|
||||
32.5, -0.8, 10,
|
||||
{ 32.5, -0.8, 10 },
|
||||
|
||||
// MZ2_SOLDIER_BLASTER_3 83
|
||||
20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2,
|
||||
{ 20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_3 84
|
||||
20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2,
|
||||
{ 20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_3 85
|
||||
20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2,
|
||||
{ 20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2 },
|
||||
// MZ2_SOLDIER_BLASTER_4 86
|
||||
7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2,
|
||||
{ 7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_4 87
|
||||
7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2,
|
||||
{ 7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_4 88
|
||||
7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2,
|
||||
{ 7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2 },
|
||||
// MZ2_SOLDIER_BLASTER_5 89
|
||||
30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2,
|
||||
{ 30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_5 90
|
||||
30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2,
|
||||
{ 30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_5 91
|
||||
30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2,
|
||||
{ 30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2 },
|
||||
// MZ2_SOLDIER_BLASTER_6 92
|
||||
27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2,
|
||||
{ 27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_6 93
|
||||
27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2,
|
||||
{ 27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_6 94
|
||||
27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2,
|
||||
{ 27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2 },
|
||||
// MZ2_SOLDIER_BLASTER_7 95
|
||||
28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2,
|
||||
{ 28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_7 96
|
||||
28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2,
|
||||
{ 28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_7 97
|
||||
28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2,
|
||||
{ 28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2 },
|
||||
// MZ2_SOLDIER_BLASTER_8 98
|
||||
34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2,
|
||||
// { 34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2 },
|
||||
{ 31.5 * 1.2, 9.6 * 1.2, 10.1 * 1.2 },
|
||||
// MZ2_SOLDIER_SHOTGUN_8 99
|
||||
34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2,
|
||||
{ 34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2 },
|
||||
// MZ2_SOLDIER_MACHINEGUN_8 100
|
||||
34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2,
|
||||
{ 34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2 },
|
||||
|
||||
// --- Xian shit below ---
|
||||
// MZ2_MAKRON_BFG 101
|
||||
17, -19.5, 62.9,
|
||||
{ 17, -19.5, 62.9 },
|
||||
// MZ2_MAKRON_BLASTER_1 102
|
||||
-3.6, -24.1, 59.5,
|
||||
{ -3.6, -24.1, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_2 103
|
||||
-1.6, -19.3, 59.5,
|
||||
{ -1.6, -19.3, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_3 104
|
||||
-0.1, -14.4, 59.5,
|
||||
{ -0.1, -14.4, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_4 105
|
||||
2.0, -7.6, 59.5,
|
||||
{ 2.0, -7.6, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_5 106
|
||||
3.4, 1.3, 59.5,
|
||||
{ 3.4, 1.3, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_6 107
|
||||
3.7, 11.1, 59.5,
|
||||
{ 3.7, 11.1, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_7 108
|
||||
-0.3, 22.3, 59.5,
|
||||
{ -0.3, 22.3, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_8 109
|
||||
-6, 33, 59.5,
|
||||
{ -6, 33, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_9 110
|
||||
-9.3, 36.4, 59.5,
|
||||
{ -9.3, 36.4, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_10 111
|
||||
-7, 35, 59.5,
|
||||
{ -7, 35, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_11 112
|
||||
-2.1, 29, 59.5,
|
||||
{ -2.1, 29, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_12 113
|
||||
3.9, 17.3, 59.5,
|
||||
{ 3.9, 17.3, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_13 114
|
||||
6.1, 5.8, 59.5,
|
||||
{ 6.1, 5.8, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_14 115
|
||||
5.9, -4.4, 59.5,
|
||||
{ 5.9, -4.4, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_15 116
|
||||
4.2, -14.1, 59.5,
|
||||
{ 4.2, -14.1, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_16 117
|
||||
2.4, -18.8, 59.5,
|
||||
{ 2.4, -18.8, 59.5 },
|
||||
// MZ2_MAKRON_BLASTER_17 118
|
||||
-1.8, -25.5, 59.5,
|
||||
{ -1.8, -25.5, 59.5 },
|
||||
// MZ2_MAKRON_RAILGUN_1 119
|
||||
-17.3, 7.8, 72.4,
|
||||
{ -17.3, 7.8, 72.4 },
|
||||
|
||||
// MZ2_JORG_MACHINEGUN_L1 120
|
||||
78.5, -47.1, 96,
|
||||
{ 78.5, -47.1, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_L2 121
|
||||
78.5, -47.1, 96,
|
||||
{ 78.5, -47.1, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_L3 122
|
||||
78.5, -47.1, 96,
|
||||
{ 78.5, -47.1, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_L4 123
|
||||
78.5, -47.1, 96,
|
||||
{ 78.5, -47.1, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_L5 124
|
||||
78.5, -47.1, 96,
|
||||
{ 78.5, -47.1, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_L6 125
|
||||
78.5, -47.1, 96,
|
||||
{ 78.5, -47.1, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_R1 126
|
||||
78.5, 46.7, 96,
|
||||
{ 78.5, 46.7, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_R2 127
|
||||
78.5, 46.7, 96,
|
||||
{ 78.5, 46.7, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_R3 128
|
||||
78.5, 46.7, 96,
|
||||
{ 78.5, 46.7, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_R4 129
|
||||
78.5, 46.7, 96,
|
||||
{ 78.5, 46.7, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_R5 130
|
||||
78.5, 46.7, 96,
|
||||
{ 78.5, 46.7, 96 },
|
||||
// MZ2_JORG_MACHINEGUN_R6 131
|
||||
78.5, 46.7, 96,
|
||||
{ 78.5, 46.7, 96 },
|
||||
// MZ2_JORG_BFG_1 132
|
||||
6.3, -9, 111.2,
|
||||
{ 6.3, -9, 111.2 },
|
||||
|
||||
// MZ2_BOSS2_MACHINEGUN_R1 73
|
||||
-32, 40, 70,
|
||||
{ 32, 40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_R2 74
|
||||
-32, 40, 70,
|
||||
{ 32, 40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_R3 75
|
||||
-32, 40, 70,
|
||||
{ 32, 40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_R4 76
|
||||
-32, 40, 70,
|
||||
{ 32, 40, 70 },
|
||||
// MZ2_BOSS2_MACHINEGUN_R5 77
|
||||
-32, 40, 70,
|
||||
{ 32, 40, 70 },
|
||||
|
||||
// --- End Xian Shit ---
|
||||
|
||||
// ROGUE
|
||||
// note that the above really ends at 137
|
||||
// carrier machineguns
|
||||
// MZ2_CARRIER_MACHINEGUN_L1
|
||||
{ 56, -32, 32 },
|
||||
// MZ2_CARRIER_MACHINEGUN_R1
|
||||
{ 56, 32, 32 },
|
||||
// MZ2_CARRIER_GRENADE
|
||||
{ 42, 24, 50 },
|
||||
// MZ2_TURRET_MACHINEGUN 141
|
||||
{ 16, 0, 0 },
|
||||
// MZ2_TURRET_ROCKET 142
|
||||
{ 16, 0, 0 },
|
||||
// MZ2_TURRET_BLASTER 143
|
||||
{ 16, 0, 0 },
|
||||
// MZ2_STALKER_BLASTER 144
|
||||
{ 24, 0, 6 },
|
||||
// MZ2_DAEDALUS_BLASTER 145
|
||||
{ 32.5, -0.8, 10.0 },
|
||||
// MZ2_MEDIC_BLASTER_2 146
|
||||
{ 12.1, 5.4, 16.5 },
|
||||
// MZ2_CARRIER_RAILGUN 147
|
||||
{ 32, 0, 6 },
|
||||
// MZ2_WIDOW_DISRUPTOR 148
|
||||
{ 57.72, 14.50, 88.81 },
|
||||
// MZ2_WIDOW_BLASTER 149
|
||||
{ 56, 32, 32 },
|
||||
// MZ2_WIDOW_RAIL 150
|
||||
{ 62, -20, 84 },
|
||||
// MZ2_WIDOW_PLASMABEAM 151 // PMM - not used!
|
||||
{ 32, 0, 6 },
|
||||
// MZ2_CARRIER_MACHINEGUN_L2 152
|
||||
{ 61, -32, 12 },
|
||||
// MZ2_CARRIER_MACHINEGUN_R2 153
|
||||
{ 61, 32, 12 },
|
||||
// MZ2_WIDOW_RAIL_LEFT 154
|
||||
{ 17, -62, 91 },
|
||||
// MZ2_WIDOW_RAIL_RIGHT 155
|
||||
{ 68, 12, 86 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP1 156 pmm - the sweeps need to be in sequential order
|
||||
{ 47.5, 56, 89 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP2 157
|
||||
{ 54, 52, 91 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP3 158
|
||||
{ 58, 40, 91 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP4 159
|
||||
{ 68, 30, 88 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP5 160
|
||||
{ 74, 20, 88 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP6 161
|
||||
{ 73, 11, 87 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP7 162
|
||||
{ 73, 3, 87 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP8 163
|
||||
{ 70, -12, 87 },
|
||||
// MZ2_WIDOW_BLASTER_SWEEP9 164
|
||||
{ 67, -20, 90 },
|
||||
// MZ2_WIDOW_BLASTER_100 165
|
||||
{ -20, 76, 90 },
|
||||
// MZ2_WIDOW_BLASTER_90 166
|
||||
{ -8, 74, 90 },
|
||||
// MZ2_WIDOW_BLASTER_80 167
|
||||
{ 0, 72, 90 },
|
||||
// MZ2_WIDOW_BLASTER_70 168 d06
|
||||
{ 10, 71, 89 },
|
||||
// MZ2_WIDOW_BLASTER_60 169 d07
|
||||
{ 23, 70, 87 },
|
||||
// MZ2_WIDOW_BLASTER_50 170 d08
|
||||
{ 32, 64, 85 },
|
||||
// MZ2_WIDOW_BLASTER_40 171
|
||||
{ 40, 58, 84 },
|
||||
// MZ2_WIDOW_BLASTER_30 172 d10
|
||||
{ 48, 50, 83 },
|
||||
// MZ2_WIDOW_BLASTER_20 173
|
||||
{ 54, 42, 82 },
|
||||
// MZ2_WIDOW_BLASTER_10 174 d12
|
||||
{ 56, 34, 82 },
|
||||
// MZ2_WIDOW_BLASTER_0 175
|
||||
{ 58, 26, 82 },
|
||||
// MZ2_WIDOW_BLASTER_10L 176 d14
|
||||
{ 60, 16, 82 },
|
||||
// MZ2_WIDOW_BLASTER_20L 177
|
||||
{ 59, 6, 81 },
|
||||
// MZ2_WIDOW_BLASTER_30L 178 d16
|
||||
{ 58, -2, 80 },
|
||||
// MZ2_WIDOW_BLASTER_40L 179
|
||||
{ 57, -10, 79 },
|
||||
// MZ2_WIDOW_BLASTER_50L 180 d18
|
||||
{ 54, -18, 78 },
|
||||
// MZ2_WIDOW_BLASTER_60L 181
|
||||
{ 42, -32, 80 },
|
||||
// MZ2_WIDOW_BLASTER_70L 182 d20
|
||||
{ 36, -40, 78 },
|
||||
// MZ2_WIDOW_RUN_1 183
|
||||
{ 68.4, 10.88, 82.08 },
|
||||
// MZ2_WIDOW_RUN_2 184
|
||||
{ 68.51, 8.64, 85.14 },
|
||||
// MZ2_WIDOW_RUN_3 185
|
||||
{ 68.66, 6.38, 88.78 },
|
||||
// MZ2_WIDOW_RUN_4 186
|
||||
{ 68.73, 5.1, 84.47 },
|
||||
// MZ2_WIDOW_RUN_5 187
|
||||
{ 68.82, 4.79, 80.52 },
|
||||
// MZ2_WIDOW_RUN_6 188
|
||||
{ 68.77, 6.11, 85.37 },
|
||||
// MZ2_WIDOW_RUN_7 189
|
||||
{ 68.67, 7.99, 90.24 },
|
||||
// MZ2_WIDOW_RUN_8 190
|
||||
{ 68.55, 9.54, 87.36 },
|
||||
// MZ2_CARRIER_ROCKET_1 191
|
||||
{ 0, 0, -5 },
|
||||
// MZ2_CARRIER_ROCKET_2 192
|
||||
{ 0, 0, -5 },
|
||||
// MZ2_CARRIER_ROCKET_3 193
|
||||
{ 0, 0, -5 },
|
||||
// MZ2_CARRIER_ROCKET_4 194
|
||||
{ 0, 0, -5 },
|
||||
// MZ2_WIDOW2_BEAMER_1 195
|
||||
// { 72.13, -17.63, 93.77 },
|
||||
{ 69.00, -17.63, 93.77 },
|
||||
// MZ2_WIDOW2_BEAMER_2 196
|
||||
// { 71.46, -17.08, 89.82 },
|
||||
{ 69.00, -17.08, 89.82 },
|
||||
// MZ2_WIDOW2_BEAMER_3 197
|
||||
// { 71.47, -18.40, 90.70 },
|
||||
{ 69.00, -18.40, 90.70 },
|
||||
// MZ2_WIDOW2_BEAMER_4 198
|
||||
// { 71.96, -18.34, 94.32 },
|
||||
{ 69.00, -18.34, 94.32 },
|
||||
// MZ2_WIDOW2_BEAMER_5 199
|
||||
// { 72.25, -18.30, 97.98 },
|
||||
{ 69.00, -18.30, 97.98 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_1 200
|
||||
{ 45.04, -59.02, 92.24 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_2 201
|
||||
{ 50.68, -54.70, 91.96 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_3 202
|
||||
{ 56.57, -47.72, 91.65 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_4 203
|
||||
{ 61.75, -38.75, 91.38 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_5 204
|
||||
{ 65.55, -28.76, 91.24 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_6 205
|
||||
{ 67.79, -18.90, 91.22 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_7 206
|
||||
{ 68.60, -9.52, 91.23 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_8 207
|
||||
{ 68.08, 0.18, 91.32 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_9 208
|
||||
{ 66.14, 9.79, 91.44 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_10 209
|
||||
{ 62.77, 18.91, 91.65 },
|
||||
// MZ2_WIDOW2_BEAM_SWEEP_11 210
|
||||
{ 58.29, 27.11, 92.00 },
|
||||
|
||||
// end of table
|
||||
0.0, 0.0, 0.0
|
||||
{ 0.0, 0.0, 0.0 }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue