From f9fc8c6cd8391b1812da89b39d6ef7ded56baaf6 Mon Sep 17 00:00:00 2001 From: Yamagi Burmeister Date: Wed, 7 Oct 2009 09:16:58 +0000 Subject: [PATCH] =?UTF-8?q?Bosse=20aufegr=C3=A4umt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/m_boss2.c | 475 +++++++++++++++++--------------------- src/m_boss3.c | 1 + src/m_boss31.c | 473 ++++++++++++++++++-------------------- src/m_boss32.c | 602 +++++++++++++++++++++++++------------------------ 4 files changed, 733 insertions(+), 818 deletions(-) diff --git a/src/m_boss2.c b/src/m_boss2.c index 07a26a5..5acfd4f 100644 --- a/src/m_boss2.c +++ b/src/m_boss2.c @@ -42,7 +42,6 @@ void Boss2Rocket (edict_t *self) AngleVectors (self->s.angles, forward, right, NULL); -//1 G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_1], forward, right, start); VectorCopy (self->enemy->s.origin, vec); vec[2] += self->enemy->viewheight; @@ -50,7 +49,6 @@ void Boss2Rocket (edict_t *self) VectorNormalize (dir); monster_fire_rocket (self, start, dir, 50, 500, MZ2_BOSS2_ROCKET_1); -//2 G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_2], forward, right, start); VectorCopy (self->enemy->s.origin, vec); vec[2] += self->enemy->viewheight; @@ -58,7 +56,6 @@ void Boss2Rocket (edict_t *self) VectorNormalize (dir); monster_fire_rocket (self, start, dir, 50, 500, MZ2_BOSS2_ROCKET_2); -//3 G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_3], forward, right, start); VectorCopy (self->enemy->s.origin, vec); vec[2] += self->enemy->viewheight; @@ -66,7 +63,6 @@ void Boss2Rocket (edict_t *self) VectorNormalize (dir); monster_fire_rocket (self, start, dir, 50, 500, MZ2_BOSS2_ROCKET_3); -//4 G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_4], forward, right, start); VectorCopy (self->enemy->s.origin, vec); vec[2] += self->enemy->viewheight; @@ -122,151 +118,134 @@ void boss2_firebullet_left (edict_t *self) void Boss2MachineGun (edict_t *self) { -/* vec3_t forward, right; - vec3_t start; - vec3_t dir; - vec3_t vec; - int flash_number; - - AngleVectors (self->s.angles, forward, right, NULL); - - flash_number = MZ2_BOSS2_MACHINEGUN_1 + (self->s.frame - FRAME_attack10); - G_ProjectSource (self->s.origin, monster_flash_offset[flash_number], forward, right, start); - - VectorCopy (self->enemy->s.origin, vec); - vec[2] += self->enemy->viewheight; - VectorSubtract (vec, start, dir); - VectorNormalize (dir); - monster_fire_bullet (self, start, dir, 3, 4, DEFAULT_BULLET_HSPREAD, DEFAULT_BULLET_VSPREAD, flash_number); -*/ - boss2_firebullet_left(self); + boss2_firebullet_left(self); boss2_firebullet_right(self); } mframe_t boss2_frames_stand [] = { - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL} }; mmove_t boss2_move_stand = {FRAME_stand30, FRAME_stand50, boss2_frames_stand, NULL}; mframe_t boss2_frames_fidget [] = { - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL} }; mmove_t boss2_move_fidget = {FRAME_stand1, FRAME_stand30, boss2_frames_fidget, NULL}; mframe_t boss2_frames_walk [] = { - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL} }; mmove_t boss2_move_walk = {FRAME_walk1, FRAME_walk20, boss2_frames_walk, NULL}; mframe_t boss2_frames_run [] = { - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL} }; mmove_t boss2_move_run = {FRAME_walk1, FRAME_walk20, boss2_frames_run, NULL}; mframe_t boss2_frames_attack_pre_mg [] = { - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, boss2_attack_mg + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, boss2_attack_mg} }; mmove_t boss2_move_attack_pre_mg = {FRAME_attack1, FRAME_attack9, boss2_frames_attack_pre_mg, NULL}; @@ -274,133 +253,133 @@ mmove_t boss2_move_attack_pre_mg = {FRAME_attack1, FRAME_attack9, boss2_frames_a // Loop this mframe_t boss2_frames_attack_mg [] = { - ai_charge, 1, Boss2MachineGun, - ai_charge, 1, Boss2MachineGun, - ai_charge, 1, Boss2MachineGun, - ai_charge, 1, Boss2MachineGun, - ai_charge, 1, Boss2MachineGun, - ai_charge, 1, boss2_reattack_mg + {ai_charge, 1, Boss2MachineGun}, + {ai_charge, 1, Boss2MachineGun}, + {ai_charge, 1, Boss2MachineGun}, + {ai_charge, 1, Boss2MachineGun}, + {ai_charge, 1, Boss2MachineGun}, + {ai_charge, 1, boss2_reattack_mg} }; mmove_t boss2_move_attack_mg = {FRAME_attack10, FRAME_attack15, boss2_frames_attack_mg, NULL}; mframe_t boss2_frames_attack_post_mg [] = { - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL} }; mmove_t boss2_move_attack_post_mg = {FRAME_attack16, FRAME_attack19, boss2_frames_attack_post_mg, boss2_run}; mframe_t boss2_frames_attack_rocket [] = { - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_move, -20, Boss2Rocket, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL, - ai_charge, 1, NULL + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_move, -20, Boss2Rocket}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL}, + {ai_charge, 1, NULL} }; mmove_t boss2_move_attack_rocket = {FRAME_attack20, FRAME_attack40, boss2_frames_attack_rocket, boss2_run}; mframe_t boss2_frames_pain_heavy [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t boss2_move_pain_heavy = {FRAME_pain2, FRAME_pain19, boss2_frames_pain_heavy, boss2_run}; mframe_t boss2_frames_pain_light [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t boss2_move_pain_light = {FRAME_pain20, FRAME_pain23, boss2_frames_pain_light, boss2_run}; mframe_t boss2_frames_death [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, BossExplode + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, BossExplode} }; mmove_t boss2_move_death = {FRAME_death2, FRAME_death50, boss2_frames_death, boss2_dead}; @@ -469,7 +448,7 @@ void boss2_pain (edict_t *self, edict_t *other, float kick, int damage) return; self->pain_debounce_time = level.time + 3; -// American wanted these at no attenuation + // American wanted these at no attenuation if (damage < 10) { gi.sound (self, CHAN_VOICE, sound_pain3, 1, ATTN_NONE, 0); @@ -504,30 +483,6 @@ void boss2_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage self->takedamage = DAMAGE_NO; self->count = 0; self->monsterinfo.currentmove = &boss2_move_death; -#if 0 - int n; - - self->s.sound = 0; - // check for gib - if (self->health <= self->gib_health) - { - gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0); - for (n= 0; n < 2; n++) - ThrowGib (self, "models/objects/gibs/bone/tris.md2", damage, GIB_ORGANIC); - for (n= 0; n < 4; n++) - ThrowGib (self, "models/objects/gibs/sm_meat/tris.md2", damage, GIB_ORGANIC); - ThrowHead (self, "models/objects/gibs/head2/tris.md2", damage, GIB_ORGANIC); - self->deadflag = DEAD_DEAD; - return; - } - - if (self->deadflag == DEAD_DEAD) - return; - - self->deadflag = DEAD_DEAD; - self->takedamage = DAMAGE_YES; - self->monsterinfo.currentmove = &boss2_move_death; -#endif } qboolean Boss2_CheckAttack (edict_t *self) @@ -542,7 +497,7 @@ qboolean Boss2_CheckAttack (edict_t *self) if (self->enemy->health > 0) { - // see if any entities are in the way of the shot + // see if any entities are in the way of the shot VectorCopy (self->s.origin, spot1); spot1[2] += self->viewheight; VectorCopy (self->enemy->s.origin, spot2); @@ -573,7 +528,7 @@ qboolean Boss2_CheckAttack (edict_t *self) return true; } -// missile attack + // missile attack if (!self->monsterinfo.attack) return false; @@ -624,17 +579,6 @@ qboolean Boss2_CheckAttack (edict_t *self) -void SP_monster_boss2_precache(void) -{ - sound_pain1 = gi.soundindex ("bosshovr/bhvpain1.wav"); - sound_pain2 = gi.soundindex ("bosshovr/bhvpain2.wav"); - sound_pain3 = gi.soundindex ("bosshovr/bhvpain3.wav"); - sound_death = gi.soundindex ("bosshovr/bhvdeth1.wav"); - sound_search1 = gi.soundindex ("bosshovr/bhvunqv1.wav"); -} - - - /*QUAKED monster_boss2 (1 .5 0) (-56 -56 0) (56 56 80) Ambush Trigger_Spawn Sight */ void SP_monster_boss2 (edict_t *self) @@ -645,7 +589,11 @@ void SP_monster_boss2 (edict_t *self) return; } - SP_monster_boss2_precache(); + sound_pain1 = gi.soundindex ("bosshovr/bhvpain1.wav"); + sound_pain2 = gi.soundindex ("bosshovr/bhvpain2.wav"); + sound_pain3 = gi.soundindex ("bosshovr/bhvpain3.wav"); + sound_death = gi.soundindex ("bosshovr/bhvdeth1.wav"); + sound_search1 = gi.soundindex ("bosshovr/bhvunqv1.wav"); self->s.sound = gi.soundindex ("bosshovr/bhvengn1.wav"); @@ -677,3 +625,4 @@ void SP_monster_boss2 (edict_t *self) flymonster_start (self); } + diff --git a/src/m_boss3.c b/src/m_boss3.c index 9dec143..5dff5b9 100644 --- a/src/m_boss3.c +++ b/src/m_boss3.c @@ -55,3 +55,4 @@ void SP_monster_boss3_stand (edict_t *self) self->nextthink = level.time + FRAMETIME; gi.linkentity (self); } + diff --git a/src/m_boss31.c b/src/m_boss31.c index d73b538..a1b78a9 100644 --- a/src/m_boss31.c +++ b/src/m_boss31.c @@ -9,7 +9,7 @@ jorg #include "g_local.h" #include "m_boss31.h" -extern SP_monster_makron (edict_t *self); +extern void SP_monster_makron (edict_t *self); qboolean visible (edict_t *self, edict_t *other); static int sound_pain1; @@ -63,57 +63,57 @@ void jorg_death_hit(edict_t *self); mframe_t jorg_frames_stand []= { - ai_stand, 0, jorg_idle, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 10 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 20 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 30 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 19, NULL, - ai_stand, 11, jorg_step_left, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 6, NULL, - ai_stand, 9, jorg_step_right, - ai_stand, 0, NULL, // 40 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, -2, NULL, - ai_stand, -17, jorg_step_left, - ai_stand, 0, NULL, - ai_stand, -12, NULL, // 50 - ai_stand, -14, jorg_step_right // 51 + {ai_stand, 0, jorg_idle}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 10 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 20 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 30 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 19, NULL}, + {ai_stand, 11, jorg_step_left}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 6, NULL}, + {ai_stand, 9, jorg_step_right}, + {ai_stand, 0, NULL}, // 40 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, -2, NULL}, + {ai_stand, -17, jorg_step_left}, + {ai_stand, 0, NULL}, + {ai_stand, -12, NULL}, // 50 + {ai_stand, -14, jorg_step_right} // 51 }; mmove_t jorg_move_stand = {FRAME_stand01, FRAME_stand51, jorg_frames_stand, NULL}; @@ -146,20 +146,20 @@ void jorg_stand (edict_t *self) mframe_t jorg_frames_run [] = { - ai_run, 17, jorg_step_left, - ai_run, 0, NULL, - ai_run, 0, NULL, - ai_run, 0, NULL, - ai_run, 12, NULL, - ai_run, 8, NULL, - ai_run, 10, NULL, - ai_run, 33, jorg_step_right, - ai_run, 0, NULL, - ai_run, 0, NULL, - ai_run, 0, NULL, - ai_run, 9, NULL, - ai_run, 9, NULL, - ai_run, 9, NULL + {ai_run, 17, jorg_step_left}, + {ai_run, 0, NULL}, + {ai_run, 0, NULL}, + {ai_run, 0, NULL}, + {ai_run, 12, NULL}, + {ai_run, 8, NULL}, + {ai_run, 10, NULL}, + {ai_run, 33, jorg_step_right}, + {ai_run, 0, NULL}, + {ai_run, 0, NULL}, + {ai_run, 0, NULL}, + {ai_run, 9, NULL}, + {ai_run, 9, NULL}, + {ai_run, 9, NULL} }; mmove_t jorg_move_run = {FRAME_walk06, FRAME_walk19, jorg_frames_run, NULL}; @@ -169,41 +169,41 @@ mmove_t jorg_move_run = {FRAME_walk06, FRAME_walk19, jorg_frames_run, NULL}; mframe_t jorg_frames_start_walk [] = { - ai_walk, 5, NULL, - ai_walk, 6, NULL, - ai_walk, 7, NULL, - ai_walk, 9, NULL, - ai_walk, 15, NULL + {ai_walk, 5, NULL}, + {ai_walk, 6, NULL}, + {ai_walk, 7, NULL}, + {ai_walk, 9, NULL}, + {ai_walk, 15, NULL} }; mmove_t jorg_move_start_walk = {FRAME_walk01, FRAME_walk05, jorg_frames_start_walk, NULL}; mframe_t jorg_frames_walk [] = { - ai_walk, 17, NULL, - ai_walk, 0, NULL, - ai_walk, 0, NULL, - ai_walk, 0, NULL, - ai_walk, 12, NULL, - ai_walk, 8, NULL, - ai_walk, 10, NULL, - ai_walk, 33, NULL, - ai_walk, 0, NULL, - ai_walk, 0, NULL, - ai_walk, 0, NULL, - ai_walk, 9, NULL, - ai_walk, 9, NULL, - ai_walk, 9, NULL + {ai_walk, 17, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 12, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 10, NULL}, + {ai_walk, 33, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 9, NULL}, + {ai_walk, 9, NULL}, + {ai_walk, 9, NULL} }; mmove_t jorg_move_walk = {FRAME_walk06, FRAME_walk19, jorg_frames_walk, NULL}; mframe_t jorg_frames_end_walk [] = { - ai_walk, 11, NULL, - ai_walk, 0, NULL, - ai_walk, 0, NULL, - ai_walk, 0, NULL, - ai_walk, 8, NULL, - ai_walk, -8, NULL + {ai_walk, 11, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 0, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, -8, NULL} }; mmove_t jorg_move_end_walk = {FRAME_walk20, FRAME_walk25, jorg_frames_end_walk, NULL}; @@ -222,153 +222,153 @@ void jorg_run (edict_t *self) mframe_t jorg_frames_pain3 [] = { - ai_move, -28, NULL, - ai_move, -6, NULL, - ai_move, -3, jorg_step_left, - ai_move, -9, NULL, - ai_move, 0, jorg_step_right, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, -7, NULL, - ai_move, 1, NULL, - ai_move, -11, NULL, - ai_move, -4, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 10, NULL, - ai_move, 11, NULL, - ai_move, 0, NULL, - ai_move, 10, NULL, - ai_move, 3, NULL, - ai_move, 10, NULL, - ai_move, 7, jorg_step_left, - ai_move, 17, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, jorg_step_right + {ai_move, -28, NULL}, + {ai_move, -6, NULL}, + {ai_move, -3, jorg_step_left}, + {ai_move, -9, NULL}, + {ai_move, 0, jorg_step_right}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, -7, NULL}, + {ai_move, 1, NULL}, + {ai_move, -11, NULL}, + {ai_move, -4, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 10, NULL}, + {ai_move, 11, NULL}, + {ai_move, 0, NULL}, + {ai_move, 10, NULL}, + {ai_move, 3, NULL}, + {ai_move, 10, NULL}, + {ai_move, 7, jorg_step_left}, + {ai_move, 17, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, jorg_step_right} }; mmove_t jorg_move_pain3 = {FRAME_pain301, FRAME_pain325, jorg_frames_pain3, jorg_run}; mframe_t jorg_frames_pain2 [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t jorg_move_pain2 = {FRAME_pain201, FRAME_pain203, jorg_frames_pain2, jorg_run}; mframe_t jorg_frames_pain1 [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t jorg_move_pain1 = {FRAME_pain101, FRAME_pain103, jorg_frames_pain1, jorg_run}; mframe_t jorg_frames_death1 [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 10 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 20 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 30 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 40 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, MakronToss, - ai_move, 0, BossExplode // 50 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 10 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 20 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 30 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 40 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, MakronToss}, + {ai_move, 0, BossExplode} // 50 }; mmove_t jorg_move_death = {FRAME_death01, FRAME_death50, jorg_frames_death1, jorg_dead}; mframe_t jorg_frames_attack2 []= { - 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, jorgBFG, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, jorgBFG}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t jorg_move_attack2 = {FRAME_attak201, FRAME_attak213, jorg_frames_attack2, jorg_run}; mframe_t jorg_frames_start_attack1 [] = { - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL} }; mmove_t jorg_move_start_attack1 = {FRAME_attak101, FRAME_attak108, jorg_frames_start_attack1, jorg_attack1}; mframe_t jorg_frames_attack1[]= { - ai_charge, 0, jorg_firebullet, - ai_charge, 0, jorg_firebullet, - ai_charge, 0, jorg_firebullet, - ai_charge, 0, jorg_firebullet, - ai_charge, 0, jorg_firebullet, - ai_charge, 0, jorg_firebullet + {ai_charge, 0, jorg_firebullet}, + {ai_charge, 0, jorg_firebullet}, + {ai_charge, 0, jorg_firebullet}, + {ai_charge, 0, jorg_firebullet}, + {ai_charge, 0, jorg_firebullet}, + {ai_charge, 0, jorg_firebullet} }; mmove_t jorg_move_attack1 = {FRAME_attak109, FRAME_attak114, jorg_frames_attack1, jorg_reattack1}; mframe_t jorg_frames_end_attack1[]= { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t jorg_move_end_attack1 = {FRAME_attak115, FRAME_attak118, jorg_frames_end_attack1, jorg_run}; @@ -451,7 +451,7 @@ void jorg_pain (edict_t *self, edict_t *other, float kick, int damage) self->monsterinfo.currentmove = &jorg_move_pain3; } } -}; +} void jorgBFG (edict_t *self) { @@ -468,15 +468,7 @@ void jorgBFG (edict_t *self) VectorSubtract (vec, start, dir); VectorNormalize (dir); gi.sound (self, CHAN_VOICE, sound_attack2, 1, ATTN_NORM, 0); - /*void monster_fire_bfg (edict_t *self, - vec3_t start, - vec3_t aimdir, - int damage, - int speed, - int kick, - float damage_radius, - int flashtype)*/ - monster_fire_bfg (self, start, dir, 50, 300, 100, 200, MZ2_JORG_BFG_1); + monster_fire_bfg (self, start, dir, 50, 300, 100, 200, MZ2_JORG_BFG_1); } void jorg_firebullet_right (edict_t *self) @@ -527,7 +519,7 @@ void jorg_firebullet (edict_t *self) { jorg_firebullet_left(self); jorg_firebullet_right(self); -}; +} void jorg_attack(edict_t *self) { @@ -552,30 +544,6 @@ void jorg_attack(edict_t *self) void jorg_dead (edict_t *self) { -#if 0 - edict_t *tempent; - /* - VectorSet (self->mins, -16, -16, -24); - VectorSet (self->maxs, 16, 16, -8); - */ - - // Jorg is on modelindex2. Do not clear him. - VectorSet (self->mins, -60, -60, 0); - VectorSet (self->maxs, 60, 60, 72); - self->movetype = MOVETYPE_TOSS; - self->nextthink = 0; - gi.linkentity (self); - - tempent = G_Spawn(); - VectorCopy (self->s.origin, tempent->s.origin); - VectorCopy (self->s.angles, tempent->s.angles); - tempent->killtarget = self->killtarget; - tempent->target = self->target; - tempent->activator = self->enemy; - self->killtarget = 0; - self->target = 0; - SP_monster_makron (tempent); -#endif } @@ -601,7 +569,7 @@ qboolean Jorg_CheckAttack (edict_t *self) if (self->enemy->health > 0) { - // see if any entities are in the way of the shot + // see if any entities are in the way of the shot VectorCopy (self->s.origin, spot1); spot1[2] += self->viewheight; VectorCopy (self->enemy->s.origin, spot2); @@ -632,7 +600,7 @@ qboolean Jorg_CheckAttack (edict_t *self) return true; } -// missile attack + // missile attack if (!self->monsterinfo.attack) return false; @@ -684,8 +652,16 @@ qboolean Jorg_CheckAttack (edict_t *self) void MakronPrecache (void); -void SP_monster_jorg_precache(void) +/*QUAKED monster_jorg (1 .5 0) (-80 -80 0) (90 90 140) Ambush Trigger_Spawn Sight +*/ +void SP_monster_jorg (edict_t *self) { + if (deathmatch->value) + { + G_FreeEdict (self); + return; + } + sound_pain1 = gi.soundindex ("boss3/bs3pain1.wav"); sound_pain2 = gi.soundindex ("boss3/bs3pain2.wav"); sound_pain3 = gi.soundindex ("boss3/bs3pain3.wav"); @@ -703,20 +679,6 @@ void SP_monster_jorg_precache(void) MakronPrecache (); -} - -/*QUAKED monster_jorg (1 .5 0) (-80 -80 0) (90 90 140) Ambush Trigger_Spawn Sight -*/ -void SP_monster_jorg (edict_t *self) -{ - if (deathmatch->value) - { - G_FreeEdict (self); - return; - } - - SP_monster_jorg_precache(); - self->movetype = MOVETYPE_STEP; self->solid = SOLID_BBOX; self->s.modelindex = gi.modelindex ("models/monsters/boss3/rider/tris.md2"); @@ -746,3 +708,4 @@ void SP_monster_jorg (edict_t *self) walkmonster_start(self); } + diff --git a/src/m_boss32.c b/src/m_boss32.c index 2126db8..dea7dba 100644 --- a/src/m_boss32.c +++ b/src/m_boss32.c @@ -53,66 +53,66 @@ void makron_taunt (edict_t *self) mframe_t makron_frames_stand []= { - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 10 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 20 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 30 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 40 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, // 50 - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL, - ai_stand, 0, NULL // 60 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 10 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 20 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 30 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 40 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, // 50 + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL}, + {ai_stand, 0, NULL} // 60 }; mmove_t makron_move_stand = {FRAME_stand201, FRAME_stand260, makron_frames_stand, NULL}; @@ -123,16 +123,16 @@ void makron_stand (edict_t *self) mframe_t makron_frames_run [] = { - ai_run, 3, makron_step_left, - ai_run, 12, NULL, - ai_run, 8, NULL, - ai_run, 8, NULL, - ai_run, 8, makron_step_right, - ai_run, 6, NULL, - ai_run, 12, NULL, - ai_run, 9, NULL, - ai_run, 6, NULL, - ai_run, 12, NULL + {ai_run, 3, makron_step_left}, + {ai_run, 12, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, NULL}, + {ai_run, 8, makron_step_right}, + {ai_run, 6, NULL}, + {ai_run, 12, NULL}, + {ai_run, 9, NULL}, + {ai_run, 6, NULL}, + {ai_run, 12, NULL} }; mmove_t makron_move_run = {FRAME_walk204, FRAME_walk213, makron_frames_run, NULL}; @@ -169,16 +169,16 @@ void makron_prerailgun (edict_t *self) mframe_t makron_frames_walk [] = { - ai_walk, 3, makron_step_left, - ai_walk, 12, NULL, - ai_walk, 8, NULL, - ai_walk, 8, NULL, - ai_walk, 8, makron_step_right, - ai_walk, 6, NULL, - ai_walk, 12, NULL, - ai_walk, 9, NULL, - ai_walk, 6, NULL, - ai_walk, 12, NULL + {ai_walk, 3, makron_step_left}, + {ai_walk, 12, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, NULL}, + {ai_walk, 8, makron_step_right}, + {ai_walk, 6, NULL}, + {ai_walk, 12, NULL}, + {ai_walk, 9, NULL}, + {ai_walk, 6, NULL}, + {ai_walk, 12, NULL} }; mmove_t makron_move_walk = {FRAME_walk204, FRAME_walk213, makron_frames_run, NULL}; @@ -197,194 +197,194 @@ void makron_run (edict_t *self) mframe_t makron_frames_pain6 [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 10 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, makron_popup, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 20 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, makron_taunt, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 10 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, makron_popup}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 20 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, makron_taunt}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_pain6 = {FRAME_pain601, FRAME_pain627, makron_frames_pain6, makron_run}; mframe_t makron_frames_pain5 [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_pain5 = {FRAME_pain501, FRAME_pain504, makron_frames_pain5, makron_run}; mframe_t makron_frames_pain4 [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_pain4 = {FRAME_pain401, FRAME_pain404, makron_frames_pain4, makron_run}; mframe_t makron_frames_death2 [] = { - ai_move, -15, NULL, - ai_move, 3, NULL, - ai_move, -12, NULL, - ai_move, 0, makron_step_left, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 10 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 11, NULL, - ai_move, 12, NULL, - ai_move, 11, makron_step_right, - ai_move, 0, NULL, - ai_move, 0, NULL, // 20 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 30 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 5, NULL, - ai_move, 7, NULL, - ai_move, 6, makron_step_left, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, -1, NULL, - ai_move, 2, NULL, // 40 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 50 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, -6, NULL, - ai_move, -4, NULL, - ai_move, -6, makron_step_right, - ai_move, -4, NULL, - ai_move, -4, makron_step_left, - ai_move, 0, NULL, - ai_move, 0, NULL, // 60 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, -2, NULL, - ai_move, -5, NULL, - ai_move, -3, makron_step_right, - ai_move, -8, NULL, - ai_move, -3, makron_step_left, - ai_move, -7, NULL, - ai_move, -4, NULL, - ai_move, -4, makron_step_right, // 70 - ai_move, -6, NULL, - ai_move, -7, NULL, - ai_move, 0, makron_step_left, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, // 80 - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, -2, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 2, NULL, - ai_move, 0, NULL, // 90 - ai_move, 27, makron_hit, - ai_move, 26, NULL, - ai_move, 0, makron_brainsplorch, - ai_move, 0, NULL, - ai_move, 0, NULL // 95 + {ai_move, -15, NULL}, + {ai_move, 3, NULL}, + {ai_move, -12, NULL}, + {ai_move, 0, makron_step_left}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 10 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 11, NULL}, + {ai_move, 12, NULL}, + {ai_move, 11, makron_step_right}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 20 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 30 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 5, NULL}, + {ai_move, 7, NULL}, + {ai_move, 6, makron_step_left}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, -1, NULL}, + {ai_move, 2, NULL}, // 40 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 50 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, -6, NULL}, + {ai_move, -4, NULL}, + {ai_move, -6, makron_step_right}, + {ai_move, -4, NULL}, + {ai_move, -4, makron_step_left}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 60 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, -2, NULL}, + {ai_move, -5, NULL}, + {ai_move, -3, makron_step_right}, + {ai_move, -8, NULL}, + {ai_move, -3, makron_step_left}, + {ai_move, -7, NULL}, + {ai_move, -4, NULL}, + {ai_move, -4, makron_step_right}, // 70 + {ai_move, -6, NULL}, + {ai_move, -7, NULL}, + {ai_move, 0, makron_step_left}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, // 80 + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, -2, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 2, NULL}, + {ai_move, 0, NULL}, // 90 + {ai_move, 27, makron_hit}, + {ai_move, 26, NULL}, + {ai_move, 0, makron_brainsplorch}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} // 95 }; mmove_t makron_move_death2 = {FRAME_death201, FRAME_death295, makron_frames_death2, makron_dead}; mframe_t makron_frames_death3 [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_death3 = {FRAME_death301, FRAME_death320, makron_frames_death3, NULL}; mframe_t makron_frames_sight [] = { - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_sight= {FRAME_active01, FRAME_active13, makron_frames_sight, makron_run}; @@ -415,66 +415,66 @@ void makronBFG (edict_t *self) mframe_t makron_frames_attack3 []= { - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, makronBFG, // FIXME: BFG Attack here - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, makronBFG}, // FIXME: BFG Attack here + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_attack3 = {FRAME_attak301, FRAME_attak308, makron_frames_attack3, makron_run}; mframe_t makron_frames_attack4[]= { - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_charge, 0, NULL, - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, MakronHyperblaster, // fire - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_charge, 0, NULL}, + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, MakronHyperblaster}, // fire + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_attack4 = {FRAME_attak401, FRAME_attak426, makron_frames_attack4, makron_run}; mframe_t makron_frames_attack5[]= { - ai_charge, 0, makron_prerailgun, - 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, MakronSaveloc, - ai_move, 0, MakronRailgun, // Fire railgun - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL, - ai_move, 0, NULL + {ai_charge, 0, makron_prerailgun}, + {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, MakronSaveloc}, + {ai_move, 0, MakronRailgun}, // Fire railgun + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL}, + {ai_move, 0, NULL} }; mmove_t makron_move_attack5 = {FRAME_attak501, FRAME_attak516, makron_frames_attack5, makron_run}; @@ -482,7 +482,7 @@ void MakronSaveloc (edict_t *self) { VectorCopy (self->enemy->s.origin, self->pos1); //save for aiming the shot self->pos1[2] += self->enemy->viewheight; -}; +} // FIXME: He's not firing from the proper Z void MakronRailgun (edict_t *self) @@ -571,24 +571,26 @@ void makron_pain (edict_t *self, edict_t *other, float kick, int damage) else { if (damage <= 150) + { if (random() <= 0.45) { gi.sound (self, CHAN_VOICE, sound_pain6, 1, ATTN_NONE,0); self->monsterinfo.currentmove = &makron_move_pain6; } - else + else if (random() <= 0.35) { gi.sound (self, CHAN_VOICE, sound_pain6, 1, ATTN_NONE,0); self->monsterinfo.currentmove = &makron_move_pain6; } + } } -}; +} void makron_sight(edict_t *self, edict_t *other) { self->monsterinfo.currentmove = &makron_move_sight; -}; +} void makron_attack(edict_t *self) { @@ -680,7 +682,7 @@ void makron_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damag if (self->deadflag == DEAD_DEAD) return; -// regular death + // regular death gi.sound (self, CHAN_VOICE, sound_death, 1, ATTN_NONE, 0); self->deadflag = DEAD_DEAD; self->takedamage = DAMAGE_YES; @@ -738,7 +740,7 @@ qboolean Makron_CheckAttack (edict_t *self) return true; } -// missile attack + // missile attack if (!self->monsterinfo.attack) return false; @@ -847,7 +849,6 @@ void SP_monster_makron (edict_t *self) gi.linkentity (self); -// self->monsterinfo.currentmove = &makron_move_stand; self->monsterinfo.currentmove = &makron_move_sight; self->monsterinfo.scale = MODEL_SCALE; @@ -898,3 +899,4 @@ void MakronToss (edict_t *self) ent->target = self->target; VectorCopy (self->s.origin, ent->s.origin); } +