diff --git a/src/monster/gekk/gekk.c b/src/monster/gekk/gekk.c index e009eae..0561c14 100644 --- a/src/monster/gekk/gekk.c +++ b/src/monster/gekk/gekk.c @@ -8,6 +8,8 @@ #include "../../header/local.h" #include "gekk.h" +#define SPAWNFLAG_CHANT 8 + static int sound_swing; static int sound_hit; static int sound_hit2; @@ -25,7 +27,6 @@ static int sound_chanthigh; mmove_t gekk_move_attack1; mmove_t gekk_move_attack2; -mmove_t gekk_move_chant; mmove_t gekk_move_swim_start; mmove_t gekk_move_swim_loop; mmove_t gekk_move_spit; @@ -224,7 +225,7 @@ gekk_search(edict_t *self) return; } - if (self->spawnflags & 8) + if (self->spawnflags & SPAWNFLAG_CHANT) { r = random(); @@ -297,7 +298,7 @@ ai_stand2(edict_t *self, float dist) return; } - if (self->spawnflags & 8) + if (self->spawnflags & SPAWNFLAG_CHANT) { ai_move(self, dist); @@ -315,6 +316,10 @@ ai_stand2(edict_t *self, float dist) } } } + else if (self->enemy) + { + ai_move(self, dist); + } else { ai_stand(self, dist); @@ -498,17 +503,6 @@ gekk_stand(edict_t *self) } } -void -gekk_chant(edict_t *self) -{ - if (!self) - { - return; - } - - self->monsterinfo.currentmove = &gekk_move_chant; -} - void gekk_idle_loop(edict_t *self) { @@ -575,51 +569,6 @@ mmove_t gekk_move_idle2 = { gekk_face }; -mframe_t gekk_frames_idle2[] = { - {ai_move, 0, gekk_search}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - {ai_move, 0, NULL}, - - {ai_move, 0, NULL}, - {ai_move, 0, gekk_idle_loop} -}; - -mmove_t gekk_move_chant = { - FRAME_idle_01, - FRAME_idle_32, - gekk_frames_idle2, - gekk_chant -}; - void gekk_idle(edict_t *self) { @@ -1415,9 +1364,9 @@ gekk_pain(edict_t *self, edict_t *other /* unused */, return; } - if (self->spawnflags & 8) + if (self->spawnflags & SPAWNFLAG_CHANT) { - self->spawnflags &= ~8; + self->spawnflags &= ~SPAWNFLAG_CHANT; return; } @@ -2018,11 +1967,6 @@ SP_monster_gekk(edict_t *self) self->monsterinfo.scale = MODEL_SCALE; walkmonster_start(self); - - if (self->spawnflags & 8) - { - self->monsterinfo.currentmove = &gekk_move_chant; - } } void diff --git a/src/savegame/tables/gamefunc_decs.h b/src/savegame/tables/gamefunc_decs.h index a425887..92d98b0 100644 --- a/src/savegame/tables/gamefunc_decs.h +++ b/src/savegame/tables/gamefunc_decs.h @@ -506,7 +506,6 @@ extern void gekk_run_start ( edict_t * self ) ; extern void gekk_walk ( edict_t * self ) ; extern void gekk_idle ( edict_t * self ) ; extern void gekk_idle_loop ( edict_t * self ) ; -extern void gekk_chant ( edict_t * self ) ; extern void gekk_stand ( edict_t * self ) ; extern void gekk_swim ( edict_t * self ) ; extern void gekk_swim_loop ( edict_t * self ) ; diff --git a/src/savegame/tables/gamefunc_list.h b/src/savegame/tables/gamefunc_list.h index c5ae693..2bab09d 100644 --- a/src/savegame/tables/gamefunc_list.h +++ b/src/savegame/tables/gamefunc_list.h @@ -506,7 +506,6 @@ {"gekk_walk", (byte *)gekk_walk}, {"gekk_idle", (byte *)gekk_idle}, {"gekk_idle_loop", (byte *)gekk_idle_loop}, -{"gekk_chant", (byte *)gekk_chant}, {"gekk_stand", (byte *)gekk_stand}, {"gekk_swim", (byte *)gekk_swim}, {"gekk_swim_loop", (byte *)gekk_swim_loop}, diff --git a/src/savegame/tables/gamemmove_decs.h b/src/savegame/tables/gamemmove_decs.h index f8cd79b..e51848c 100644 --- a/src/savegame/tables/gamemmove_decs.h +++ b/src/savegame/tables/gamemmove_decs.h @@ -214,7 +214,6 @@ extern mmove_t gekk_move_spit ; extern mmove_t gekk_move_run_start ; extern mmove_t gekk_move_run ; extern mmove_t gekk_move_walk ; -extern mmove_t gekk_move_chant ; extern mmove_t gekk_move_idle2 ; extern mmove_t gekk_move_idle ; extern mmove_t gekk_move_swim_start ; diff --git a/src/savegame/tables/gamemmove_list.h b/src/savegame/tables/gamemmove_list.h index 8d57da8..70624ee 100644 --- a/src/savegame/tables/gamemmove_list.h +++ b/src/savegame/tables/gamemmove_list.h @@ -214,7 +214,6 @@ {"gekk_move_run_start", &gekk_move_run_start}, {"gekk_move_run", &gekk_move_run}, {"gekk_move_walk", &gekk_move_walk}, -{"gekk_move_chant", &gekk_move_chant}, {"gekk_move_idle2", &gekk_move_idle2}, {"gekk_move_idle", &gekk_move_idle}, {"gekk_move_swim_start", &gekk_move_swim_start},