game: fix save of quake monsters

This commit is contained in:
Denis Pauk 2024-05-15 00:43:42 +03:00
parent 5709e2c746
commit e00ab4ffde
17 changed files with 598 additions and 280 deletions

View file

@ -322,7 +322,7 @@ The build dependencies can be installed with:
curl sdl2` curl sdl2`
* On Debian based distributions: `apt install build-essential * On Debian based distributions: `apt install build-essential
libgl1-mesa-dev libsdl2-dev libopenal-dev libcurl4-openssl-dev libgl1-mesa-dev libsdl2-dev libopenal-dev libcurl4-openssl-dev
libavformat-dev libvulkan-dev` libavformat-dev libswscale-dev libvulkan-dev`
* On FreeBSD: `pkg install gmake libGL sdl2 openal-soft curl` * On FreeBSD: `pkg install gmake libGL sdl2 openal-soft curl`
* On NetBSD: `pkgin install gmake SDL2 openal-soft curl` * On NetBSD: `pkgin install gmake SDL2 openal-soft curl`
* On OpenBSD: `pkg_add gmake sdl2 openal curl` * On OpenBSD: `pkg_add gmake sdl2 openal curl`

View file

@ -1747,7 +1747,7 @@ qboolean Pickup_Sphere(edict_t * ent, edict_t * other);
* implementation. (-Wmissing-prototypes ) * implementation. (-Wmissing-prototypes )
* *
*/ */
#if 0 #if 1
#include "../savegame/savegame.h" #include "../savegame/savegame.h"
#include "../savegame/tables/gamefunc_decs.h" #include "../savegame/tables/gamefunc_decs.h"
#endif #endif

View file

@ -49,7 +49,8 @@ mmove_t army_move_stand =
NULL NULL
}; };
void army_stand(edict_t *self) void
army_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &army_move_stand; self->monsterinfo.currentmove = &army_move_stand;
} }
@ -75,12 +76,14 @@ mmove_t army_move_run =
NULL NULL
}; };
void army_run(edict_t *self) void
army_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &army_move_run; self->monsterinfo.currentmove = &army_move_run;
} }
void FireArmy(edict_t *self) static void
army_fire(edict_t *self)
{ {
vec3_t start; vec3_t start;
vec3_t end; vec3_t end;
@ -104,7 +107,7 @@ static mframe_t army_frames_attack [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, FireArmy}, {ai_charge, 0, army_fire},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
@ -119,19 +122,22 @@ mmove_t army_move_attack =
army_run army_run
}; };
void army_attack(edict_t *self) void
army_attack(edict_t *self)
{ {
self->monsterinfo.currentmove = &army_move_attack; self->monsterinfo.currentmove = &army_move_attack;
} }
// Sight // Sight
void army_sight(edict_t *self, edict_t *other /* unused */) void
army_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
// Search // Search
void army_search(edict_t *self) void
army_search(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
@ -212,7 +218,8 @@ mmove_t army_move_pain3 =
army_run army_run
}; };
void army_pain(edict_t *self, edict_t *other /* unused */, void
army_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
float r; float r;
@ -244,7 +251,8 @@ void army_pain(edict_t *self, edict_t *other /* unused */,
} }
} }
void army_dead(edict_t *self) void
army_dead(edict_t *self)
{ {
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
VectorSet(self->maxs, 16, 16, -8); VectorSet(self->maxs, 16, 16, -8);
@ -303,7 +311,8 @@ mmove_t army_move_death2 =
army_dead army_dead
}; };
void army_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
army_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -346,7 +355,8 @@ void army_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage,
} }
} }
void SP_monster_army(edict_t *self) void
SP_monster_army(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/army/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/army/tris.md2");
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
@ -376,7 +386,7 @@ void SP_monster_army(edict_t *self)
self->pain = army_pain; self->pain = army_pain;
self->die = army_die; self->die = army_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -57,7 +57,8 @@ mmove_t demon_move_stand =
NULL NULL
}; };
void demon_stand(edict_t *self) void
demon_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &demon_move_stand; self->monsterinfo.currentmove = &demon_move_stand;
} }
@ -81,12 +82,14 @@ mmove_t demon_move_run =
NULL NULL
}; };
void demon_run(edict_t *self) void
demon_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &demon_move_run; self->monsterinfo.currentmove = &demon_move_run;
} }
qboolean CheckDemonJump(edict_t *self) static qboolean
check_demon_jump(edict_t *self)
{ {
vec3_t dir; vec3_t dir;
float distance; float distance;
@ -113,7 +116,8 @@ qboolean CheckDemonJump(edict_t *self)
return true; return true;
}; };
void DemonJumpTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) void
demon_jump_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{ {
if (self->health < 1) if (self->health < 1)
return; return;
@ -141,7 +145,8 @@ void DemonJumpTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *
} }
} }
void DemonJump(edict_t *self) static void
demon_jump(edict_t *self)
{ {
vec3_t forward; vec3_t forward;
@ -151,10 +156,11 @@ void DemonJump(edict_t *self)
self->velocity[2] = 250; self->velocity[2] = 250;
self->groundentity = NULL; self->groundentity = NULL;
self->touch = DemonJumpTouch; self->touch = demon_jump_touch;
} }
void demon_roar(edict_t *self) static void
demon_roar(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_jump, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_jump, 1, ATTN_NORM, 0);
} }
@ -165,7 +171,7 @@ static mframe_t demon_frames_jump [] =
{ai_charge, 0, demon_roar}, {ai_charge, 0, demon_roar},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, DemonJump}, {ai_charge, 0, demon_jump},
{ai_move, 0, NULL}, {ai_move, 0, NULL},
{ai_move, 0, NULL}, {ai_move, 0, NULL},
@ -185,13 +191,17 @@ mmove_t demon_move_jump =
demon_run demon_run
}; };
void demon_attack(edict_t *self) void
demon_attack(edict_t *self)
{ {
//if (CheckDemonJump(self)) if (check_demon_jump(self))
self->monsterinfo.currentmove = &demon_move_jump; {
self->monsterinfo.currentmove = &demon_move_jump;
}
} }
void DemonMelee(edict_t *self) static void
demon_melee_step(edict_t *self)
{ {
vec3_t dir; vec3_t dir;
static vec3_t aim = {100, 0, -24}; static vec3_t aim = {100, 0, -24};
@ -217,14 +227,14 @@ static mframe_t demon_frames_melee [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 1, NULL}, {ai_charge, 1, NULL},
{ai_charge, 14, DemonMelee}, {ai_charge, 14, demon_melee_step},
{ai_charge, 1, NULL}, {ai_charge, 1, NULL},
{ai_charge, 6, NULL}, {ai_charge, 6, NULL},
{ai_charge, 8, NULL}, {ai_charge, 8, NULL},
{ai_charge, 4, NULL}, {ai_charge, 4, NULL},
{ai_charge, 2, NULL}, {ai_charge, 2, NULL},
{ai_charge, 12, DemonMelee}, {ai_charge, 12, demon_melee_step},
{ai_charge, 5, NULL}, {ai_charge, 5, NULL},
{ai_charge, 8, NULL}, {ai_charge, 8, NULL},
@ -239,7 +249,8 @@ mmove_t demon_move_melee =
demon_run demon_run
}; };
void demon_melee(edict_t *self) void
demon_melee(edict_t *self)
{ {
self->monsterinfo.currentmove = &demon_move_melee; self->monsterinfo.currentmove = &demon_move_melee;
} }
@ -263,12 +274,13 @@ mmove_t demon_move_pain =
demon_run demon_run
}; };
void demon_pain(edict_t *self, edict_t *other, float kick, int damage) void
demon_pain(edict_t *self, edict_t *other, float kick, int damage)
{ {
// decino: No pain animations in Nightmare mode // decino: No pain animations in Nightmare mode
if (skill->value == SKILL_HARDPLUS) if (skill->value == SKILL_HARDPLUS)
return; return;
if (self->touch == DemonJumpTouch) if (self->touch == demon_jump_touch)
return; return;
if (self->pain_debounce_time > level.time) if (self->pain_debounce_time > level.time)
return; return;
@ -280,7 +292,8 @@ void demon_pain(edict_t *self, edict_t *other, float kick, int damage)
self->monsterinfo.currentmove = &demon_move_pain; self->monsterinfo.currentmove = &demon_move_pain;
} }
void demon_dead(edict_t *self) void
demon_dead(edict_t *self)
{ {
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
VectorSet(self->maxs, 32, 32, -8); VectorSet(self->maxs, 32, 32, -8);
@ -313,7 +326,8 @@ mmove_t demon_move_die =
demon_dead demon_dead
}; };
void demon_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
demon_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -340,18 +354,21 @@ void demon_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage,
} }
// Sight // Sight
void demon_sight(edict_t *self, edict_t *other /* unused */) void
demon_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound (self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound (self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
// Search // Search
void demon_search(edict_t *self) void
demon_search(edict_t *self)
{ {
gi.sound (self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound (self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
void SP_monster_demon(edict_t *self) void
SP_monster_demon(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/demon/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/demon/tris.md2");
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
@ -383,7 +400,7 @@ void SP_monster_demon(edict_t *self)
self->pain = demon_pain; self->pain = demon_pain;
self->die = demon_die; self->die = demon_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -52,7 +52,8 @@ mmove_t dog_move_stand =
NULL NULL
}; };
void dog_stand(edict_t *self) void
dog_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &dog_move_stand; self->monsterinfo.currentmove = &dog_move_stand;
} }
@ -83,12 +84,14 @@ mmove_t dog_move_run =
NULL NULL
}; };
void dog_run(edict_t *self) void
dog_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &dog_move_run; self->monsterinfo.currentmove = &dog_move_run;
} }
void DogLeapTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) void
dog_leap_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{ {
if (self->health < 1) if (self->health < 1)
return; return;
@ -114,7 +117,8 @@ void DogLeapTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *su
} }
} }
void DogLeap(edict_t *self) static void
dog_leap_step(edict_t *self)
{ {
vec3_t forward; vec3_t forward;
@ -124,14 +128,14 @@ void DogLeap(edict_t *self)
self->velocity[2] = 200; self->velocity[2] = 200;
self->groundentity = NULL; self->groundentity = NULL;
self->touch = DogLeapTouch; self->touch = dog_leap_touch;
} }
// Leap // Leap
static mframe_t dog_frames_leap [] = static mframe_t dog_frames_leap [] =
{ {
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, DogLeap}, {ai_charge, 0, dog_leap_step},
{ai_move, 0, NULL}, {ai_move, 0, NULL},
{ai_move, 0, NULL}, {ai_move, 0, NULL},
@ -150,12 +154,14 @@ mmove_t dog_move_leap =
dog_run dog_run
}; };
void dog_leap(edict_t *self) void
dog_leap(edict_t *self)
{ {
self->monsterinfo.currentmove = &dog_move_leap; self->monsterinfo.currentmove = &dog_move_leap;
} }
void DogBite(edict_t *self) static void
dogbite_step(edict_t *self)
{ {
vec3_t dir; vec3_t dir;
static vec3_t aim = {100, 0, -24}; static vec3_t aim = {100, 0, -24};
@ -180,7 +186,7 @@ static mframe_t dog_frames_melee [] =
{ai_charge, 10, NULL}, {ai_charge, 10, NULL},
{ai_charge, 10, NULL}, {ai_charge, 10, NULL},
{ai_charge, 10, NULL}, {ai_charge, 10, NULL},
{ai_charge, 10, DogBite}, {ai_charge, 10, dogbite_step},
{ai_charge, 10, NULL}, {ai_charge, 10, NULL},
{ai_charge, 10, NULL}, {ai_charge, 10, NULL},
@ -195,19 +201,22 @@ mmove_t dog_move_melee =
dog_run dog_run
}; };
void dog_melee(edict_t *self) void
dog_melee(edict_t *self)
{ {
self->monsterinfo.currentmove = &dog_move_melee; self->monsterinfo.currentmove = &dog_move_melee;
} }
// Sight // Sight
void dog_sight(edict_t *self, edict_t *other /* unused */) void
dog_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
// Search // Search
void dog_search(edict_t *self) void
dog_search(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
@ -262,7 +271,8 @@ mmove_t dog_move_pain2 =
dog_run dog_run
}; };
void dog_pain(edict_t *self, edict_t *other /* unused */, void
dog_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
// decino: No pain animations in Nightmare mode // decino: No pain animations in Nightmare mode
@ -275,7 +285,8 @@ void dog_pain(edict_t *self, edict_t *other /* unused */,
gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0);
} }
void dog_dead(edict_t *self) void
dog_dead(edict_t *self)
{ {
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
VectorSet(self->maxs, 32, 32, -8); VectorSet(self->maxs, 32, 32, -8);
@ -331,7 +342,8 @@ mmove_t dog_move_die2 =
dog_dead dog_dead
}; };
void dog_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
dog_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -360,7 +372,8 @@ void dog_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, v
self->monsterinfo.currentmove = &dog_move_die2; self->monsterinfo.currentmove = &dog_move_die2;
} }
void SP_monster_dog(edict_t *self) void
SP_monster_dog(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/dog/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/dog/tris.md2");
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
@ -382,7 +395,7 @@ void SP_monster_dog(edict_t *self)
self->monsterinfo.stand = dog_stand; self->monsterinfo.stand = dog_stand;
self->monsterinfo.walk = dog_run; self->monsterinfo.walk = dog_run;
self->monsterinfo.run = dog_run; self->monsterinfo.run = dog_run;
//self->monsterinfo.attack = dog_leap; self->monsterinfo.attack = dog_leap;
self->monsterinfo.melee = dog_melee; self->monsterinfo.melee = dog_melee;
self->monsterinfo.sight = dog_sight; self->monsterinfo.sight = dog_sight;
self->monsterinfo.search = dog_search; self->monsterinfo.search = dog_search;
@ -390,7 +403,7 @@ void SP_monster_dog(edict_t *self)
self->pain = dog_pain; self->pain = dog_pain;
self->die = dog_die; self->die = dog_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -199,7 +199,7 @@ fire_enfbolt(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed)
} }
static void static void
FireEnforcerBolt(edict_t *self) enforcer_fire_bolt(edict_t *self)
{ {
vec3_t forward, right; vec3_t forward, right;
vec3_t start; vec3_t start;
@ -222,7 +222,7 @@ FireEnforcerBolt(edict_t *self)
static mframe_t enforcer_frames_attack2 [] = static mframe_t enforcer_frames_attack2 [] =
{ {
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, FireEnforcerBolt}, {ai_charge, 0, enforcer_fire_bolt},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
@ -252,7 +252,7 @@ static mframe_t enforcer_frames_attack1 [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, FireEnforcerBolt}, {ai_charge, 0, enforcer_fire_bolt},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL} {ai_charge, 0, NULL}
}; };
@ -554,7 +554,7 @@ SP_monster_enforcer(edict_t *self)
self->pain = enforcer_pain; self->pain = enforcer_pain;
self->die = enforcer_die; self->die = enforcer_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -59,7 +59,8 @@ mmove_t fish_move_stand =
NULL NULL
}; };
void fish_stand(edict_t *self) void
fish_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &fish_move_stand; self->monsterinfo.currentmove = &fish_move_stand;
} }
@ -98,12 +99,14 @@ mmove_t fish_move_run =
NULL NULL
}; };
void fish_run(edict_t *self) void
fish_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &fish_move_run; self->monsterinfo.currentmove = &fish_move_run;
} }
void FishBite(edict_t *self) static void
fish_bite_step(edict_t *self)
{ {
vec3_t dir; vec3_t dir;
static vec3_t aim = {100, 0, 0}; static vec3_t aim = {100, 0, 0};
@ -127,7 +130,7 @@ static mframe_t fish_frames_melee [] =
{ {
{ai_run, 10, NULL}, {ai_run, 10, NULL},
{ai_run, 10, NULL}, {ai_run, 10, NULL},
{ai_run, 0, FishBite}, {ai_run, 0, fish_bite_step},
{ai_run, 10, NULL}, {ai_run, 10, NULL},
{ai_run, 10, NULL}, {ai_run, 10, NULL},
@ -135,14 +138,14 @@ static mframe_t fish_frames_melee [] =
{ai_run, 10, NULL}, {ai_run, 10, NULL},
{ai_run, 10, NULL}, {ai_run, 10, NULL},
{ai_run, 0, FishBite}, {ai_run, 0, fish_bite_step},
{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, 0, FishBite}, {ai_run, 0, fish_bite_step},
{ai_run, 10, NULL}, {ai_run, 10, NULL},
{ai_run, 10, NULL}, {ai_run, 10, NULL},
@ -156,18 +159,21 @@ mmove_t fish_move_melee =
fish_run fish_run
}; };
void fish_melee(edict_t *self) void
fish_melee(edict_t *self)
{ {
self->monsterinfo.currentmove = &fish_move_melee; self->monsterinfo.currentmove = &fish_move_melee;
} }
// Search // Search
void fish_search(edict_t *self) void
fish_search(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
void fish_dead(edict_t *self) void
fish_dead(edict_t *self)
{ {
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
VectorSet(self->maxs, 16, 16, -8); VectorSet(self->maxs, 16, 16, -8);
@ -215,7 +221,8 @@ mmove_t fish_move_death =
fish_dead fish_dead
}; };
void fish_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
fish_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -274,7 +281,8 @@ mmove_t fish_move_pain =
fish_run fish_run
}; };
void fish_pain(edict_t *self, edict_t *other /* unused */, void
fish_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
if (level.time < self->pain_debounce_time) if (level.time < self->pain_debounce_time)
@ -287,7 +295,8 @@ void fish_pain(edict_t *self, edict_t *other /* unused */,
self->monsterinfo.currentmove = &fish_move_pain; self->monsterinfo.currentmove = &fish_move_pain;
} }
void SP_monster_fish(edict_t *self) void
SP_monster_fish(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/fish/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/fish/tris.md2");
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
@ -313,7 +322,7 @@ void SP_monster_fish(edict_t *self)
self->pain = fish_pain; self->pain = fish_pain;
self->die = fish_die; self->die = fish_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
flymonster_start(self); flymonster_start(self);

View file

@ -30,7 +30,7 @@ static int sound_search;
static int sound_pain; static int sound_pain;
void hknight_run(edict_t *self); void hknight_run(edict_t *self);
void SwingSword(edict_t *self); void swing_sword_step(edict_t *self);
// Stand // Stand
static mframe_t hknight_frames_stand [] = static mframe_t hknight_frames_stand [] =
@ -55,7 +55,8 @@ mmove_t hknight_move_stand =
NULL NULL
}; };
void hknight_stand(edict_t *self) void
hknight_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &hknight_move_stand; self->monsterinfo.currentmove = &hknight_move_stand;
} }
@ -69,13 +70,13 @@ static mframe_t hknight_frames_charge [] =
{ai_charge, 16, NULL}, {ai_charge, 16, NULL},
{ai_charge, 14, NULL}, {ai_charge, 14, NULL},
{ai_charge, 20, SwingSword}, {ai_charge, 20, swing_sword_step},
{ai_charge, 21, SwingSword}, {ai_charge, 21, swing_sword_step},
{ai_charge, 13, SwingSword}, {ai_charge, 13, swing_sword_step},
{ai_charge, 20, SwingSword}, {ai_charge, 20, swing_sword_step},
{ai_charge, 20, SwingSword}, {ai_charge, 20, swing_sword_step},
{ai_charge, 18, SwingSword}, {ai_charge, 18, swing_sword_step},
{ai_charge, 16, NULL}, {ai_charge, 16, NULL},
{ai_charge, 20, NULL}, {ai_charge, 20, NULL},
@ -91,7 +92,8 @@ mmove_t hknight_move_charge =
hknight_run hknight_run
}; };
qboolean CheckForCharge(edict_t *self) static qboolean
check_for_charge(edict_t *self)
{ {
if (!self->enemy) if (!self->enemy)
return false; return false;
@ -125,12 +127,14 @@ mmove_t hknight_move_run =
NULL NULL
}; };
void hknight_run(edict_t *self) void
hknight_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &hknight_move_run; self->monsterinfo.currentmove = &hknight_move_run;
} }
void hknight_reset_magic(edict_t *self) static void
hknight_reset_magic(edict_t *self)
{ {
self->radius_dmg = -2; self->radius_dmg = -2;
@ -140,7 +144,8 @@ void hknight_reset_magic(edict_t *self)
} }
} }
void magic_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) void
magic_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{ {
if (other == self->owner) if (other == self->owner)
{ {
@ -169,7 +174,8 @@ void magic_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *sur
G_FreeEdict(self); G_FreeEdict(self);
} }
void fire_magic(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) static void
fire_magic(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed)
{ {
edict_t *magic; edict_t *magic;
trace_t tr; trace_t tr;
@ -212,7 +218,8 @@ void fire_magic(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed)
gi.sound(self, CHAN_WEAPON, sound_attack, 1, ATTN_NORM, 0); gi.sound(self, CHAN_WEAPON, sound_attack, 1, ATTN_NORM, 0);
} }
void FireMagic(edict_t *self) static void
fire_magic_step(edict_t *self)
{ {
vec3_t dir; vec3_t dir;
@ -233,13 +240,13 @@ static mframe_t hknight_frames_attack [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, hknight_reset_magic}, {ai_charge, 0, hknight_reset_magic},
{ai_charge, 0, FireMagic}, {ai_charge, 0, fire_magic_step},
{ai_charge, 0, FireMagic}, {ai_charge, 0, fire_magic_step},
{ai_charge, 0, FireMagic}, {ai_charge, 0, fire_magic_step},
{ai_charge, 0, FireMagic}, {ai_charge, 0, fire_magic_step},
{ai_charge, 0, FireMagic}, {ai_charge, 0, fire_magic_step},
{ai_charge, 0, FireMagic} {ai_charge, 0, fire_magic_step}
}; };
mmove_t hknight_move_attack = mmove_t hknight_move_attack =
{ {
@ -249,9 +256,10 @@ mmove_t hknight_move_attack =
hknight_run hknight_run
}; };
void hknight_attack(edict_t *self) void
hknight_attack(edict_t *self)
{ {
if (CheckForCharge(self)) if (check_for_charge(self))
self->monsterinfo.currentmove = &hknight_move_charge; self->monsterinfo.currentmove = &hknight_move_charge;
else if (self->monsterinfo.attack_finished < level.time) else if (self->monsterinfo.attack_finished < level.time)
self->monsterinfo.currentmove = &hknight_move_attack; self->monsterinfo.currentmove = &hknight_move_attack;
@ -267,12 +275,12 @@ static mframe_t hknight_frames_slice [] =
{ai_charge, 13, NULL}, {ai_charge, 13, NULL},
{ai_charge, 4, NULL}, {ai_charge, 4, NULL},
{ai_charge, 7, SwingSword}, {ai_charge, 7, swing_sword_step},
{ai_charge, 15, SwingSword}, {ai_charge, 15, swing_sword_step},
{ai_charge, 8, SwingSword}, {ai_charge, 8, swing_sword_step},
{ai_charge, 2, SwingSword}, {ai_charge, 2, swing_sword_step},
{ai_charge, 0, SwingSword}, {ai_charge, 0, swing_sword_step},
{ai_charge, 3, NULL} {ai_charge, 3, NULL}
}; };
mmove_t hknight_move_slice = mmove_t hknight_move_slice =
@ -291,12 +299,12 @@ static mframe_t hknight_frames_smash [] =
{ai_charge, 9, NULL}, {ai_charge, 9, NULL},
{ai_charge, 11, NULL}, {ai_charge, 11, NULL},
{ai_charge, 10, SwingSword}, {ai_charge, 10, swing_sword_step},
{ai_charge, 7, SwingSword}, {ai_charge, 7, swing_sword_step},
{ai_charge, 12, SwingSword}, {ai_charge, 12, swing_sword_step},
{ai_charge, 2, SwingSword}, {ai_charge, 2, swing_sword_step},
{ai_charge, 3, SwingSword}, {ai_charge, 3, swing_sword_step},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL} {ai_charge, 0, NULL}
}; };
@ -314,26 +322,26 @@ static mframe_t hknight_frames_watk [] =
{ai_charge, 2, NULL}, {ai_charge, 2, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, SwingSword}, {ai_charge, 0, swing_sword_step},
{ai_charge, 0, SwingSword}, {ai_charge, 0, swing_sword_step},
{ai_charge, 0, SwingSword}, {ai_charge, 0, swing_sword_step},
{ai_charge, 1, NULL}, {ai_charge, 1, NULL},
{ai_charge, 4, NULL}, {ai_charge, 4, NULL},
{ai_charge, 5, NULL}, {ai_charge, 5, NULL},
{ai_charge, 3, SwingSword}, {ai_charge, 3, swing_sword_step},
{ai_charge, 2, SwingSword}, {ai_charge, 2, swing_sword_step},
{ai_charge, 2, SwingSword}, {ai_charge, 2, swing_sword_step},
{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, 1, NULL}, {ai_charge, 1, NULL},
{ai_charge, 1, SwingSword}, {ai_charge, 1, swing_sword_step},
{ai_charge, 3, SwingSword}, {ai_charge, 3, swing_sword_step},
{ai_charge, 4, SwingSword}, {ai_charge, 4, swing_sword_step},
{ai_charge, 6, NULL}, {ai_charge, 6, NULL},
{ai_charge, 7, NULL}, {ai_charge, 7, NULL},
@ -349,7 +357,8 @@ mmove_t hknight_move_watk =
}; };
// Melee // Melee
void hknight_melee(edict_t *self) void
hknight_melee(edict_t *self)
{ {
self->dmg_radius++; self->dmg_radius++;
@ -383,7 +392,8 @@ mmove_t hknight_move_pain =
hknight_run hknight_run
}; };
void hknight_pain(edict_t *self, edict_t *other, float kick, int damage) void
hknight_pain(edict_t *self, edict_t *other, float kick, int damage)
{ {
// decino: No pain animations in Nightmare mode // decino: No pain animations in Nightmare mode
if (skill->value == SKILL_HARDPLUS) if (skill->value == SKILL_HARDPLUS)
@ -405,7 +415,8 @@ void hknight_pain(edict_t *self, edict_t *other, float kick, int damage)
gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0);
} }
void hknight_dead(edict_t *self) void
hknight_dead(edict_t *self)
{ {
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
VectorSet(self->maxs, 16, 16, -8); VectorSet(self->maxs, 16, 16, -8);
@ -464,7 +475,8 @@ mmove_t hknight_move_die2 =
hknight_dead hknight_dead
}; };
void hknight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
hknight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -494,18 +506,21 @@ void hknight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damag
} }
// Sight // Sight
void hknight_sight(edict_t *self, edict_t *other /* unused */) void
hknight_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
// Search // Search
void hknight_search(edict_t *self) void
hknight_search(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
void SP_monster_hknight(edict_t *self) void
SP_monster_hknight(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/hknight/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/hknight/tris.md2");
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
@ -537,7 +552,7 @@ void SP_monster_hknight(edict_t *self)
self->pain = hknight_pain; self->pain = hknight_pain;
self->die = hknight_die; self->die = hknight_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -53,7 +53,8 @@ mmove_t knight_move_stand =
NULL NULL
}; };
void knight_stand(edict_t *self) void
knight_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &knight_move_stand; self->monsterinfo.currentmove = &knight_move_stand;
} }
@ -79,12 +80,14 @@ mmove_t knight_move_run =
NULL NULL
}; };
void knight_run(edict_t *self) void
knight_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &knight_move_run; self->monsterinfo.currentmove = &knight_move_run;
} }
void knight_attack_swing(edict_t *self) static void
knight_attack_swing(edict_t *self)
{ {
if (random() > 0.5) if (random() > 0.5)
{ {
@ -96,7 +99,8 @@ void knight_attack_swing(edict_t *self)
} }
} }
void SwingSword(edict_t *self) void
swing_sword_step(edict_t *self)
{ {
vec3_t dir; vec3_t dir;
static vec3_t aim = {100, 0, -24}; static vec3_t aim = {100, 0, -24};
@ -127,12 +131,12 @@ static mframe_t knight_frames_attack [] =
{ai_charge, 13, NULL}, {ai_charge, 13, NULL},
{ai_charge, 7, NULL}, {ai_charge, 7, NULL},
{ai_charge, 16, SwingSword}, {ai_charge, 16, swing_sword_step},
{ai_charge, 20, SwingSword}, {ai_charge, 20, swing_sword_step},
{ai_charge, 14, SwingSword}, {ai_charge, 14, swing_sword_step},
{ai_charge, 6, SwingSword}, {ai_charge, 6, swing_sword_step},
{ai_charge, 14, SwingSword}, {ai_charge, 14, swing_sword_step},
{ai_charge, 10, NULL}, {ai_charge, 10, NULL},
{ai_charge, 7, NULL} {ai_charge, 7, NULL}
}; };
@ -144,7 +148,8 @@ mmove_t knight_move_attack =
knight_run knight_run
}; };
void knight_attack(edict_t *self) void
knight_attack(edict_t *self)
{ {
if (self->enemy && realrange(self, self->enemy) < (MELEE_DISTANCE * 4)) if (self->enemy && realrange(self, self->enemy) < (MELEE_DISTANCE * 4))
{ {
@ -156,7 +161,8 @@ void knight_attack(edict_t *self)
} }
} }
void knight_melee_swing(edict_t *self) static void
knight_melee_swing(edict_t *self)
{ {
gi.sound(self, CHAN_WEAPON, sound_melee1, 1, ATTN_NORM, 0); gi.sound(self, CHAN_WEAPON, sound_melee1, 1, ATTN_NORM, 0);
} }
@ -170,9 +176,9 @@ static mframe_t knight_frames_melee [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 4, SwingSword}, {ai_charge, 4, swing_sword_step},
{ai_charge, 4, SwingSword}, {ai_charge, 4, swing_sword_step},
{ai_charge, 1, SwingSword}, {ai_charge, 1, swing_sword_step},
{ai_charge, 3, NULL}, {ai_charge, 3, NULL},
{ai_charge, 1, NULL}, {ai_charge, 1, NULL},
@ -186,7 +192,8 @@ mmove_t knight_move_melee =
knight_run knight_run
}; };
void knight_melee(edict_t *self) void
knight_melee(edict_t *self)
{ {
self->monsterinfo.currentmove = &knight_move_melee; self->monsterinfo.currentmove = &knight_move_melee;
} }
@ -231,7 +238,8 @@ mmove_t knight_move_pain2 =
knight_run knight_run
}; };
void knight_pain(edict_t *self, edict_t *other /* unused */, void
knight_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
// decino: No pain animations in Nightmare mode // decino: No pain animations in Nightmare mode
@ -247,7 +255,8 @@ void knight_pain(edict_t *self, edict_t *other /* unused */,
gi.sound (self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); gi.sound (self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0);
} }
void knight_dead(edict_t *self) void
knight_dead(edict_t *self)
{ {
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
VectorSet(self->maxs, 16, 16, -8); VectorSet(self->maxs, 16, 16, -8);
@ -306,7 +315,8 @@ mmove_t knight_move_die2 =
knight_dead knight_dead
}; };
void knight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
knight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -336,18 +346,21 @@ void knight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
} }
// Search // Search
void knight_search(edict_t *self) void
knight_search(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
// Sight // Sight
void knight_sight(edict_t *self, edict_t *other /* unused */) void
knight_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
void SP_monster_knight(edict_t *self) void
SP_monster_knight(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/knight/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/knight/tris.md2");
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
@ -370,7 +383,7 @@ void SP_monster_knight(edict_t *self)
self->monsterinfo.stand = knight_stand; self->monsterinfo.stand = knight_stand;
self->monsterinfo.walk = knight_run; self->monsterinfo.walk = knight_run;
self->monsterinfo.run = knight_run; self->monsterinfo.run = knight_run;
//self->monsterinfo.attack = knight_attack; self->monsterinfo.attack = knight_attack;
self->monsterinfo.melee = knight_melee; self->monsterinfo.melee = knight_melee;
self->monsterinfo.sight = knight_sight; self->monsterinfo.sight = knight_sight;
self->monsterinfo.search = knight_search; self->monsterinfo.search = knight_search;
@ -378,7 +391,7 @@ void SP_monster_knight(edict_t *self)
self->pain = knight_pain; self->pain = knight_pain;
self->die = knight_die; self->die = knight_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -29,7 +29,8 @@ static int sound_search;
static int sound_idle; static int sound_idle;
static int sound_pain; static int sound_pain;
void ogre_idle(edict_t *self) static void
ogre_idle(edict_t *self)
{ {
if (random() < 0.2) if (random() < 0.2)
gi.sound(self, CHAN_VOICE, sound_idle, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_idle, 1, ATTN_NORM, 0);
@ -58,7 +59,8 @@ mmove_t ogre_move_stand =
NULL NULL
}; };
void ogre_stand(edict_t *self) void
ogre_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &ogre_move_stand; self->monsterinfo.currentmove = &ogre_move_stand;
} }
@ -84,12 +86,14 @@ mmove_t ogre_move_run =
NULL NULL
}; };
void ogre_run(edict_t *self) void
ogre_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &ogre_move_run; self->monsterinfo.currentmove = &ogre_move_run;
} }
void OgreChainsaw(edict_t *self) static void
OgreChainsaw(edict_t *self)
{ {
vec3_t dir; vec3_t dir;
static vec3_t aim = {100, 0, -24}; static vec3_t aim = {100, 0, -24};
@ -165,7 +169,8 @@ mmove_t ogre_move_swing =
}; };
// Melee // Melee
void ogre_melee(edict_t *self) void
ogre_melee(edict_t *self)
{ {
if (random() > 0.5) if (random() > 0.5)
self->monsterinfo.currentmove = &ogre_move_smash; self->monsterinfo.currentmove = &ogre_move_smash;
@ -174,7 +179,8 @@ void ogre_melee(edict_t *self)
gi.sound(self, CHAN_WEAPON, sound_melee, 1, ATTN_NORM, 0); gi.sound(self, CHAN_WEAPON, sound_melee, 1, ATTN_NORM, 0);
} }
void FireOgreGrenade(edict_t *self) static void
FireOgreGrenade(edict_t *self)
{ {
vec3_t start; vec3_t start;
vec3_t forward, right; vec3_t forward, right;
@ -207,7 +213,8 @@ mmove_t ogre_move_attack =
ogre_run ogre_run
}; };
void ogre_attack(edict_t *self) void
ogre_attack(edict_t *self)
{ {
self->monsterinfo.currentmove = &ogre_move_attack; self->monsterinfo.currentmove = &ogre_move_attack;
} }
@ -326,7 +333,8 @@ mmove_t ogre_move_pain5 =
}; };
// Pain // Pain
void ogre_pain(edict_t *self, edict_t *other /* unused */, void
ogre_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
float r; float r;
@ -366,7 +374,8 @@ void ogre_pain(edict_t *self, edict_t *other /* unused */,
} }
} }
void ogre_dead(edict_t *self) void
ogre_dead(edict_t *self)
{ {
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
VectorSet(self->maxs, 32, 32, -8); VectorSet(self->maxs, 32, 32, -8);
@ -430,7 +439,8 @@ mmove_t ogre_move_death2 =
}; };
// Death // Death
void ogre_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
ogre_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -460,18 +470,21 @@ void ogre_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage,
} }
// Sight // Sight
void ogre_sight(edict_t *self, edict_t *other /* unused */) void
ogre_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
// Search // Search
void ogre_search(edict_t *self) void
ogre_search(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
void SP_monster_ogre(edict_t *self) void
SP_monster_ogre(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/ogre/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/ogre/tris.md2");
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
@ -503,7 +516,7 @@ void SP_monster_ogre(edict_t *self)
self->pain = ogre_pain; self->pain = ogre_pain;
self->die = ogre_die; self->die = ogre_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -42,7 +42,8 @@ mmove_t shalrath_move_stand =
NULL NULL
}; };
void shalrath_stand(edict_t *self) void
shalrath_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &shalrath_move_stand; self->monsterinfo.currentmove = &shalrath_move_stand;
} }
@ -73,17 +74,20 @@ mmove_t shalrath_move_run =
NULL NULL
}; };
void shalrath_run(edict_t *self) void
shalrath_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &shalrath_move_run; self->monsterinfo.currentmove = &shalrath_move_run;
} }
void shalrath_roar(edict_t *self) static void
shalrath_roar(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_attack, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_attack, 1, ATTN_NORM, 0);
} }
void shalrath_pod_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) void
shalrath_pod_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{ {
if (other == self->owner) if (other == self->owner)
return; return;
@ -99,7 +103,8 @@ void shalrath_pod_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface
G_FreeEdict(self); G_FreeEdict(self);
} }
void shalrath_pod_home(edict_t *self) void
shalrath_pod_home(edict_t *self)
{ {
static qboolean think = false; static qboolean think = false;
vec3_t end; vec3_t end;
@ -142,7 +147,8 @@ void shalrath_pod_home(edict_t *self)
think = !think; think = !think;
} }
void fire_shalrath_pod(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) static void
fire_shalrath_pod(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed)
{ {
edict_t *pod; edict_t *pod;
@ -176,7 +182,8 @@ void fire_shalrath_pod(edict_t *self, vec3_t start, vec3_t dir, int damage, int
gi.sound(self, CHAN_WEAPON, sound_fire, 1, ATTN_NORM, 0); gi.sound(self, CHAN_WEAPON, sound_fire, 1, ATTN_NORM, 0);
} }
void FireShalrathPod(edict_t *self) static void
FireShalrathPod(edict_t *self)
{ {
vec3_t forward, right; vec3_t forward, right;
vec3_t start; vec3_t start;
@ -220,7 +227,8 @@ mmove_t shalrath_move_attack =
shalrath_run shalrath_run
}; };
void shalrath_attack(edict_t *self) void
shalrath_attack(edict_t *self)
{ {
self->monsterinfo.currentmove = &shalrath_move_attack; self->monsterinfo.currentmove = &shalrath_move_attack;
} }
@ -243,7 +251,8 @@ mmove_t shalrath_move_pain =
shalrath_run shalrath_run
}; };
void shalrath_pain(edict_t *self, edict_t *other /* unused */, void
shalrath_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
// decino: No pain animations in Nightmare mode // decino: No pain animations in Nightmare mode
@ -257,7 +266,8 @@ void shalrath_pain(edict_t *self, edict_t *other /* unused */,
gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0);
} }
void shalrath_dead(edict_t *self) void
shalrath_dead(edict_t *self)
{ {
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
VectorSet(self->maxs, 32, 32, -8); VectorSet(self->maxs, 32, 32, -8);
@ -287,7 +297,8 @@ mmove_t shalrath_move_death =
shalrath_dead shalrath_dead
}; };
void shalrath_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
shalrath_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -313,18 +324,21 @@ void shalrath_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int dama
} }
// Sight // Sight
void shalrath_sight(edict_t *self, edict_t *other /* unused */) void
shalrath_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
// Search // Search
void shalrath_search(edict_t *self) void
shalrath_search(edict_t *self)
{ {
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
} }
void SP_monster_shalrath(edict_t *self) void
SP_monster_shalrath(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/shalrath/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/shalrath/tris.md2");
VectorSet(self->mins, -32, -32, -24); VectorSet(self->mins, -32, -32, -24);
@ -354,7 +368,7 @@ void SP_monster_shalrath(edict_t *self)
self->pain = shalrath_pain; self->pain = shalrath_pain;
self->die = shalrath_die; self->die = shalrath_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -438,11 +438,11 @@ shambler_melee2(edict_t* self)
gi.sound(self, CHAN_WEAPON, sound_melee2, 1, ATTN_NORM, 0); gi.sound(self, CHAN_WEAPON, sound_melee2, 1, ATTN_NORM, 0);
} }
void sham_swingl9(edict_t* self); static void sham_swingl9_step(edict_t* self);
void sham_swingr9(edict_t* self); static void sham_swingr9_step(edict_t* self);
void static void
sham_smash10(edict_t* self) sham_smash10_step(edict_t* self)
{ {
if (!self->enemy) if (!self->enemy)
return; return;
@ -489,7 +489,7 @@ static mframe_t shambler_frames_smash[] = {
{ai_charge, 0}, {ai_charge, 0},
{ai_charge, 0}, {ai_charge, 0},
{ai_charge, 0}, {ai_charge, 0},
{ai_charge, 0, sham_smash10}, {ai_charge, 0, sham_smash10_step},
{ai_charge, 5}, {ai_charge, 5},
{ai_charge, 4}, {ai_charge, 4},
}; };
@ -511,7 +511,7 @@ static mframe_t shambler_frames_swingl[] = {
{ai_charge, 9}, {ai_charge, 9},
{ai_charge, 5, ShamClaw}, {ai_charge, 5, ShamClaw},
{ai_charge, 4}, {ai_charge, 4},
{ai_charge, 8, sham_swingl9}, {ai_charge, 8, sham_swingl9_step},
}; };
mmove_t shambler_attack_swingl = mmove_t shambler_attack_swingl =
@ -531,7 +531,7 @@ static mframe_t shambler_frames_swingr[] = {
{ai_charge, 6}, {ai_charge, 6},
{ai_charge, 6, ShamClaw}, {ai_charge, 6, ShamClaw},
{ai_charge, 3}, {ai_charge, 3},
{ai_charge, 8, sham_swingr9}, {ai_charge, 8, sham_swingr9_step},
}; };
mmove_t shambler_attack_swingr = mmove_t shambler_attack_swingr =
@ -542,8 +542,8 @@ mmove_t shambler_attack_swingr =
shambler_run shambler_run
}; };
void static void
sham_swingl9(edict_t* self) sham_swingl9_step(edict_t* self)
{ {
if (!self) if (!self)
{ {
@ -565,8 +565,8 @@ sham_swingl9(edict_t* self)
} }
} }
void static void
sham_swingr9(edict_t* self) sham_swingr9_step(edict_t* self)
{ {
if (!self) if (!self)
{ {
@ -627,7 +627,7 @@ shambler_dead(edict_t* self)
gi.linkentity(self); gi.linkentity(self);
} }
void static void
shambler_shrink(edict_t* self) shambler_shrink(edict_t* self)
{ {
self->maxs[2] = 0; self->maxs[2] = 0;

View file

@ -28,7 +28,8 @@ static int sound_sight;
void tarbaby_rejump(edict_t *self); void tarbaby_rejump(edict_t *self);
void tarbaby_unbounce(edict_t *self) static void
tarbaby_unbounce(edict_t *self)
{ {
self->movetype = MOVETYPE_STEP; self->movetype = MOVETYPE_STEP;
} }
@ -46,7 +47,8 @@ mmove_t tarbaby_move_stand =
NULL NULL
}; };
void tarbaby_stand(edict_t *self) void
tarbaby_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &tarbaby_move_stand; self->monsterinfo.currentmove = &tarbaby_move_stand;
} }
@ -94,18 +96,21 @@ mmove_t tarbaby_move_run =
NULL NULL
}; };
void tarbaby_run(edict_t *self) void
tarbaby_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &tarbaby_move_run; self->monsterinfo.currentmove = &tarbaby_move_run;
} }
// Sight // Sight
void tarbaby_sight(edict_t *self, edict_t *other /* unused */) void
tarbaby_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
void tarbaby_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) void
tarbaby_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{ {
if (other->takedamage) if (other->takedamage)
{ {
@ -132,7 +137,8 @@ void tarbaby_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *s
} }
} }
void TarBabyJump(edict_t *self) static void
tarbaby_jump_step(edict_t *self)
{ {
vec3_t forward; vec3_t forward;
@ -162,7 +168,8 @@ mmove_t tarbaby_move_fly =
tarbaby_rejump tarbaby_rejump
}; };
void tarbaby_fly(edict_t *self) void
tarbaby_fly(edict_t *self)
{ {
self->monsterinfo.currentmove = &tarbaby_move_fly; self->monsterinfo.currentmove = &tarbaby_move_fly;
} }
@ -175,7 +182,7 @@ static mframe_t tarbaby_frames_jump [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, TarBabyJump}, {ai_charge, 0, tarbaby_jump_step},
{ai_charge, 0, NULL} {ai_charge, 0, NULL}
}; };
mmove_t tarbaby_move_jump = mmove_t tarbaby_move_jump =
@ -186,19 +193,22 @@ mmove_t tarbaby_move_jump =
tarbaby_fly tarbaby_fly
}; };
void tarbaby_rejump(edict_t *self) void
tarbaby_rejump(edict_t *self)
{ {
self->monsterinfo.currentmove = &tarbaby_move_jump; self->monsterinfo.currentmove = &tarbaby_move_jump;
self->monsterinfo.nextframe = 54; self->monsterinfo.nextframe = 54;
} }
// Attack // Attack
void tarbaby_attack(edict_t *self) void
tarbaby_attack(edict_t *self)
{ {
self->monsterinfo.currentmove = &tarbaby_move_jump; self->monsterinfo.currentmove = &tarbaby_move_jump;
} }
void tarbaby_explode(edict_t *self) void
tarbaby_explode(edict_t *self)
{ {
T_RadiusDamage(self, self, 120, NULL, 160, 0); T_RadiusDamage(self, self, 120, NULL, 160, 0);
gi.sound(self, CHAN_VOICE, sound_death, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_death, 1, ATTN_NORM, 0);
@ -217,9 +227,9 @@ void tarbaby_explode(edict_t *self)
} }
// Death // Death
void tarbaby_die(edict_t *self, edict_t *inflictor /* unused */, void
edict_t *attacker /* unused */, int damage, tarbaby_die(edict_t *self, edict_t *inflictor /* unused */,
vec3_t point /* unused */) edict_t *attacker /* unused */, int damage, vec3_t point /* unused */)
{ {
if (self->deadflag == DEAD_DEAD) if (self->deadflag == DEAD_DEAD)
return; return;
@ -230,14 +240,15 @@ void tarbaby_die(edict_t *self, edict_t *inflictor /* unused */,
} }
// Pain // Pain
void tarbaby_pain(edict_t *self, edict_t *other /* unused */, void
tarbaby_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
} }
void
void SP_monster_tarbaby(edict_t *self) SP_monster_tarbaby(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/tarbaby/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/tarbaby/tris.md2");
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
@ -264,7 +275,7 @@ void SP_monster_tarbaby(edict_t *self)
self->die = tarbaby_die; self->die = tarbaby_die;
self->pain = tarbaby_pain; self->pain = tarbaby_pain;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -59,7 +59,8 @@ mmove_t wizard_move_stand =
NULL NULL
}; };
void wizard_stand(edict_t *self) void
wizard_stand(edict_t *self)
{ {
self->monsterinfo.currentmove = &wizard_move_stand; self->monsterinfo.currentmove = &wizard_move_stand;
} }
@ -94,12 +95,14 @@ mmove_t wizard_move_run =
NULL NULL
}; };
void wizard_run(edict_t *self) void
wizard_run(edict_t *self)
{ {
self->monsterinfo.currentmove = &wizard_move_run; self->monsterinfo.currentmove = &wizard_move_run;
} }
void wizard_frame(edict_t *self) static void
wizard_frame(edict_t *self)
{ {
static int frame = 0; static int frame = 0;
@ -130,12 +133,14 @@ mmove_t wizard_move_finish =
wizard_run wizard_run
}; };
void wizard_finish_attack(edict_t *self) void
wizard_finish_attack(edict_t *self)
{ {
self->monsterinfo.currentmove = &wizard_move_finish; self->monsterinfo.currentmove = &wizard_move_finish;
} }
void spit_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) void
spit_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{ {
if (other == self->owner) if (other == self->owner)
{ {
@ -164,7 +169,8 @@ void spit_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf
G_FreeEdict(self); G_FreeEdict(self);
} }
void fire_spit(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) static void
spit_fire(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed)
{ {
edict_t *spit; edict_t *spit;
trace_t tr; trace_t tr;
@ -206,7 +212,8 @@ void fire_spit(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed)
} }
} }
void WizardSpit(edict_t *self) static void
wizard_spit(edict_t *self)
{ {
vec3_t forward, right; vec3_t forward, right;
vec3_t start; vec3_t start;
@ -222,10 +229,11 @@ void WizardSpit(edict_t *self)
VectorSubtract(vec, start, dir); VectorSubtract(vec, start, dir);
VectorNormalize(dir); VectorNormalize(dir);
fire_spit(self, start, dir, 9, 600); spit_fire(self, start, dir, 9, 600);
} }
void wizard_prespit(edict_t *self) static void
wizard_prespit(edict_t *self)
{ {
gi.sound(self, CHAN_WEAPON, sound_attack, 1, ATTN_NORM, 0); gi.sound(self, CHAN_WEAPON, sound_attack, 1, ATTN_NORM, 0);
} }
@ -234,11 +242,11 @@ void wizard_prespit(edict_t *self)
static mframe_t wizard_frames_attack [] = static mframe_t wizard_frames_attack [] =
{ {
{ai_charge, 0, wizard_prespit}, {ai_charge, 0, wizard_prespit},
{ai_charge, 0, WizardSpit}, {ai_charge, 0, wizard_spit},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, WizardSpit}, {ai_charge, 0, wizard_spit},
{ai_charge, 0, NULL} {ai_charge, 0, NULL}
}; };
mmove_t wizard_move_attack = mmove_t wizard_move_attack =
@ -249,7 +257,8 @@ mmove_t wizard_move_attack =
wizard_finish_attack wizard_finish_attack
}; };
void wizard_attack(edict_t *self) void
wizard_attack(edict_t *self)
{ {
self->monsterinfo.currentmove = &wizard_move_attack; self->monsterinfo.currentmove = &wizard_move_attack;
} }
@ -270,7 +279,8 @@ mmove_t wizard_move_pain =
wizard_run wizard_run
}; };
void wizard_pain(edict_t *self, edict_t *other /* unused */, void
wizard_pain(edict_t *self, edict_t *other /* unused */,
float kick /* unused */, int damage) float kick /* unused */, int damage)
{ {
if (level.time < self->pain_debounce_time) if (level.time < self->pain_debounce_time)
@ -284,7 +294,8 @@ void wizard_pain(edict_t *self, edict_t *other /* unused */,
self->monsterinfo.currentmove = &wizard_move_pain; self->monsterinfo.currentmove = &wizard_move_pain;
} }
void wizard_fling(edict_t *self) static void
wizard_fling(edict_t *self)
{ {
self->velocity[0] = -200 + 400 * random(); self->velocity[0] = -200 + 400 * random();
self->velocity[1] = -200 + 400 * random(); self->velocity[1] = -200 + 400 * random();
@ -297,7 +308,8 @@ void wizard_fling(edict_t *self)
self->svflags |= SVF_DEADMONSTER; self->svflags |= SVF_DEADMONSTER;
} }
void wizard_dead(edict_t *self) void
wizard_dead(edict_t *self)
{ {
self->nextthink = 0; self->nextthink = 0;
gi.linkentity(self); gi.linkentity(self);
@ -324,7 +336,8 @@ mmove_t wizard_move_death =
wizard_dead wizard_dead
}; };
void wizard_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) void
wizard_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{ {
int n; int n;
@ -349,12 +362,14 @@ void wizard_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
self->monsterinfo.currentmove = &wizard_move_death; self->monsterinfo.currentmove = &wizard_move_death;
} }
void wizard_sight(edict_t *self, edict_t *other /* unused */) void
wizard_sight(edict_t *self, edict_t *other /* unused */)
{ {
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
} }
void wizard_search(edict_t *self) void
wizard_search(edict_t *self)
{ {
float r; float r;
r = random() * 5; r = random() * 5;
@ -365,7 +380,8 @@ void wizard_search(edict_t *self)
gi.sound(self, CHAN_VOICE, sound_idle2, 1, ATTN_NORM, 0); gi.sound(self, CHAN_VOICE, sound_idle2, 1, ATTN_NORM, 0);
} }
void SP_monster_wizard(edict_t *self) void
SP_monster_wizard(edict_t *self)
{ {
self->s.modelindex = gi.modelindex("models/monsters/wizard/tris.md2"); self->s.modelindex = gi.modelindex("models/monsters/wizard/tris.md2");
VectorSet(self->mins, -16, -16, -24); VectorSet(self->mins, -16, -16, -24);
@ -396,7 +412,7 @@ void SP_monster_wizard(edict_t *self)
self->pain = wizard_pain; self->pain = wizard_pain;
self->die = wizard_die; self->die = wizard_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
flymonster_start(self); flymonster_start(self);

View file

@ -228,7 +228,7 @@ fire_zombie_gib(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int spee
} }
static void static void
FireZombieGib(edict_t *self) zombie_fire_gib_step(edict_t *self)
{ {
vec3_t start; vec3_t start;
vec3_t forward, right; vec3_t forward, right;
@ -260,7 +260,7 @@ static mframe_t zombie_frames_attack1 [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, FireZombieGib} {ai_charge, 0, zombie_fire_gib_step}
}; };
mmove_t zombie_move_attack1 = mmove_t zombie_move_attack1 =
{ {
@ -289,7 +289,7 @@ static mframe_t zombie_frames_attack2 [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, FireZombieGib} {ai_charge, 0, zombie_fire_gib_step}
}; };
mmove_t zombie_move_attack2 = mmove_t zombie_move_attack2 =
{ {
@ -315,7 +315,7 @@ static mframe_t zombie_frames_attack3 [] =
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, NULL}, {ai_charge, 0, NULL},
{ai_charge, 0, FireZombieGib}, {ai_charge, 0, zombie_fire_gib_step},
}; };
mmove_t zombie_move_attack3 = mmove_t zombie_move_attack3 =
{ {
@ -755,7 +755,7 @@ SP_monster_zombie(edict_t *self)
self->pain = zombie_pain; self->pain = zombie_pain;
self->die = zombie_die; self->die = zombie_die;
self->monsterinfo.scale = 1.000000; self->monsterinfo.scale = MODEL_SCALE;
gi.linkentity(self); gi.linkentity(self);
walkmonster_start(self); walkmonster_start(self);

View file

@ -89,7 +89,7 @@ extern qboolean berserk_blocked ( edict_t * self , float dist ) ;
extern qboolean blocked_checkjump ( edict_t * self , float dist , float maxDown , float maxUp ) ; extern qboolean blocked_checkjump ( edict_t * self , float dist , float maxDown , float maxUp ) ;
extern qboolean blocked_checknewenemy ( edict_t * self ) ; extern qboolean blocked_checknewenemy ( edict_t * self ) ;
extern qboolean blocked_checkplat ( edict_t * self , float dist ) ; extern qboolean blocked_checkplat ( edict_t * self , float dist ) ;
extern qboolean canReach(edict_t *self, edict_t *other) ; extern qboolean canReach ( edict_t * self , edict_t * other ) ;
extern qboolean chick_blocked ( edict_t * self , float dist ) ; extern qboolean chick_blocked ( edict_t * self , float dist ) ;
extern qboolean face_wall ( edict_t * self ) ; extern qboolean face_wall ( edict_t * self ) ;
extern qboolean fire_hit ( edict_t * self , vec3_t aim , int damage , int kick ) ; extern qboolean fire_hit ( edict_t * self , vec3_t aim , int damage , int kick ) ;
@ -102,11 +102,11 @@ extern qboolean gladiator_blocked ( edict_t *self , float dist ) ;
extern qboolean gunner_blocked ( edict_t * self , float dist ) ; extern qboolean gunner_blocked ( edict_t * self , float dist ) ;
extern qboolean gunner_grenade_check ( edict_t * self ) ; extern qboolean gunner_grenade_check ( edict_t * self ) ;
extern qboolean has_valid_enemy ( edict_t * self ) ; extern qboolean has_valid_enemy ( edict_t * self ) ;
extern qboolean hover_blocked ( edict_t *self, float dist ) ; extern qboolean hover_blocked ( edict_t * self , float dist ) ;
extern qboolean inback ( edict_t * self , edict_t * other ) ; extern qboolean inback ( edict_t * self , edict_t * other ) ;
extern qboolean infantry_blocked ( edict_t * self , float dist ) ; extern qboolean infantry_blocked ( edict_t * self , float dist ) ;
extern qboolean infront ( edict_t * self , edict_t * other ) ; extern qboolean infront ( edict_t * self , edict_t * other ) ;
extern qboolean medic_blocked ( edict_t *self, float dist ) ; extern qboolean medic_blocked ( edict_t * self , float dist ) ;
extern qboolean medic_checkattack ( edict_t * self ) ; extern qboolean medic_checkattack ( edict_t * self ) ;
extern qboolean monster_jump_finished ( edict_t * self ) ; extern qboolean monster_jump_finished ( edict_t * self ) ;
extern qboolean monster_start ( edict_t * self ) ; extern qboolean monster_start ( edict_t * self ) ;
@ -120,7 +120,7 @@ extern qboolean parasite_checkattack ( edict_t * self ) ;
extern qboolean soldier_blocked ( edict_t * self , float dist ) ; extern qboolean soldier_blocked ( edict_t * self , float dist ) ;
extern qboolean stalker_blocked ( edict_t * self , float dist ) ; extern qboolean stalker_blocked ( edict_t * self , float dist ) ;
extern qboolean supertank_blocked ( edict_t * self , float dist ) ; extern qboolean supertank_blocked ( edict_t * self , float dist ) ;
extern qboolean tank_blocked( edict_t *self, float dist ); extern qboolean tank_blocked( edict_t * self , float dist );
extern qboolean turret_checkattack ( edict_t * self ) ; extern qboolean turret_checkattack ( edict_t * self ) ;
extern qboolean visible ( edict_t * self , edict_t * other ) ; extern qboolean visible ( edict_t * self , edict_t * other ) ;
extern qboolean widow_blocked ( edict_t * self , float dist ) ; extern qboolean widow_blocked ( edict_t * self , float dist ) ;
@ -148,7 +148,7 @@ extern void CarrierSaveLoc ( edict_t * self ) ;
extern void CarrierSpawn ( edict_t * self ) ; extern void CarrierSpawn ( edict_t * self ) ;
extern void Chaingun_Fire ( edict_t * ent ) ; extern void Chaingun_Fire ( edict_t * ent ) ;
extern void ChangeWeapon ( edict_t * ent ) ; extern void ChangeWeapon ( edict_t * ent ) ;
extern void ChasecamTrack(edict_t *ent); extern void ChasecamTrack ( edict_t * ent ) ;
extern void ChickMoan ( edict_t * self ) ; extern void ChickMoan ( edict_t * self ) ;
extern void ChickReload ( edict_t * self ) ; extern void ChickReload ( edict_t * self ) ;
extern void ChickRocket ( edict_t * self ) ; extern void ChickRocket ( edict_t * self ) ;
@ -253,7 +253,6 @@ extern void SV_Physics_Toss ( edict_t * ent ) ;
extern void SetRespawn ( edict_t * ent , float delay ) ; extern void SetRespawn ( edict_t * ent , float delay ) ;
extern void SetTriggeredSpawn ( edict_t * ent ) ; extern void SetTriggeredSpawn ( edict_t * ent ) ;
extern void SpawnItem ( edict_t * ent , gitem_t * item ) ; extern void SpawnItem ( edict_t * ent , gitem_t * item ) ;
extern void viewthing_think ( edict_t * ent ) ;
extern void Tag_DogTag ( edict_t * ent , edict_t * killer , char * * pic ) ; extern void Tag_DogTag ( edict_t * ent , edict_t * killer , char * * pic ) ;
extern void Tag_DropToken ( edict_t * ent , gitem_t * item ) ; extern void Tag_DropToken ( edict_t * ent , gitem_t * item ) ;
extern void Tag_KillItBonus ( edict_t * self ) ; extern void Tag_KillItBonus ( edict_t * self ) ;
@ -381,7 +380,7 @@ extern void WidowRail ( edict_t * self ) ;
extern void WidowRespondPowerup ( edict_t * self , edict_t * other ) ; extern void WidowRespondPowerup ( edict_t * self , edict_t * other ) ;
extern void WidowSaveLoc ( edict_t * self ) ; extern void WidowSaveLoc ( edict_t * self ) ;
extern void WidowSpawn ( edict_t * self ) ; extern void WidowSpawn ( edict_t * self ) ;
extern void abortHeal ( edict_t *self, qboolean change_frame, qboolean gib, qboolean mark ) ; extern void abortHeal ( edict_t * self , qboolean change_frame , qboolean gib , qboolean mark ) ;
extern void actorMachineGun ( edict_t * self ) ; extern void actorMachineGun ( edict_t * self ) ;
extern void actor_attack ( edict_t * self ) ; extern void actor_attack ( edict_t * self ) ;
extern void actor_dead ( edict_t * self ) ; extern void actor_dead ( edict_t * self ) ;
@ -409,16 +408,24 @@ extern void amb4_think ( edict_t * ent ) ;
extern void arachnid_attack ( edict_t * self ) ; extern void arachnid_attack ( edict_t * self ) ;
extern void arachnid_charge_rail ( edict_t * self ) ; extern void arachnid_charge_rail ( edict_t * self ) ;
extern void arachnid_dead ( edict_t * self ) ; extern void arachnid_dead ( edict_t * self ) ;
extern void arachnid_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /* unused */, int damage, vec3_t point /* unused */); extern void arachnid_die ( edict_t * self , edict_t *inflictor , edict_t *attacker , int damage, vec3_t point ) ;
extern void arachnid_footstep ( edict_t * self ) ; extern void arachnid_footstep ( edict_t * self ) ;
extern void arachnid_melee_charge ( edict_t * self ) ; extern void arachnid_melee_charge ( edict_t * self ) ;
extern void arachnid_melee_hit ( edict_t * self ) ; extern void arachnid_melee_hit ( edict_t * self ) ;
extern void arachnid_pain(edict_t *self, edict_t *other /* other */, float kick /* other */, int damage); extern void arachnid_pain ( edict_t * self , edict_t *other , float kick , int damage);
extern void arachnid_rail ( edict_t * self ) ; extern void arachnid_rail ( edict_t * self ) ;
extern void arachnid_run ( edict_t * self ) ; extern void arachnid_run ( edict_t * self ) ;
extern void arachnid_sight(edict_t *self, edict_t *other /* unused */); extern void arachnid_sight ( edict_t * self , edict_t *other );
extern void arachnid_stand ( edict_t * self ) ; extern void arachnid_stand ( edict_t * self ) ;
extern void arachnid_walk ( edict_t * self ) ; extern void arachnid_walk ( edict_t * self ) ;
extern void army_attack ( edict_t * self ) ;
extern void army_dead ( edict_t * self ) ;
extern void army_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ;
extern void army_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void army_run ( edict_t * self ) ;
extern void army_search ( edict_t * self ) ;
extern void army_sight ( edict_t * self , edict_t *other ) ;
extern void army_stand ( edict_t * self ) ;
extern void badarea_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void badarea_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void barrel_delay ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void barrel_delay ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void barrel_explode ( edict_t * self ) ; extern void barrel_explode ( edict_t * self ) ;
@ -430,7 +437,7 @@ extern void berserk_attack_spike ( edict_t * self ) ;
extern void berserk_dead ( edict_t * self ) ; extern void berserk_dead ( edict_t * self ) ;
extern void berserk_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void berserk_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void berserk_fidget ( edict_t * self ) ; extern void berserk_fidget ( edict_t * self ) ;
extern void berserk_footstep( edict_t *self ) ; extern void berserk_footstep ( edict_t *self ) ;
extern void berserk_melee ( edict_t * self ) ; extern void berserk_melee ( edict_t * self ) ;
extern void berserk_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void berserk_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void berserk_run ( edict_t * self ) ; extern void berserk_run ( edict_t * self ) ;
@ -486,7 +493,7 @@ extern void brain_duck ( edict_t * self , float eta ) ;
extern void brain_duck_down ( edict_t * self ) ; extern void brain_duck_down ( edict_t * self ) ;
extern void brain_duck_hold ( edict_t * self ) ; extern void brain_duck_hold ( edict_t * self ) ;
extern void brain_duck_up ( edict_t * self ) ; extern void brain_duck_up ( edict_t * self ) ;
extern void brain_footstep( edict_t *self ) ; extern void brain_footstep ( edict_t *self ) ;
extern void brain_hit_left ( edict_t * self ) ; extern void brain_hit_left ( edict_t * self ) ;
extern void brain_hit_right ( edict_t * self ) ; extern void brain_hit_right ( edict_t * self ) ;
extern void brain_idle ( edict_t * self ) ; extern void brain_idle ( edict_t * self ) ;
@ -541,7 +548,7 @@ extern void chick_duck_down ( edict_t * self ) ;
extern void chick_duck_hold ( edict_t * self ) ; extern void chick_duck_hold ( edict_t * self ) ;
extern void chick_duck_up ( edict_t * self ) ; extern void chick_duck_up ( edict_t * self ) ;
extern void chick_fidget ( edict_t * self ) ; extern void chick_fidget ( edict_t * self ) ;
extern void chick_footstep( edict_t *self ) ; extern void chick_footstep ( edict_t *self ) ;
extern void chick_melee ( edict_t * self ) ; extern void chick_melee ( edict_t * self ) ;
extern void chick_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void chick_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void chick_rerocket ( edict_t * self ) ; extern void chick_rerocket ( edict_t * self ) ;
@ -563,6 +570,26 @@ extern void debris_die ( edict_t * self , edict_t * inflictor , edict_t * attack
extern void defender_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void defender_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void defender_shoot ( edict_t * self , edict_t * enemy ) ; extern void defender_shoot ( edict_t * self , edict_t * enemy ) ;
extern void defender_think ( edict_t * self ) ; extern void defender_think ( edict_t * self ) ;
extern void demon_attack ( edict_t * self ) ;
extern void demon_dead ( edict_t * self ) ;
extern void demon_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point);
extern void demon_jump_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf);
extern void demon_melee ( edict_t * self ) ;
extern void demon_pain ( edict_t * self , edict_t * other , float kick, int damage);
extern void demon_run ( edict_t * self ) ;
extern void demon_search ( edict_t * self ) ;
extern void demon_sight ( edict_t * self , edict_t *other );
extern void demon_stand ( edict_t * self ) ;
extern void dog_dead ( edict_t * self ) ;
extern void dog_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point);
extern void dog_leap ( edict_t * self ) ;
extern void dog_leap_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf);
extern void dog_melee ( edict_t * self ) ;
extern void dog_pain ( edict_t * self , edict_t * other , float kick , int damage);
extern void dog_run ( edict_t * self ) ;
extern void dog_search ( edict_t * self ) ;
extern void dog_sight ( edict_t * self , edict_t *other );
extern void dog_stand ( edict_t * self ) ;
extern void door_blocked ( edict_t * self , edict_t * other ) ; extern void door_blocked ( edict_t * self , edict_t * other ) ;
extern void door_go_down ( edict_t * self ) ; extern void door_go_down ( edict_t * self ) ;
extern void door_go_up ( edict_t * self , edict_t * activator ) ; extern void door_go_up ( edict_t * self , edict_t * activator ) ;
@ -589,13 +616,16 @@ extern void drawbbox ( edict_t * self ) ;
extern void drop_make_touchable ( edict_t * ent ) ; extern void drop_make_touchable ( edict_t * ent ) ;
extern void drop_temp_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void drop_temp_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void droptofloor ( edict_t * ent ) ; extern void droptofloor ( edict_t * ent ) ;
extern void enfbolt_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf); extern void enfbolt_touch ( edict_t * self , edict_t * other , cplane_t * plane, csurface_t *surf);
extern void enforcer_attack ( edict_t * self ) ; extern void enforcer_attack ( edict_t * self ) ;
extern void enforcer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void enforcer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void enforcer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point);
extern void enforcer_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void enforcer_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void enforcer_pain ( edict_t * self , edict_t * other , float kick , int damage);
extern void enforcer_run ( edict_t * self ) ; extern void enforcer_run ( edict_t * self ) ;
extern void enforcer_search ( edict_t * self ) ; extern void enforcer_search ( edict_t * self ) ;
extern void enforcer_sight ( edict_t * self , edict_t * other ) ; extern void enforcer_sight ( edict_t * self , edict_t * other ) ;
extern void enforcer_sight ( edict_t * self , edict_t *other );
extern void enforcer_stand ( edict_t * self ) ; extern void enforcer_stand ( edict_t * self ) ;
extern void enforcer_walk ( edict_t * self ) ; extern void enforcer_walk ( edict_t * self ) ;
extern void fd_secret_done ( edict_t * self ) ; extern void fd_secret_done ( edict_t * self ) ;
@ -632,6 +662,13 @@ extern void fire_shotgun ( edict_t * self , vec3_t start , vec3_t aimdir , int d
extern void fire_tesla ( edict_t * self , vec3_t start , vec3_t aimdir , int damage_multiplier , int speed ) ; extern void fire_tesla ( edict_t * self , vec3_t start , vec3_t aimdir , int damage_multiplier , int speed ) ;
extern void fire_tracker ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , edict_t * enemy ) ; extern void fire_tracker ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , edict_t * enemy ) ;
extern void fire_trap ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean held ) ; extern void fire_trap ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean held ) ;
extern void fish_dead ( edict_t * self ) ;
extern void fish_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ;
extern void fish_melee ( edict_t * self ) ;
extern void fish_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void fish_run ( edict_t * self ) ;
extern void fish_search ( edict_t * self ) ;
extern void fish_stand ( edict_t * self ) ;
extern void fixbot_attack ( edict_t * self ) ; extern void fixbot_attack ( edict_t * self ) ;
extern void fixbot_dead ( edict_t * self ) ; extern void fixbot_dead ( edict_t * self ) ;
extern void fixbot_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void fixbot_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
@ -770,7 +807,7 @@ extern void gladiator_attack ( edict_t * self ) ;
extern void gladiator_cleaver_swing ( edict_t * self ) ; extern void gladiator_cleaver_swing ( edict_t * self ) ;
extern void gladiator_dead ( edict_t * self ) ; extern void gladiator_dead ( edict_t * self ) ;
extern void gladiator_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void gladiator_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void gladiator_footstep( edict_t *self ) ; extern void gladiator_footstep ( edict_t *self ) ;
extern void gladiator_idle ( edict_t * self ) ; extern void gladiator_idle ( edict_t * self ) ;
extern void gladiator_melee ( edict_t * self ) ; extern void gladiator_melee ( edict_t * self ) ;
extern void gladiator_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void gladiator_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
@ -787,14 +824,14 @@ extern void guardian_atk2 ( edict_t * self ) ;
extern void guardian_atk2_out ( edict_t * self ) ; extern void guardian_atk2_out ( edict_t * self ) ;
extern void guardian_attack ( edict_t * self ) ; extern void guardian_attack ( edict_t * self ) ;
extern void guardian_dead ( edict_t * self ) ; extern void guardian_dead ( edict_t * self ) ;
extern void guardian_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /* unused */, int damage, vec3_t point /* unused */); extern void guardian_die ( edict_t * self , edict_t *inflictor , edict_t *attacker , int damage, vec3_t point );
extern void guardian_explode ( edict_t * self ) ; extern void guardian_explode ( edict_t * self ) ;
extern void guardian_fire_blaster ( edict_t * self ) ; extern void guardian_fire_blaster ( edict_t * self ) ;
extern void guardian_footstep ( edict_t * self ) ; extern void guardian_footstep ( edict_t * self ) ;
extern void guardian_hyper_sound ( edict_t * self ) ; extern void guardian_hyper_sound ( edict_t * self ) ;
extern void guardian_kick ( edict_t * self ) ; extern void guardian_kick ( edict_t * self ) ;
extern void guardian_laser_fire ( edict_t * self ) ; extern void guardian_laser_fire ( edict_t * self ) ;
extern void guardian_pain(edict_t *self, edict_t *other /* other */, float kick /* other */, int damage); extern void guardian_pain ( edict_t * self , edict_t * other , float kick , int damage);
extern void guardian_run ( edict_t * self ) ; extern void guardian_run ( edict_t * self ) ;
extern void guardian_stand ( edict_t * self ) ; extern void guardian_stand ( edict_t * self ) ;
extern void guardian_walk ( edict_t * self ) ; extern void guardian_walk ( edict_t * self ) ;
@ -809,7 +846,7 @@ extern void gunner_duck_hold ( edict_t * self ) ;
extern void gunner_duck_up ( edict_t * self ) ; extern void gunner_duck_up ( edict_t * self ) ;
extern void gunner_fidget ( edict_t * self ) ; extern void gunner_fidget ( edict_t * self ) ;
extern void gunner_fire_chain ( edict_t * self ) ; extern void gunner_fire_chain ( edict_t * self ) ;
extern void gunner_footstep( edict_t *self ) ; extern void gunner_footstep ( edict_t *self ) ;
extern void gunner_idlesound ( edict_t * self ) ; extern void gunner_idlesound ( edict_t * self ) ;
extern void gunner_jump ( edict_t * self ) ; extern void gunner_jump ( edict_t * self ) ;
extern void gunner_jump2_now ( edict_t * self ) ; extern void gunner_jump2_now ( edict_t * self ) ;
@ -829,6 +866,15 @@ extern void heat_think ( edict_t * self ) ;
extern void hint_path_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void hint_path_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void hintpath_go ( edict_t * self , edict_t * point ) ; extern void hintpath_go ( edict_t * self , edict_t * point ) ;
extern void hintpath_stop ( edict_t * self ) ; extern void hintpath_stop ( edict_t * self ) ;
extern void hknight_attack ( edict_t * self ) ;
extern void hknight_dead ( edict_t * self ) ;
extern void hknight_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point) ;
extern void hknight_melee ( edict_t * self ) ;
extern void hknight_pain ( edict_t * self , edict_t * other , float kick, int damage) ;
extern void hknight_run ( edict_t * self ) ;
extern void hknight_search ( edict_t * self ) ;
extern void hknight_sight ( edict_t * self , edict_t *other ) ;
extern void hknight_stand ( edict_t * self ) ;
extern void hover_attack ( edict_t * self ) ; extern void hover_attack ( edict_t * self ) ;
extern void hover_dead ( edict_t * self ) ; extern void hover_dead ( edict_t * self ) ;
extern void hover_deadthink ( edict_t * self ) ; extern void hover_deadthink ( edict_t * self ) ;
@ -859,7 +905,7 @@ extern void infantry_duck_up ( edict_t * self ) ;
extern void infantry_fidget ( edict_t * self ) ; extern void infantry_fidget ( edict_t * self ) ;
extern void infantry_fire ( edict_t * self ) ; extern void infantry_fire ( edict_t * self ) ;
extern void infantry_fire_prep ( edict_t * self ) ; extern void infantry_fire_prep ( edict_t * self ) ;
extern void infantry_footstep( edict_t *self ) ; extern void infantry_footstep ( edict_t *self ) ;
extern void infantry_jump ( edict_t * self ) ; extern void infantry_jump ( edict_t * self ) ;
extern void infantry_jump2_now ( edict_t * self ) ; extern void infantry_jump2_now ( edict_t * self ) ;
extern void infantry_jump_now ( edict_t * self ) ; extern void infantry_jump_now ( edict_t * self ) ;
@ -879,7 +925,7 @@ extern void insane_cross ( edict_t * self ) ;
extern void insane_dead ( edict_t * self ) ; extern void insane_dead ( edict_t * self ) ;
extern void insane_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void insane_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void insane_fist ( edict_t * self ) ; extern void insane_fist ( edict_t * self ) ;
extern void insane_footstep( edict_t *self ) ; extern void insane_footstep ( edict_t *self ) ;
extern void insane_moan ( edict_t * self ) ; extern void insane_moan ( edict_t * self ) ;
extern void insane_onground ( edict_t * self ) ; extern void insane_onground ( edict_t * self ) ;
extern void insane_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void insane_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
@ -909,11 +955,21 @@ extern void jorg_stand ( edict_t * self ) ;
extern void jorg_step_left ( edict_t * self ) ; extern void jorg_step_left ( edict_t * self ) ;
extern void jorg_step_right ( edict_t * self ) ; extern void jorg_step_right ( edict_t * self ) ;
extern void jorg_walk ( edict_t * self ) ; extern void jorg_walk ( edict_t * self ) ;
extern void knight_attack ( edict_t * self ) ;
extern void knight_dead ( edict_t * self ) ;
extern void knight_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point) ;
extern void knight_melee ( edict_t * self ) ;
extern void knight_pain (edict_t * self , edict_t * other , float kick , int damage) ;
extern void knight_run ( edict_t * self ) ;
extern void knight_search ( edict_t * self ) ;
extern void knight_sight ( edict_t * self , edict_t *other ) ;
extern void knight_stand ( edict_t * self ) ;
extern void land_to_water ( edict_t * self ) ; extern void land_to_water ( edict_t * self ) ;
extern void landing_goal ( edict_t * self ) ; extern void landing_goal ( edict_t * self ) ;
extern void light_use ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void light_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void loogie ( edict_t * self ) ; extern void loogie ( edict_t * self ) ;
extern void loogie_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void loogie_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void magic_touch ( edict_t * self, edict_t * other , cplane_t *plane, csurface_t *surf) ;
extern void makronBFG ( edict_t * self ) ; extern void makronBFG ( edict_t * self ) ;
extern void makron_attack ( edict_t * self ) ; extern void makron_attack ( edict_t * self ) ;
extern void makron_brainsplorch ( edict_t * self ) ; extern void makron_brainsplorch ( edict_t * self ) ;
@ -941,20 +997,20 @@ extern void medic_dead ( edict_t * self ) ;
extern void medic_determine_spawn ( edict_t *self ) ; extern void medic_determine_spawn ( edict_t *self ) ;
extern void medic_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void medic_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void medic_dodge ( edict_t * self , edict_t * attacker , float eta, trace_t *tr ) ; extern void medic_dodge ( edict_t * self , edict_t * attacker , float eta, trace_t *tr ) ;
extern void medic_duck( edict_t *self, float eta ) ; extern void medic_duck ( edict_t * self , float eta ) ;
extern void medic_duck_down ( edict_t * self ) ; extern void medic_duck_down ( edict_t * self ) ;
extern void medic_duck_hold ( edict_t * self ) ; extern void medic_duck_hold ( edict_t * self ) ;
extern void medic_duck_up ( edict_t * self ) ; extern void medic_duck_up ( edict_t * self ) ;
extern void medic_finish_spawn ( edict_t *self ); extern void medic_finish_spawn ( edict_t *self );
extern void medic_fire_blaster ( edict_t * self ) ; extern void medic_fire_blaster ( edict_t * self ) ;
extern void medic_footstep( edict_t *self ) ; extern void medic_footstep ( edict_t *self ) ;
extern void medic_hook_launch ( edict_t * self ) ; extern void medic_hook_launch ( edict_t * self ) ;
extern void medic_hook_retract ( edict_t * self ) ; extern void medic_hook_retract ( edict_t * self ) ;
extern void medic_idle ( edict_t * self ) ; extern void medic_idle ( edict_t * self ) ;
extern void medic_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void medic_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void medic_run ( edict_t * self ) ; extern void medic_run ( edict_t * self ) ;
extern void medic_search ( edict_t * self ) ; extern void medic_search ( edict_t * self ) ;
extern void medic_sidestep( edict_t *self ) ; extern void medic_sidestep ( edict_t *self ) ;
extern void medic_sight ( edict_t * self , edict_t * other ) ; extern void medic_sight ( edict_t * self , edict_t * other ) ;
extern void medic_spawngrows ( edict_t *self ); extern void medic_spawngrows ( edict_t *self );
extern void medic_stand ( edict_t * self ) ; extern void medic_stand ( edict_t * self ) ;
@ -1031,6 +1087,15 @@ extern void nuke_die ( edict_t * self , edict_t * inflictor , edict_t * attacker
extern void object_repair_dead ( edict_t * ent ) ; extern void object_repair_dead ( edict_t * ent ) ;
extern void object_repair_fx ( edict_t * ent ) ; extern void object_repair_fx ( edict_t * ent ) ;
extern void object_repair_sparks ( edict_t * ent ) ; extern void object_repair_sparks ( edict_t * ent ) ;
extern void ogre_attack ( edict_t * self ) ;
extern void ogre_dead ( edict_t * self ) ;
extern void ogre_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ;
extern void ogre_melee ( edict_t * self ) ;
extern void ogre_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void ogre_run ( edict_t * self ) ;
extern void ogre_search ( edict_t * self ) ;
extern void ogre_sight ( edict_t * self , edict_t *other ) ;
extern void ogre_stand ( edict_t * self ) ;
extern void orb_think ( edict_t * self ) ; extern void orb_think ( edict_t * self ) ;
extern void parasite_attack ( edict_t * self ) ; extern void parasite_attack ( edict_t * self ) ;
extern void parasite_dead ( edict_t * self ) ; extern void parasite_dead ( edict_t * self ) ;
@ -1094,25 +1159,31 @@ extern void rotating_touch ( edict_t * self , edict_t * other , cplane_t * plane
extern void rotating_use ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void rotating_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void secret_blocked ( edict_t * self , edict_t * other ) ; extern void secret_blocked ( edict_t * self , edict_t * other ) ;
extern void secret_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void secret_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void sham_smash10(edict_t* self); extern void shalrath_attack ( edict_t * self ) ;
extern void sham_swingl9(edict_t* self); extern void shalrath_dead ( edict_t * self ) ;
extern void sham_swingr9(edict_t* self); extern void shalrath_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ;
extern void shambler_attack(edict_t* self); extern void shalrath_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void shambler_dead(edict_t* self); extern void shalrath_pod_home ( edict_t * self ) ;
extern void shambler_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /* unused */, int damage, vec3_t point /* unused */); extern void shalrath_pod_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t * surf ) ;
extern void shambler_idle(edict_t* self); extern void shalrath_run ( edict_t * self ) ;
extern void shalrath_search ( edict_t * self ) ;
extern void shalrath_sight ( edict_t * self , edict_t *other ) ;
extern void shalrath_stand ( edict_t * self ) ;
extern void shambler_attack ( edict_t * self ) ;
extern void shambler_dead (edict_t * self ) ;
extern void shambler_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ;
extern void shambler_idle ( edict_t * self);
extern void shambler_lightning_update ( edict_t * self ) ; extern void shambler_lightning_update ( edict_t * self ) ;
extern void shambler_maybe_idle(edict_t* self); extern void shambler_maybe_idle ( edict_t * self);
extern void shambler_melee(edict_t* self); extern void shambler_melee (edict_t* self);
extern void shambler_melee1(edict_t* self); extern void shambler_melee1 (edict_t* self);
extern void shambler_melee2(edict_t* self); extern void shambler_melee2 (edict_t* self);
extern void shambler_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage /* unused */); extern void shambler_pain ( edict_t * self , edict_t * other , float kick , int damage );
extern void shambler_run(edict_t* self); extern void shambler_run ( edict_t * self );
extern void shambler_shrink(edict_t* self); extern void shambler_sight ( edict_t * self, edict_t* other);
extern void shambler_sight(edict_t* self, edict_t* other); extern void shambler_stand ( edict_t * self);
extern void shambler_stand(edict_t* self); extern void shambler_walk ( edict_t * self);
extern void shambler_walk(edict_t* self); extern void shambler_windup ( edict_t * self);
extern void shambler_windup(edict_t* self);
extern void showme ( edict_t * self ) ; extern void showme ( edict_t * self ) ;
extern void smart_water_blocked ( edict_t * self , edict_t * other ) ; extern void smart_water_blocked ( edict_t * self , edict_t * other ) ;
extern void smart_water_go_up ( edict_t * self ) ; extern void smart_water_go_up ( edict_t * self ) ;
@ -1142,7 +1213,7 @@ extern void soldier_fire6 ( edict_t * self ) ;
extern void soldier_fire7 ( edict_t * self ) ; extern void soldier_fire7 ( edict_t * self ) ;
extern void soldier_fire8 ( edict_t * self ) ; extern void soldier_fire8 ( edict_t * self ) ;
extern void soldier_fire_run ( edict_t * self ) ; extern void soldier_fire_run ( edict_t * self ) ;
extern void soldier_footstep( edict_t *self ) ; extern void soldier_footstep ( edict_t *self ) ;
extern void soldier_idle ( edict_t * self ) ; extern void soldier_idle ( edict_t * self ) ;
extern void soldier_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void soldier_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void soldier_run ( edict_t * self ) ; extern void soldier_run ( edict_t * self ) ;
@ -1199,6 +1270,7 @@ extern void sphere_fly ( edict_t * self ) ;
extern void sphere_if_idle_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void sphere_if_idle_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void sphere_think_explode ( edict_t * self ) ; extern void sphere_think_explode ( edict_t * self ) ;
extern void sphere_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf , int mod ) ; extern void sphere_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf , int mod ) ;
extern void spit_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf);
extern void stalker_attack_melee ( edict_t * self ) ; extern void stalker_attack_melee ( edict_t * self ) ;
extern void stalker_attack_ranged ( edict_t * self ) ; extern void stalker_attack_ranged ( edict_t * self ) ;
extern void stalker_dead ( edict_t * self ) ; extern void stalker_dead ( edict_t * self ) ;
@ -1243,6 +1315,7 @@ extern void supertank_stand ( edict_t * self ) ;
extern void supertank_walk ( edict_t * self ) ; extern void supertank_walk ( edict_t * self ) ;
extern void swimmonster_start ( edict_t * self ) ; extern void swimmonster_start ( edict_t * self ) ;
extern void swimmonster_start_go ( edict_t * self ) ; extern void swimmonster_start_go ( edict_t * self ) ;
extern void swing_sword_step ( edict_t * self ) ;
extern void takeoff_goal ( edict_t * self ) ; extern void takeoff_goal ( edict_t * self ) ;
extern void tank_attack ( edict_t * self ) ; extern void tank_attack ( edict_t * self ) ;
extern void tank_dead ( edict_t * self ) ; extern void tank_dead ( edict_t * self ) ;
@ -1261,6 +1334,16 @@ extern void tank_stand_think ( edict_t * self ) ;
extern void tank_thud ( edict_t * self ) ; extern void tank_thud ( edict_t * self ) ;
extern void tank_walk ( edict_t * self ) ; extern void tank_walk ( edict_t * self ) ;
extern void tank_windup ( edict_t * self ) ; extern void tank_windup ( edict_t * self ) ;
extern void tarbaby_attack ( edict_t * self ) ;
extern void tarbaby_die ( edict_t * self , edict_t *inflictor , edict_t *attacker , int damage, vec3_t point );
extern void tarbaby_explode ( edict_t * self ) ;
extern void tarbaby_fly ( edict_t * self ) ;
extern void tarbaby_pain (edict_t * self , edict_t * other , float kick , int damage);
extern void tarbaby_rejump ( edict_t * self ) ;
extern void tarbaby_run ( edict_t * self ) ;
extern void tarbaby_sight ( edict_t * self , edict_t *other );
extern void tarbaby_stand ( edict_t * self ) ;
extern void tarbaby_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf);
extern void target_actor_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void target_actor_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void target_anger_use ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void target_anger_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
extern void target_crosslevel_target_think ( edict_t * self ) ; extern void target_crosslevel_target_think ( edict_t * self ) ;
@ -1358,7 +1441,8 @@ extern void use_target_steam ( edict_t * self , edict_t * other , edict_t * acti
extern void vengeance_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void vengeance_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void vengeance_think ( edict_t * self ) ; extern void vengeance_think ( edict_t * self ) ;
extern void vengeance_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void vengeance_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
extern void wait_and_change_think(edict_t* ent); extern void viewthing_think ( edict_t * ent ) ;
extern void wait_and_change_think ( edict_t * ent ) ;
extern void walkmonster_start ( edict_t * self ) ; extern void walkmonster_start ( edict_t * self ) ;
extern void walkmonster_start_go ( edict_t * self ) ; extern void walkmonster_start_go ( edict_t * self ) ;
extern void water_to_land ( edict_t * self ) ; extern void water_to_land ( edict_t * self ) ;
@ -1419,13 +1503,25 @@ extern void widow_step ( edict_t * self ) ;
extern void widow_stepshoot ( edict_t * self ) ; extern void widow_stepshoot ( edict_t * self ) ;
extern void widow_walk ( edict_t * self ) ; extern void widow_walk ( edict_t * self ) ;
extern void widowlegs_think ( edict_t * self ) ; extern void widowlegs_think ( edict_t * self ) ;
extern void zombie_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf); extern void wizard_attack ( edict_t * self ) ;
extern void zombie_gib_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf); extern void wizard_dead ( edict_t * self ) ;
extern void wizard_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point);
extern void wizard_finish_attack ( edict_t * self ) ;
extern void wizard_pain ( edict_t * self , edict_t * other , float kick , int damage);
extern void wizard_run ( edict_t * self ) ;
extern void wizard_search ( edict_t * self ) ;
extern void wizard_sight ( edict_t * self , edict_t *other );
extern void wizard_stand ( edict_t * self ) ;
extern void zombie_attack ( edict_t * self ) ; extern void zombie_attack ( edict_t * self ) ;
extern void zombie_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void zombie_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
extern void zombie_die (edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point) ;
extern void zombie_gib_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf);
extern void zombie_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void zombie_pain ( edict_t * self , edict_t * other , float kick , int damage ) ;
extern void zombie_pain (edict_t * self , edict_t * other , float kick, int damage) ;
extern void zombie_run ( edict_t * self ) ; extern void zombie_run ( edict_t * self ) ;
extern void zombie_search ( edict_t * self ) ; extern void zombie_search ( edict_t * self ) ;
extern void zombie_sight ( edict_t * self , edict_t *other ) ;
extern void zombie_sight ( edict_t * self , edict_t * other ) ; extern void zombie_sight ( edict_t * self , edict_t * other ) ;
extern void zombie_stand ( edict_t * self ) ; extern void zombie_stand ( edict_t * self ) ;
extern void zombie_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf);
extern void zombie_walk ( edict_t * self ) ; extern void zombie_walk ( edict_t * self ) ;

View file

@ -202,7 +202,6 @@
{"SetRespawn", (byte *)SetRespawn}, {"SetRespawn", (byte *)SetRespawn},
{"SetTriggeredSpawn", (byte *)SetTriggeredSpawn}, {"SetTriggeredSpawn", (byte *)SetTriggeredSpawn},
{"SpawnItem", (byte *)SpawnItem}, {"SpawnItem", (byte *)SpawnItem},
{"viewthing_think", (byte *)viewthing_think},
{"Tag_ChangeDamage", (byte *)Tag_ChangeDamage}, {"Tag_ChangeDamage", (byte *)Tag_ChangeDamage},
{"Tag_DogTag", (byte *)Tag_DogTag}, {"Tag_DogTag", (byte *)Tag_DogTag},
{"Tag_DropToken", (byte *)Tag_DropToken}, {"Tag_DropToken", (byte *)Tag_DropToken},
@ -373,6 +372,14 @@
{"arachnid_sight", (byte *)arachnid_sight}, {"arachnid_sight", (byte *)arachnid_sight},
{"arachnid_stand", (byte *)arachnid_stand}, {"arachnid_stand", (byte *)arachnid_stand},
{"arachnid_walk", (byte *)arachnid_walk}, {"arachnid_walk", (byte *)arachnid_walk},
{"army_attack", (byte *)army_attack},
{"army_dead", (byte *)army_dead},
{"army_die", (byte *)army_die},
{"army_pain", (byte *)army_pain},
{"army_run", (byte *)army_run},
{"army_search", (byte *)army_search},
{"army_sight", (byte *)army_sight},
{"army_stand", (byte *)army_stand},
{"badarea_touch", (byte *)badarea_touch}, {"badarea_touch", (byte *)badarea_touch},
{"barrel_delay", (byte *)barrel_delay}, {"barrel_delay", (byte *)barrel_delay},
{"barrel_explode", (byte *)barrel_explode}, {"barrel_explode", (byte *)barrel_explode},
@ -525,6 +532,26 @@
{"defender_pain", (byte *)defender_pain}, {"defender_pain", (byte *)defender_pain},
{"defender_shoot", (byte *)defender_shoot}, {"defender_shoot", (byte *)defender_shoot},
{"defender_think", (byte *)defender_think}, {"defender_think", (byte *)defender_think},
{"demon_attack", (byte *)demon_attack},
{"demon_dead", (byte *)demon_dead},
{"demon_die", (byte *)demon_die},
{"demon_jump_touch", (byte *)demon_jump_touch},
{"demon_melee", (byte *)demon_melee},
{"demon_pain", (byte *)demon_pain},
{"demon_run", (byte *)demon_run},
{"demon_search", (byte *)demon_search},
{"demon_sight", (byte *)demon_sight},
{"demon_stand", (byte *)demon_stand},
{"dog_dead", (byte *)dog_dead},
{"dog_die", (byte *)dog_die},
{"dog_leap", (byte *)dog_leap},
{"dog_leap_touch", (byte *)dog_leap_touch},
{"dog_melee", (byte *)dog_melee},
{"dog_pain", (byte *)dog_pain},
{"dog_run", (byte *)dog_run},
{"dog_search", (byte *)dog_search},
{"dog_sight", (byte *)dog_sight},
{"dog_stand", (byte *)dog_stand},
{"door_blocked", (byte *)door_blocked}, {"door_blocked", (byte *)door_blocked},
{"door_go_down", (byte *)door_go_down}, {"door_go_down", (byte *)door_go_down},
{"door_go_up", (byte *)door_go_up}, {"door_go_up", (byte *)door_go_up},
@ -581,6 +608,7 @@
{"fire_grenade", (byte *)fire_grenade}, {"fire_grenade", (byte *)fire_grenade},
{"fire_grenade2", (byte *)fire_grenade2}, {"fire_grenade2", (byte *)fire_grenade2},
{"fire_heat", (byte *)fire_heat}, {"fire_heat", (byte *)fire_heat},
{"fire_heatbeam", (byte *)fire_heatbeam},
{"fire_hit", (byte *)fire_hit}, {"fire_hit", (byte *)fire_hit},
{"fire_ionripper", (byte *)fire_ionripper}, {"fire_ionripper", (byte *)fire_ionripper},
{"fire_lead", (byte *)fire_lead}, {"fire_lead", (byte *)fire_lead},
@ -595,6 +623,13 @@
{"fire_tesla", (byte *)fire_tesla}, {"fire_tesla", (byte *)fire_tesla},
{"fire_tracker", (byte *)fire_tracker}, {"fire_tracker", (byte *)fire_tracker},
{"fire_trap", (byte *)fire_trap}, {"fire_trap", (byte *)fire_trap},
{"fish_dead", (byte *)fish_dead},
{"fish_die", (byte *)fish_die},
{"fish_melee", (byte *)fish_melee},
{"fish_pain", (byte *)fish_pain},
{"fish_run", (byte *)fish_run},
{"fish_search", (byte *)fish_search},
{"fish_stand", (byte *)fish_stand},
{"fixbot_attack", (byte *)fixbot_attack}, {"fixbot_attack", (byte *)fixbot_attack},
{"fixbot_dead", (byte *)fixbot_dead}, {"fixbot_dead", (byte *)fixbot_dead},
{"fixbot_die", (byte *)fixbot_die}, {"fixbot_die", (byte *)fixbot_die},
@ -803,6 +838,15 @@
{"hint_path_touch", (byte *)hint_path_touch}, {"hint_path_touch", (byte *)hint_path_touch},
{"hintpath_go", (byte *)hintpath_go}, {"hintpath_go", (byte *)hintpath_go},
{"hintpath_stop", (byte *)hintpath_stop}, {"hintpath_stop", (byte *)hintpath_stop},
{"hknight_attack", (byte *)hknight_attack},
{"hknight_dead", (byte *)hknight_dead},
{"hknight_die", (byte *)hknight_die},
{"hknight_melee", (byte *)hknight_melee},
{"hknight_pain", (byte *)hknight_pain},
{"hknight_run", (byte *)hknight_run},
{"hknight_search", (byte *)hknight_search},
{"hknight_sight", (byte *)hknight_sight},
{"hknight_stand", (byte *)hknight_stand},
{"hover_attack", (byte *)hover_attack}, {"hover_attack", (byte *)hover_attack},
{"hover_blocked", (byte *)hover_blocked}, {"hover_blocked", (byte *)hover_blocked},
{"hover_dead", (byte *)hover_dead}, {"hover_dead", (byte *)hover_dead},
@ -887,11 +931,21 @@
{"jorg_step_left", (byte *)jorg_step_left}, {"jorg_step_left", (byte *)jorg_step_left},
{"jorg_step_right", (byte *)jorg_step_right}, {"jorg_step_right", (byte *)jorg_step_right},
{"jorg_walk", (byte *)jorg_walk}, {"jorg_walk", (byte *)jorg_walk},
{"knight_attack", (byte *)knight_attack},
{"knight_dead", (byte *)knight_dead},
{"knight_die", (byte *)knight_die},
{"knight_melee", (byte *)knight_melee},
{"knight_pain", (byte *)knight_pain},
{"knight_run", (byte *)knight_run},
{"knight_search", (byte *)knight_search},
{"knight_sight", (byte *)knight_sight},
{"knight_stand", (byte *)knight_stand},
{"land_to_water", (byte *)land_to_water}, {"land_to_water", (byte *)land_to_water},
{"landing_goal", (byte *)landing_goal}, {"landing_goal", (byte *)landing_goal},
{"light_use", (byte *)light_use}, {"light_use", (byte *)light_use},
{"loogie", (byte *)loogie}, {"loogie", (byte *)loogie},
{"loogie_touch", (byte *)loogie_touch}, {"loogie_touch", (byte *)loogie_touch},
{"magic_touch", (byte *)magic_touch},
{"makronBFG", (byte *)makronBFG}, {"makronBFG", (byte *)makronBFG},
{"makron_attack", (byte *)makron_attack}, {"makron_attack", (byte *)makron_attack},
{"makron_brainsplorch", (byte *)makron_brainsplorch}, {"makron_brainsplorch", (byte *)makron_brainsplorch},
@ -1018,6 +1072,15 @@
{"object_repair_dead", (byte *)object_repair_dead}, {"object_repair_dead", (byte *)object_repair_dead},
{"object_repair_fx", (byte *)object_repair_fx}, {"object_repair_fx", (byte *)object_repair_fx},
{"object_repair_sparks", (byte *)object_repair_sparks}, {"object_repair_sparks", (byte *)object_repair_sparks},
{"ogre_attack", (byte *)ogre_attack},
{"ogre_dead", (byte *)ogre_dead},
{"ogre_die", (byte *)ogre_die},
{"ogre_melee", (byte *)ogre_melee},
{"ogre_pain", (byte *)ogre_pain},
{"ogre_run", (byte *)ogre_run},
{"ogre_search", (byte *)ogre_search},
{"ogre_sight", (byte *)ogre_sight},
{"ogre_stand", (byte *)ogre_stand},
{"orb_think", (byte *)orb_think}, {"orb_think", (byte *)orb_think},
{"parasite_attack", (byte *)parasite_attack}, {"parasite_attack", (byte *)parasite_attack},
{"parasite_blocked", (byte *)parasite_blocked}, {"parasite_blocked", (byte *)parasite_blocked},
@ -1084,9 +1147,16 @@
{"rotating_use", (byte *)rotating_use}, {"rotating_use", (byte *)rotating_use},
{"secret_blocked", (byte *)secret_blocked}, {"secret_blocked", (byte *)secret_blocked},
{"secret_touch", (byte *)secret_touch}, {"secret_touch", (byte *)secret_touch},
{"sham_smash10", (byte *)sham_smash10}, {"shalrath_attack", (byte *)shalrath_attack},
{"sham_swingl9", (byte *)sham_swingl9}, {"shalrath_dead", (byte *)shalrath_dead},
{"sham_swingr9", (byte *)sham_swingr9}, {"shalrath_die", (byte *)shalrath_die},
{"shalrath_pain", (byte *)shalrath_pain},
{"shalrath_pod_home", (byte *)shalrath_pod_home},
{"shalrath_pod_touch", (byte *)shalrath_pod_touch},
{"shalrath_run", (byte *)shalrath_run},
{"shalrath_search", (byte *)shalrath_search},
{"shalrath_sight", (byte *)shalrath_sight},
{"shalrath_stand", (byte *)shalrath_stand},
{"shambler_attack", (byte *)shambler_attack}, {"shambler_attack", (byte *)shambler_attack},
{"shambler_dead", (byte *)shambler_dead}, {"shambler_dead", (byte *)shambler_dead},
{"shambler_die", (byte *)shambler_die}, {"shambler_die", (byte *)shambler_die},
@ -1098,7 +1168,6 @@
{"shambler_melee2", (byte *)shambler_melee2}, {"shambler_melee2", (byte *)shambler_melee2},
{"shambler_pain", (byte *)shambler_pain}, {"shambler_pain", (byte *)shambler_pain},
{"shambler_run", (byte *)shambler_run}, {"shambler_run", (byte *)shambler_run},
{"shambler_shrink", (byte *)shambler_shrink},
{"shambler_sight", (byte *)shambler_sight}, {"shambler_sight", (byte *)shambler_sight},
{"shambler_stand", (byte *)shambler_stand}, {"shambler_stand", (byte *)shambler_stand},
{"shambler_walk", (byte *)shambler_walk}, {"shambler_walk", (byte *)shambler_walk},
@ -1190,6 +1259,7 @@
{"sphere_if_idle_die", (byte *)sphere_if_idle_die}, {"sphere_if_idle_die", (byte *)sphere_if_idle_die},
{"sphere_think_explode", (byte *)sphere_think_explode}, {"sphere_think_explode", (byte *)sphere_think_explode},
{"sphere_touch", (byte *)sphere_touch}, {"sphere_touch", (byte *)sphere_touch},
{"spit_touch", (byte *)spit_touch},
{"stalker_attack_melee", (byte *)stalker_attack_melee}, {"stalker_attack_melee", (byte *)stalker_attack_melee},
{"stalker_attack_ranged", (byte *)stalker_attack_ranged}, {"stalker_attack_ranged", (byte *)stalker_attack_ranged},
{"stalker_blocked", (byte *)stalker_blocked}, {"stalker_blocked", (byte *)stalker_blocked},
@ -1238,6 +1308,7 @@
{"supertank_walk", (byte *)supertank_walk}, {"supertank_walk", (byte *)supertank_walk},
{"swimmonster_start", (byte *)swimmonster_start}, {"swimmonster_start", (byte *)swimmonster_start},
{"swimmonster_start_go", (byte *)swimmonster_start_go}, {"swimmonster_start_go", (byte *)swimmonster_start_go},
{"swing_sword_step", (byte *)swing_sword_step},
{"takeoff_goal", (byte *)takeoff_goal}, {"takeoff_goal", (byte *)takeoff_goal},
{"tank_attack", (byte *)tank_attack}, {"tank_attack", (byte *)tank_attack},
{"tank_blocked", (byte *)tank_blocked}, {"tank_blocked", (byte *)tank_blocked},
@ -1257,6 +1328,16 @@
{"tank_thud", (byte *)tank_thud}, {"tank_thud", (byte *)tank_thud},
{"tank_walk", (byte *)tank_walk}, {"tank_walk", (byte *)tank_walk},
{"tank_windup", (byte *)tank_windup}, {"tank_windup", (byte *)tank_windup},
{"tarbaby_attack", (byte *)tarbaby_attack},
{"tarbaby_die", (byte *)tarbaby_die},
{"tarbaby_explode", (byte *)tarbaby_explode},
{"tarbaby_fly", (byte *)tarbaby_fly},
{"tarbaby_pain", (byte *)tarbaby_pain},
{"tarbaby_rejump", (byte *)tarbaby_rejump},
{"tarbaby_run", (byte *)tarbaby_run},
{"tarbaby_sight", (byte *)tarbaby_sight},
{"tarbaby_stand", (byte *)tarbaby_stand},
{"tarbaby_touch", (byte *)tarbaby_touch},
{"target_actor_touch", (byte *)target_actor_touch}, {"target_actor_touch", (byte *)target_actor_touch},
{"target_anger_use", (byte *)target_anger_use}, {"target_anger_use", (byte *)target_anger_use},
{"target_angle", (byte *)target_angle}, {"target_angle", (byte *)target_angle},
@ -1356,6 +1437,7 @@
{"vengeance_pain", (byte *)vengeance_pain}, {"vengeance_pain", (byte *)vengeance_pain},
{"vengeance_think", (byte *)vengeance_think}, {"vengeance_think", (byte *)vengeance_think},
{"vengeance_touch", (byte *)vengeance_touch}, {"vengeance_touch", (byte *)vengeance_touch},
{"viewthing_think", (byte *)viewthing_think},
{"visible", (byte *)visible}, {"visible", (byte *)visible},
{"wait_and_change_think", (byte *)wait_and_change_think}, {"wait_and_change_think", (byte *)wait_and_change_think},
{"walkmonster_start", (byte *)walkmonster_start}, {"walkmonster_start", (byte *)walkmonster_start},
@ -1419,14 +1501,23 @@
{"widow_stepshoot", (byte *)widow_stepshoot}, {"widow_stepshoot", (byte *)widow_stepshoot},
{"widow_walk", (byte *)widow_walk}, {"widow_walk", (byte *)widow_walk},
{"widowlegs_think", (byte *)widowlegs_think}, {"widowlegs_think", (byte *)widowlegs_think},
{"zombie_touch", (byte *)zombie_touch}, {"wizard_attack", (byte *)wizard_attack},
{"zombie_gib_touch", (byte *)zombie_gib_touch}, {"wizard_dead", (byte *)wizard_dead},
{"wizard_die", (byte *)wizard_die},
{"wizard_finish_attack", (byte *)wizard_finish_attack},
{"wizard_pain", (byte *)wizard_pain},
{"wizard_run", (byte *)wizard_run},
{"wizard_search", (byte *)wizard_search},
{"wizard_sight", (byte *)wizard_sight},
{"wizard_stand", (byte *)wizard_stand},
{"zombie_attack", (byte *)zombie_attack}, {"zombie_attack", (byte *)zombie_attack},
{"zombie_die", (byte *)zombie_die}, {"zombie_die", (byte *)zombie_die},
{"zombie_gib_touch", (byte *)zombie_gib_touch},
{"zombie_pain", (byte *)zombie_pain}, {"zombie_pain", (byte *)zombie_pain},
{"zombie_run", (byte *)zombie_run}, {"zombie_run", (byte *)zombie_run},
{"zombie_search", (byte *)zombie_search}, {"zombie_search", (byte *)zombie_search},
{"zombie_sight", (byte *)zombie_sight}, {"zombie_sight", (byte *)zombie_sight},
{"zombie_stand", (byte *)zombie_stand}, {"zombie_stand", (byte *)zombie_stand},
{"zombie_touch", (byte *)zombie_touch},
{"zombie_walk", (byte *)zombie_walk}, {"zombie_walk", (byte *)zombie_walk},
{0, 0} {0, 0}