Fixed gekk getting stuck walking

This commit is contained in:
BjossiAlfreds 2019-09-21 12:04:52 +00:00
parent e69a347852
commit a2961fa1c0
5 changed files with 10 additions and 70 deletions

View file

@ -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

View file

@ -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 ) ;

View file

@ -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},

View file

@ -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 ;

View file

@ -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},