mirror of
https://github.com/yquake2/zaero.git
synced 2024-11-25 05:11:18 +00:00
Weapon, Trigger, Sentien und Spwan aufgeräumt
This commit is contained in:
parent
3492d05a57
commit
4a9bfc2cf3
4 changed files with 309 additions and 384 deletions
625
src/z_sentien.c
625
src/z_sentien.c
|
@ -96,95 +96,95 @@ void sentian_sound_die2(edict_t *self)
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
mframe_t sentien_frames_stand1 []=
|
mframe_t sentien_frames_stand1 []=
|
||||||
{
|
{
|
||||||
ai_stand, 0, sentien_sound_idle1,
|
{ai_stand, 0, sentien_sound_idle1},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL
|
{ai_stand, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_stand2 []=
|
mframe_t sentien_frames_stand2 []=
|
||||||
{
|
{
|
||||||
ai_stand, 0, sentien_sound_idle2,
|
{ai_stand, 0, sentien_sound_idle2},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_stand3 []=
|
mframe_t sentien_frames_stand3 []=
|
||||||
{
|
{
|
||||||
ai_stand, 0, sentien_sound_idle1,
|
{ai_stand, 0, sentien_sound_idle1},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
ai_stand, 0, NULL,
|
{ai_stand, 0, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_stand(edict_t *self);
|
void sentien_stand(edict_t *self);
|
||||||
|
@ -235,7 +235,6 @@ void sentien_stand_earwax(edict_t *self)
|
||||||
{
|
{
|
||||||
//more ear wax damn it, try again
|
//more ear wax damn it, try again
|
||||||
self->monsterinfo.currentmove = &sentien_move_stand3;
|
self->monsterinfo.currentmove = &sentien_move_stand3;
|
||||||
//gi.sound ... some frustration maybe
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
sentien_stand_whatnow(self);
|
sentien_stand_whatnow(self);
|
||||||
|
@ -246,51 +245,47 @@ void sentien_stand_earwax(edict_t *self)
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
mframe_t sentien_frames_walk_start []=
|
mframe_t sentien_frames_walk_start []=
|
||||||
{
|
{
|
||||||
ai_walk, 0.0, NULL,
|
{ai_walk, 0.0, NULL},
|
||||||
ai_walk, 1.5, NULL,
|
{ai_walk, 1.5, NULL},
|
||||||
ai_walk, 2.9, NULL,
|
{ai_walk, 2.9, NULL},
|
||||||
ai_walk, 2.4, NULL,
|
{ai_walk, 2.4, NULL},
|
||||||
ai_walk, 2.1, NULL,
|
{ai_walk, 2.1, NULL},
|
||||||
ai_walk, 2.6, NULL,
|
{ai_walk, 2.6, NULL},
|
||||||
ai_walk, 2.1, NULL,
|
{ai_walk, 2.1, NULL},
|
||||||
ai_walk, 1.8, sentien_sound_footstep,
|
{ai_walk, 1.8, sentien_sound_footstep},
|
||||||
//ai_walk, 0.3, NULL
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_walk []=
|
mframe_t sentien_frames_walk []=
|
||||||
{
|
{
|
||||||
ai_walk, 0.3, NULL,
|
{ai_walk, 0.3, NULL},
|
||||||
ai_walk, 2.4, NULL,
|
{ai_walk, 2.4, NULL},
|
||||||
ai_walk, 4.0, NULL,
|
{ai_walk, 4.0, NULL},
|
||||||
ai_walk, 3.5, NULL,
|
{ai_walk, 3.5, NULL},
|
||||||
ai_walk, 3.6, NULL,
|
{ai_walk, 3.6, NULL},
|
||||||
ai_walk, 3.7 * 1.1, NULL,
|
{ai_walk, 3.7 * 1.1, NULL},
|
||||||
ai_walk, 3.1 * 1.3, NULL,
|
{ai_walk, 3.1 * 1.3, NULL},
|
||||||
ai_walk, 4.1 * 1.2, sentien_sound_footstep,
|
{ai_walk, 4.1 * 1.2, sentien_sound_footstep},
|
||||||
//ai_walk, 2.0, NULL, // change leg
|
|
||||||
|
|
||||||
ai_walk, 2.0, NULL,
|
{ai_walk, 2.0, NULL},
|
||||||
ai_walk, 2.6, NULL, // 2.4
|
{ai_walk, 2.6, NULL}, // 2.4
|
||||||
ai_walk, 3.8, NULL, // 3.9
|
{ai_walk, 3.8, NULL}, // 3.9
|
||||||
ai_walk, 3.6, NULL,
|
{ai_walk, 3.6, NULL},
|
||||||
ai_walk, 3.6, NULL,
|
{ai_walk, 3.6, NULL},
|
||||||
ai_walk, 4.3, NULL,
|
{ai_walk, 4.3, NULL},
|
||||||
ai_walk, 4.2 * 1.2, NULL,
|
{ai_walk, 4.2 * 1.2, NULL},
|
||||||
ai_walk, 5.2, sentien_sound_footstep, // 4.1
|
{ai_walk, 5.2, sentien_sound_footstep}, // 4.1
|
||||||
//ai_walk, 0.8, NULL // 2.0 change leg
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_walk_end []=
|
mframe_t sentien_frames_walk_end []=
|
||||||
{
|
{
|
||||||
ai_walk, 0.8, NULL,
|
{ai_walk, 0.8, NULL},
|
||||||
ai_walk, 1.0, NULL,
|
{ai_walk, 1.0, NULL},
|
||||||
ai_walk, 1.6, NULL,
|
{ai_walk, 1.6, NULL},
|
||||||
ai_walk, 1.4, NULL,
|
{ai_walk, 1.4, NULL},
|
||||||
ai_walk, 1.5, NULL,
|
{ai_walk, 1.5, NULL},
|
||||||
ai_walk, 1.4, NULL,
|
{ai_walk, 1.4, NULL},
|
||||||
ai_walk, 1.5, NULL,
|
{ai_walk, 1.5, NULL},
|
||||||
ai_walk, 1.8, sentien_sound_footstep,
|
{ai_walk, 1.8, sentien_sound_footstep},
|
||||||
//ai_walk, 2.3, NULL // ??? I dunno about that one (Max)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_walk(edict_t *self);
|
void sentien_walk(edict_t *self);
|
||||||
|
@ -329,51 +324,47 @@ void sentien_walk(edict_t *self)
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
mframe_t sentien_frames_run_start []=
|
mframe_t sentien_frames_run_start []=
|
||||||
{
|
{
|
||||||
ai_run, 0.0, NULL,
|
{ai_run, 0.0, NULL},
|
||||||
ai_run, 1.5, NULL,
|
{ai_run, 1.5, NULL},
|
||||||
ai_run, 2.9, NULL,
|
{ai_run, 2.9, NULL},
|
||||||
ai_run, 2.4, NULL,
|
{ai_run, 2.4, NULL},
|
||||||
ai_run, 2.1, NULL,
|
{ai_run, 2.1, NULL},
|
||||||
ai_run, 2.6, NULL,
|
{ai_run, 2.6, NULL},
|
||||||
ai_run, 2.1, NULL,
|
{ai_run, 2.1, NULL},
|
||||||
ai_run, 1.8, sentien_sound_footstep,
|
{ai_run, 1.8, sentien_sound_footstep},
|
||||||
//ai_run, 0.3, NULL
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_run []=
|
mframe_t sentien_frames_run []=
|
||||||
{
|
{
|
||||||
ai_run, 0.3 * 1.2, NULL,
|
{ai_run, 0.3 * 1.2, NULL},
|
||||||
ai_run, 2.4, NULL,
|
{ai_run, 2.4, NULL},
|
||||||
ai_run, 4.0, NULL,
|
{ai_run, 4.0, NULL},
|
||||||
ai_run, 3.5, NULL,
|
{ai_run, 3.5, NULL},
|
||||||
ai_run, 3.6, NULL,
|
{ai_run, 3.6, NULL},
|
||||||
ai_run, 3.7 * 1.1, NULL,
|
{ai_run, 3.7 * 1.1, NULL},
|
||||||
ai_run, 3.1 * 1.3, NULL,
|
{ai_run, 3.1 * 1.3, NULL},
|
||||||
ai_run, 4.1 * 1.2, sentien_sound_footstep,
|
{ai_run, 4.1 * 1.2, sentien_sound_footstep},
|
||||||
//ai_run, 2.0, NULL, // change leg
|
|
||||||
|
|
||||||
ai_run, 2.0, NULL,
|
{ai_run, 2.0, NULL},
|
||||||
ai_run, 2.6, NULL, // 2.4
|
{ai_run, 2.6, NULL}, // 2.4
|
||||||
ai_run, 3.8, NULL, // 3.9
|
{ai_run, 3.8, NULL}, // 3.9
|
||||||
ai_run, 3.6, NULL,
|
{ai_run, 3.6, NULL},
|
||||||
ai_run, 3.6, NULL,
|
{ai_run, 3.6, NULL},
|
||||||
ai_run, 4.3, NULL,
|
{ai_run, 4.3, NULL},
|
||||||
ai_run, 4.2 * 1.2, NULL,
|
{ai_run, 4.2 * 1.2, NULL},
|
||||||
ai_run, 5.2, sentien_sound_footstep, // 4.1
|
{ai_run, 5.2, sentien_sound_footstep}, // 4.1
|
||||||
//ai_run, 0.8, NULL // 2.0 change leg
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_run_end []=
|
mframe_t sentien_frames_run_end []=
|
||||||
{
|
{
|
||||||
ai_run, 0.8, NULL,
|
{ai_run, 0.8, NULL},
|
||||||
ai_run, 1.0, NULL,
|
{ai_run, 1.0, NULL},
|
||||||
ai_run, 1.6, NULL,
|
{ai_run, 1.6, NULL},
|
||||||
ai_run, 1.4, NULL,
|
{ai_run, 1.4, NULL},
|
||||||
ai_run, 1.5, NULL,
|
{ai_run, 1.5, NULL},
|
||||||
ai_run, 1.4, NULL,
|
{ai_run, 1.4, NULL},
|
||||||
ai_run, 1.5, NULL,
|
{ai_run, 1.5, NULL},
|
||||||
ai_run, 1.8, sentien_sound_footstep,
|
{ai_run, 1.8, sentien_sound_footstep},
|
||||||
//ai_run, 2.3, NULL // ??? I dunno about that one (Max)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_run(edict_t *self);
|
void sentien_run(edict_t *self);
|
||||||
|
@ -411,8 +402,6 @@ void sentien_run(edict_t *self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*=========================================================================
|
/*=========================================================================
|
||||||
Sentien blaster attack.
|
Sentien blaster attack.
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
|
@ -420,28 +409,28 @@ void sentien_do_blast(edict_t *self);
|
||||||
|
|
||||||
mframe_t sentien_frames_pre_blast_attack []=
|
mframe_t sentien_frames_pre_blast_attack []=
|
||||||
{
|
{
|
||||||
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}
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_blast_attack []=
|
mframe_t sentien_frames_blast_attack []=
|
||||||
{
|
{
|
||||||
ai_charge, 0, sentien_do_blast,
|
{ai_charge, 0, sentien_do_blast},
|
||||||
ai_charge, 0, sentien_do_blast,
|
{ai_charge, 0, sentien_do_blast},
|
||||||
ai_charge, 0, sentien_do_blast,
|
{ai_charge, 0, sentien_do_blast},
|
||||||
ai_charge, 0, sentien_do_blast,
|
{ai_charge, 0, sentien_do_blast},
|
||||||
ai_charge, 0, sentien_do_blast,
|
{ai_charge, 0, sentien_do_blast},
|
||||||
ai_charge, 0, sentien_do_blast,
|
{ai_charge, 0, sentien_do_blast},
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_post_blast_attack []=
|
mframe_t sentien_frames_post_blast_attack []=
|
||||||
{
|
{
|
||||||
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},
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_blast_attack(edict_t *self);
|
void sentien_blast_attack(edict_t *self);
|
||||||
|
@ -513,13 +502,13 @@ void sentien_fire_bullet (edict_t *self, vec3_t start, vec3_t dir, int damage)
|
||||||
vec3_t sentien_flash_offset [] =
|
vec3_t sentien_flash_offset [] =
|
||||||
{
|
{
|
||||||
// frames 116+ (hex fire)
|
// frames 116+ (hex fire)
|
||||||
23.7, 25.4, 29.6,
|
{23.7, 25.4, 29.6},
|
||||||
23.7, 25.3, 26.7,
|
{23.7, 25.3, 26.7},
|
||||||
23.7, 27.7, 28.1,
|
{23.7, 27.7, 28.1},
|
||||||
23.7, 27.4, 31.2,
|
{23.7, 27.4, 31.2},
|
||||||
23.7, 24.9, 32.3,
|
{23.7, 24.9, 32.3},
|
||||||
23.7, 22.5, 30.6,
|
{23.7, 22.5, 30.6},
|
||||||
23.7, 22.7, 27.8
|
{23.7, 22.7, 27.8}
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_do_blast(edict_t *self)
|
void sentien_do_blast(edict_t *self)
|
||||||
|
@ -547,9 +536,6 @@ void sentien_do_blast(edict_t *self)
|
||||||
G_ProjectSource (self->s.origin, sentien_flash_offset[idx],
|
G_ProjectSource (self->s.origin, sentien_flash_offset[idx],
|
||||||
forward, right, start);
|
forward, right, start);
|
||||||
|
|
||||||
//monster_fire_blaster(self, start, aim, 2, 1000,
|
|
||||||
// MZ2_MEDIC_BLASTER_1, EF_HYPERBLASTER);
|
|
||||||
|
|
||||||
if(EMPNukeCheck(self, start))
|
if(EMPNukeCheck(self, start))
|
||||||
{
|
{
|
||||||
gi.sound (self, CHAN_AUTO, gi.soundindex("items/empnuke/emp_missfire.wav"), 1, ATTN_NORM, 0);
|
gi.sound (self, CHAN_AUTO, gi.soundindex("items/empnuke/emp_missfire.wav"), 1, ATTN_NORM, 0);
|
||||||
|
@ -567,34 +553,34 @@ void sentien_do_laser(edict_t *self);
|
||||||
|
|
||||||
mframe_t sentien_frames_pre_laser_attack []=
|
mframe_t sentien_frames_pre_laser_attack []=
|
||||||
{
|
{
|
||||||
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}
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_laser_attack []=
|
mframe_t sentien_frames_laser_attack []=
|
||||||
{
|
{
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser,
|
{NULL, 0, sentien_do_laser},
|
||||||
NULL, 0, sentien_do_laser
|
{NULL, 0, sentien_do_laser}
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_post_laser_attack []=
|
mframe_t sentien_frames_post_laser_attack []=
|
||||||
{
|
{
|
||||||
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}
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_laser_attack(edict_t *self);
|
void sentien_laser_attack(edict_t *self);
|
||||||
|
@ -634,17 +620,17 @@ void blaster_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *
|
||||||
|
|
||||||
vec3_t sentien_laser_offset [] =
|
vec3_t sentien_laser_offset [] =
|
||||||
{
|
{
|
||||||
43.8, -22.8 + 1, 43.6 - 0.8,
|
{43.8, -22.8 + 1, 43.6 - 0.8},
|
||||||
44.2, -22.9 + 1, 43.9 - 0.8,
|
{44.2, -22.9 + 1, 43.9 - 0.8},
|
||||||
43.9, -22.8 + 1, 44.0 - 0.8,
|
{43.9, -22.8 + 1, 44.0 - 0.8},
|
||||||
43.2, -23.0 + 1, 44.0 - 0.8,
|
{43.2, -23.0 + 1, 44.0 - 0.8},
|
||||||
42.4, -23.4 + 1, 43.9 - 0.8,
|
{42.4, -23.4 + 1, 43.9 - 0.8},
|
||||||
42.0, -23.5 + 1, 44.0 - 0.8,
|
{42.0, -23.5 + 1, 44.0 - 0.8},
|
||||||
42.4, -23.3 + 1, 44.0 - 0.8,
|
{42.4, -23.3 + 1, 44.0 - 0.8},
|
||||||
43.1, -23.1 + 1, 43.9 - 0.8,
|
{43.1, -23.1 + 1, 43.9 - 0.8},
|
||||||
43.8, -22.9 + 1, 43.9 - 0.8,
|
{43.8, -22.9 + 1, 43.9 - 0.8},
|
||||||
44.2, -22.8 + 1, 44.1 - 0.8,
|
{44.2, -22.8 + 1, 44.1 - 0.8},
|
||||||
43.8, -22.8 + 1, 43.5 - 0.8
|
{43.8, -22.8 + 1, 43.5 - 0.8}
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_do_laser(edict_t *self)
|
void sentien_do_laser(edict_t *self)
|
||||||
|
@ -761,21 +747,21 @@ void sentien_fend_hold (edict_t *self)
|
||||||
|
|
||||||
mframe_t sentien_frames_fend [] =
|
mframe_t sentien_frames_fend [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, sentian_sound_fend,
|
{ai_move, 0, sentian_sound_fend},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, sentien_fend_ready,
|
{ai_move, 0, sentien_fend_ready},
|
||||||
ai_move, 0, sentien_fend_hold,
|
{ai_move, 0, sentien_fend_hold},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 sentien_move_fend = {FRAME_dodgeStart, FRAME_dodgeEnd, sentien_frames_fend, sentien_run};
|
mmove_t sentien_move_fend = {FRAME_dodgeStart, FRAME_dodgeEnd, sentien_frames_fend, sentien_run};
|
||||||
|
|
||||||
|
@ -814,45 +800,45 @@ void sentien_fend (edict_t *self, edict_t *attacker, float eta)
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
mframe_t sentien_frames_pain1 [] =
|
mframe_t sentien_frames_pain1 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL
|
{ai_move, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_pain2 [] =
|
mframe_t sentien_frames_pain2 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL
|
{ai_move, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_pain3 [] =
|
mframe_t sentien_frames_pain3 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
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 sentien_move_pain1 = {FRAME_pain1Start, FRAME_pain1End,
|
mmove_t sentien_move_pain1 = {FRAME_pain1Start, FRAME_pain1End,
|
||||||
|
@ -885,7 +871,6 @@ void sentien_pain (edict_t *self, edict_t *other, float kick, int damage)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// sentian_sound_pain3(self);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level.time < self->pain_debounce_time)
|
if (level.time < self->pain_debounce_time)
|
||||||
|
@ -924,67 +909,67 @@ void sentien_pain (edict_t *self, edict_t *other, float kick, int damage)
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
mframe_t sentien_frames_death1 [] =
|
mframe_t sentien_frames_death1 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, sentian_sound_die1,
|
{ai_move, 0, sentian_sound_die1},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL
|
{ai_move, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
mframe_t sentien_frames_death2 [] =
|
mframe_t sentien_frames_death2 [] =
|
||||||
{
|
{
|
||||||
ai_move, 0, sentian_sound_die2,
|
{ai_move, 0, sentian_sound_die2},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL,
|
{ai_move, 0, NULL},
|
||||||
ai_move, 0, NULL
|
{ai_move, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
void sentien_dead(edict_t *self);
|
void sentien_dead(edict_t *self);
|
||||||
|
@ -999,8 +984,8 @@ vec3_t sentien_death_offset [] =
|
||||||
// right, forward
|
// right, forward
|
||||||
// VectorSet (self->mins, -50, 6, -16);
|
// VectorSet (self->mins, -50, 6, -16);
|
||||||
// VectorSet (self->maxs, -12, 44, 0);
|
// VectorSet (self->maxs, -12, 44, 0);
|
||||||
6, -50, 0,
|
{6, -50, 0},
|
||||||
44, -12, 0
|
{44, -12, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MIN(x, y) (x < y) ? x: y
|
#define MIN(x, y) (x < y) ? x: y
|
||||||
|
@ -1076,7 +1061,6 @@ void create_sentien_laser(edict_t *self)
|
||||||
self->laser->solid = SOLID_BBOX;//SOLID_NOT;
|
self->laser->solid = SOLID_BBOX;//SOLID_NOT;
|
||||||
self->laser->s.renderfx = RF_BEAM|RF_TRANSLUCENT;
|
self->laser->s.renderfx = RF_BEAM|RF_TRANSLUCENT;
|
||||||
self->laser->s.modelindex = 2;
|
self->laser->s.modelindex = 2;
|
||||||
//self->laser->s.sound = gi.soundindex ("world/laser.wav");
|
|
||||||
self->laser->classname = "laser_yaya";
|
self->laser->classname = "laser_yaya";
|
||||||
self->laser->s.frame = 2;
|
self->laser->s.frame = 2;
|
||||||
self->laser->owner = self;
|
self->laser->owner = self;
|
||||||
|
@ -1103,17 +1087,14 @@ void SP_monster_sentien_precache(void)
|
||||||
|
|
||||||
sound_idle1 = gi.soundindex("monsters/sentien/sen_idle1.wav");
|
sound_idle1 = gi.soundindex("monsters/sentien/sen_idle1.wav");
|
||||||
sound_idle2 = gi.soundindex("monsters/sentien/sen_idle2.wav");
|
sound_idle2 = gi.soundindex("monsters/sentien/sen_idle2.wav");
|
||||||
// sound_idle3 = gi.soundindex("monsters/sentien/sen_idle3.wav");
|
|
||||||
sound_walk = gi.soundindex("monsters/sentien/sen_walk.wav");
|
sound_walk = gi.soundindex("monsters/sentien/sen_walk.wav");
|
||||||
sound_fend = gi.soundindex("monsters/sentien/sen_fend.wav");
|
sound_fend = gi.soundindex("monsters/sentien/sen_fend.wav");
|
||||||
sound_pain1 = gi.soundindex("monsters/sentien/sen_pain1.wav");
|
sound_pain1 = gi.soundindex("monsters/sentien/sen_pain1.wav");
|
||||||
sound_pain2 = gi.soundindex("monsters/sentien/sen_pain2.wav");
|
sound_pain2 = gi.soundindex("monsters/sentien/sen_pain2.wav");
|
||||||
// sound_pain3 = gi.soundindex("monsters/sentien/sen_pain3.wav");
|
|
||||||
sound_die1 = gi.soundindex("monsters/sentien/sen_die1.wav");
|
sound_die1 = gi.soundindex("monsters/sentien/sen_die1.wav");
|
||||||
sound_die2 = gi.soundindex("monsters/sentien/sen_die2.wav");
|
sound_die2 = gi.soundindex("monsters/sentien/sen_die2.wav");
|
||||||
sound_att1 = gi.soundindex("monsters/sentien/sen_att1.wav");
|
sound_att1 = gi.soundindex("monsters/sentien/sen_att1.wav");
|
||||||
sound_att2 = gi.soundindex("monsters/sentien/sen_att2.wav");
|
sound_att2 = gi.soundindex("monsters/sentien/sen_att2.wav");
|
||||||
// sound_att3 = gi.soundindex("monsters/sentien/sen_att3.wav");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1146,7 +1127,6 @@ void SP_monster_sentien(edict_t *self)
|
||||||
|
|
||||||
self->monsterinfo.reducedDamageAmount = 0.85;
|
self->monsterinfo.reducedDamageAmount = 0.85;
|
||||||
|
|
||||||
//self->classname = "sentien";
|
|
||||||
self->laser = NULL;
|
self->laser = NULL;
|
||||||
gi.linkentity(self);
|
gi.linkentity(self);
|
||||||
|
|
||||||
|
@ -1170,4 +1150,3 @@ void SP_monster_sentien(edict_t *self)
|
||||||
walkmonster_start(self);
|
walkmonster_start(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@ edict_t *FindZSpawn(int i)
|
||||||
{
|
{
|
||||||
edict_t *oldSpot = NULL;
|
edict_t *oldSpot = NULL;
|
||||||
edict_t *spot = NULL;
|
edict_t *spot = NULL;
|
||||||
//int i = rand() % 16;
|
|
||||||
|
|
||||||
while(i)
|
while(i)
|
||||||
{
|
{
|
||||||
|
@ -140,3 +139,4 @@ void Z_SpawnDMItems()
|
||||||
}
|
}
|
||||||
gi.dprintf ("%i Zaero entities added\n", added);
|
gi.dprintf ("%i Zaero entities added\n", added);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -200,11 +200,6 @@ void SP_trigger_laser(edict_t *self)
|
||||||
gi.linkentity (self);
|
gi.linkentity (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*QUAKED misc_commdish (0 .5 .8) (-16 -16 0) (16 16 40)
|
/*QUAKED misc_commdish (0 .5 .8) (-16 -16 0) (16 16 40)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -254,3 +249,4 @@ void SP_misc_commdish (edict_t *self)
|
||||||
|
|
||||||
gi.linkentity (self);
|
gi.linkentity (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -161,9 +161,6 @@ void tripbomb_laser_think (edict_t *self)
|
||||||
|
|
||||||
if (level.time > self->timeout)
|
if (level.time > self->timeout)
|
||||||
{
|
{
|
||||||
// play a sound
|
|
||||||
//gi.sound(self, CHAN_VOICE, gi.soundindex("weapons/ired/las_trig.wav"), 1, ATTN_NORM, 0);
|
|
||||||
|
|
||||||
// blow up
|
// blow up
|
||||||
self->chain->think = TripBomb_Explode;
|
self->chain->think = TripBomb_Explode;
|
||||||
self->chain->nextthink = level.time + FRAMETIME;
|
self->chain->nextthink = level.time + FRAMETIME;
|
||||||
|
@ -174,7 +171,6 @@ void tripbomb_laser_think (edict_t *self)
|
||||||
// randomly phase out or EMPNuke is in effect
|
// randomly phase out or EMPNuke is in effect
|
||||||
if (EMPNukeCheck(self, self->s.origin) || random() < 0.1)
|
if (EMPNukeCheck(self, self->s.origin) || random() < 0.1)
|
||||||
{
|
{
|
||||||
self->svflags != SVF_NOCLIENT;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,9 +201,6 @@ void tripbomb_laser_think (edict_t *self)
|
||||||
}
|
}
|
||||||
else if (VectorLength(delta) > 1.0)
|
else if (VectorLength(delta) > 1.0)
|
||||||
{
|
{
|
||||||
// play a sound
|
|
||||||
//gi.sound(self, CHAN_VOICE, gi.soundindex("weapons/ired/las_trig.wav"), 1, ATTN_NORM, 0);
|
|
||||||
|
|
||||||
// blow up
|
// blow up
|
||||||
self->chain->think = TripBomb_Explode;
|
self->chain->think = TripBomb_Explode;
|
||||||
self->chain->nextthink = level.time + FRAMETIME;
|
self->chain->nextthink = level.time + FRAMETIME;
|
||||||
|
@ -225,7 +218,6 @@ void tripbomb_laser_on (edict_t *self)
|
||||||
// play a sound
|
// play a sound
|
||||||
gi.sound(self, CHAN_VOICE, gi.soundindex("weapons/ired/las_arm.wav"), 1, ATTN_NORM, 0);
|
gi.sound(self, CHAN_VOICE, gi.soundindex("weapons/ired/las_arm.wav"), 1, ATTN_NORM, 0);
|
||||||
tripbomb_laser_think(self);
|
tripbomb_laser_think(self);
|
||||||
//gi.positioned_sound(self->s.old_origin, self, CHAN_AUTO, gi.soundindex("weapons/ired/las_tink.wav"), 1, ATTN_NORM, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void create_tripbomb_laser(edict_t *bomb)
|
void create_tripbomb_laser(edict_t *bomb)
|
||||||
|
@ -277,9 +269,6 @@ void turnOffGlow(edict_t *self)
|
||||||
|
|
||||||
void tripbomb_pain(edict_t *self, edict_t *other, float kick, int damage)
|
void tripbomb_pain(edict_t *self, edict_t *other, float kick, int damage)
|
||||||
{
|
{
|
||||||
// play the green glow sound
|
|
||||||
//gi.sound(self, CHAN_VOICE, gi.soundindex("weapons/ired/las_glow.wav"), 1, ATTN_NORM, 0);
|
|
||||||
|
|
||||||
// turn on the glow
|
// turn on the glow
|
||||||
self->damage_debounce_time = level.time + 0.2;
|
self->damage_debounce_time = level.time + 0.2;
|
||||||
|
|
||||||
|
@ -373,7 +362,6 @@ qboolean fire_lasertripbomb(edict_t *self, vec3_t start, vec3_t dir, float timer
|
||||||
vec3_t endPos;
|
vec3_t endPos;
|
||||||
vec3_t _dir;
|
vec3_t _dir;
|
||||||
edict_t *bomb = NULL;
|
edict_t *bomb = NULL;
|
||||||
edict_t *laser = NULL;
|
|
||||||
|
|
||||||
VectorScale(dir, 64, _dir);
|
VectorScale(dir, 64, _dir);
|
||||||
VectorAdd(start, _dir, endPos);
|
VectorAdd(start, _dir, endPos);
|
||||||
|
@ -383,19 +371,16 @@ qboolean fire_lasertripbomb(edict_t *self, vec3_t start, vec3_t dir, float timer
|
||||||
if (tr.fraction == 1.0)
|
if (tr.fraction == 1.0)
|
||||||
{
|
{
|
||||||
// not close enough
|
// not close enough
|
||||||
//gi.cprintf(self, PRINT_HIGH, "Not close enough to a wall");
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Q_stricmp(tr.ent->classname, "worldspawn") != 0)
|
if (Q_stricmp(tr.ent->classname, "worldspawn") != 0)
|
||||||
{
|
{
|
||||||
//gi.cprintf(self, PRINT_HIGH, "Hit something other than a wall");
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// create the bomb
|
// create the bomb
|
||||||
bomb = G_Spawn();
|
bomb = G_Spawn();
|
||||||
//VectorCopy(tr.endpos, bomb->s.origin);
|
|
||||||
VectorMA(tr.endpos, 3, tr.plane.normal, bomb->s.origin);
|
VectorMA(tr.endpos, 3, tr.plane.normal, bomb->s.origin);
|
||||||
vectoangles(tr.plane.normal, bomb->s.angles);
|
vectoangles(tr.plane.normal, bomb->s.angles);
|
||||||
bomb->owner = self;
|
bomb->owner = self;
|
||||||
|
@ -474,8 +459,6 @@ void Weapon_LaserTripBomb(edict_t *ent)
|
||||||
const int idleFirst = 16;
|
const int idleFirst = 16;
|
||||||
const int idleLast = 43;
|
const int idleLast = 43;
|
||||||
const int fireFirst = 7;
|
const int fireFirst = 7;
|
||||||
const int fireLast = 15;
|
|
||||||
const int activateFirst = 0;
|
|
||||||
const int activateLast = 6;
|
const int activateLast = 6;
|
||||||
|
|
||||||
if (ent->client->weaponstate == WEAPON_DROPPING)
|
if (ent->client->weaponstate == WEAPON_DROPPING)
|
||||||
|
@ -551,8 +534,6 @@ void Weapon_LaserTripBomb(edict_t *ent)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pause_frames)
|
|
||||||
{
|
|
||||||
int n = 0;
|
int n = 0;
|
||||||
for (n = 0; pause_frames[n]; n++)
|
for (n = 0; pause_frames[n]; n++)
|
||||||
{
|
{
|
||||||
|
@ -562,7 +543,6 @@ void Weapon_LaserTripBomb(edict_t *ent)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ent->client->ps.gunframe++;
|
ent->client->ps.gunframe++;
|
||||||
return;
|
return;
|
||||||
|
@ -594,9 +574,6 @@ void SP_misc_lasertripbomb(edict_t *bomb)
|
||||||
// precache
|
// precache
|
||||||
gi.soundindex("weapons/ired/las_set.wav");
|
gi.soundindex("weapons/ired/las_set.wav");
|
||||||
gi.soundindex("weapons/ired/las_arm.wav");
|
gi.soundindex("weapons/ired/las_arm.wav");
|
||||||
//gi.soundindex("weapons/ired/las_tink.wav");
|
|
||||||
//gi.soundindex("weapons/ired/las_trig.wav");
|
|
||||||
//gi.soundindex("weapons/ired/las_glow.wav");
|
|
||||||
gi.modelindex("models/objects/shrapnel/tris.md2");
|
gi.modelindex("models/objects/shrapnel/tris.md2");
|
||||||
gi.modelindex("models/objects/ired/tris.md2");
|
gi.modelindex("models/objects/ired/tris.md2");
|
||||||
|
|
||||||
|
@ -745,9 +722,6 @@ void weapon_sc_fire (edict_t *ent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Weapon_SonicCannon (edict_t *ent)
|
void Weapon_SonicCannon (edict_t *ent)
|
||||||
{
|
{
|
||||||
static int pause_frames[] = {32, 42, 52, 0};
|
static int pause_frames[] = {32, 42, 52, 0};
|
||||||
|
@ -789,8 +763,6 @@ void Weapon_SonicCannon (edict_t *ent)
|
||||||
Weapon_Generic (ent, 6, 22, 52, 57, pause_frames, fire_frames, weapon_sc_fire);
|
Weapon_Generic (ent, 6, 22, 52, 57, pause_frames, fire_frames, weapon_sc_fire);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void SpawnDamage (int type, vec3_t origin, vec3_t normal, int damage);
|
void SpawnDamage (int type, vec3_t origin, vec3_t normal, int damage);
|
||||||
|
|
||||||
void fire_sconnanEffects (edict_t *self)
|
void fire_sconnanEffects (edict_t *self)
|
||||||
|
@ -818,8 +790,6 @@ void fire_sconnanEffects (edict_t *self)
|
||||||
SpawnDamage(TE_SHIELD_SPARKS, end, v, 0);
|
SpawnDamage(TE_SHIELD_SPARKS, end, v, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void scexplode_think(edict_t *self)
|
void scexplode_think(edict_t *self)
|
||||||
{
|
{
|
||||||
gi.WriteByte (svc_temp_entity);
|
gi.WriteByte (svc_temp_entity);
|
||||||
|
@ -830,7 +800,6 @@ void scexplode_think(edict_t *self)
|
||||||
G_FreeEdict (self);
|
G_FreeEdict (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void fire_sconnan (edict_t *self)
|
void fire_sconnan (edict_t *self)
|
||||||
{
|
{
|
||||||
vec3_t start, end, explodepos;
|
vec3_t start, end, explodepos;
|
||||||
|
@ -896,9 +865,6 @@ void fire_sconnan (edict_t *self)
|
||||||
playQuadSound(self);
|
playQuadSound(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Flares
|
Flares
|
||||||
*/
|
*/
|
||||||
|
@ -928,8 +894,6 @@ void flare_flash(edict_t *ent)
|
||||||
continue;
|
continue;
|
||||||
if (!visible(ent, target))
|
if (!visible(ent, target))
|
||||||
continue;
|
continue;
|
||||||
//if (!infront(target, ent))
|
|
||||||
// continue;
|
|
||||||
|
|
||||||
// what's the distance, so that closer get's more
|
// what's the distance, so that closer get's more
|
||||||
VectorSubtract(ent->s.origin, target->s.origin, delta);
|
VectorSubtract(ent->s.origin, target->s.origin, delta);
|
||||||
|
@ -973,10 +937,6 @@ void flare_flash(edict_t *ent)
|
||||||
|
|
||||||
void flare_think(edict_t *self)
|
void flare_think(edict_t *self)
|
||||||
{
|
{
|
||||||
edict_t *target = NULL;
|
|
||||||
edict_t *closestEnt = NULL;
|
|
||||||
float closestDist = 0.0;
|
|
||||||
|
|
||||||
// on our last leg?
|
// on our last leg?
|
||||||
if (level.time > self->timeout)
|
if (level.time > self->timeout)
|
||||||
{
|
{
|
||||||
|
@ -1303,8 +1263,6 @@ void Weapon_SniperRifle(edict_t *ent)
|
||||||
gi.modelindex("models/weapons/v_sniper/scope/tris.md2") );
|
gi.modelindex("models/weapons/v_sniper/scope/tris.md2") );
|
||||||
|
|
||||||
ent->client->ps.fov = (deathmatch->value ? dmFov : spFov);
|
ent->client->ps.fov = (deathmatch->value ? dmFov : spFov);
|
||||||
//if (ent->client->quad_framenum > level.framenum)
|
|
||||||
// gi.sound(ent, CHAN_ITEM, gi.soundindex("items/damage3.wav"), 1, ATTN_NORM, 0);
|
|
||||||
|
|
||||||
// fire
|
// fire
|
||||||
weapon_sniperrifle_fire(ent);
|
weapon_sniperrifle_fire(ent);
|
||||||
|
@ -1375,10 +1333,7 @@ void weapon_a2k_fire (edict_t *ent)
|
||||||
ent->client->pers.inventory[ent->client->ammo_index]--;
|
ent->client->pers.inventory[ent->client->ammo_index]--;
|
||||||
ent->client->ps.gunframe++;
|
ent->client->ps.gunframe++;
|
||||||
|
|
||||||
// start scream sound
|
|
||||||
//ent->client->weapon_sound = gi.soundindex("weapons/a2k/countdn.wav");
|
|
||||||
gi.sound(ent, CHAN_WEAPON, gi.soundindex("weapons/a2k/countdn.wav"), 1, ATTN_NORM, 0);
|
gi.sound(ent, CHAN_WEAPON, gi.soundindex("weapons/a2k/countdn.wav"), 1, ATTN_NORM, 0);
|
||||||
//gi.sound(ent, CHAN_VOICE, gi.soundindex("weapons/a2k/ak_trig.wav"), 1, ATTN_NORM, 0);
|
|
||||||
|
|
||||||
// play quad sound
|
// play quad sound
|
||||||
playQuadSound(ent);
|
playQuadSound(ent);
|
||||||
|
@ -1389,7 +1344,6 @@ void weapon_a2k_fire (edict_t *ent)
|
||||||
edict_t *exp = NULL;
|
edict_t *exp = NULL;
|
||||||
float damage = 2500;
|
float damage = 2500;
|
||||||
float dmg_radius = 512;
|
float dmg_radius = 512;
|
||||||
edict_t *e = NULL;
|
|
||||||
// play quad sound
|
// play quad sound
|
||||||
playQuadSound(ent);
|
playQuadSound(ent);
|
||||||
if (is_quad)
|
if (is_quad)
|
||||||
|
@ -1457,7 +1411,6 @@ qboolean push_hit (edict_t *self, vec3_t start, vec3_t aim, int damage, int kick
|
||||||
trace_t tr;
|
trace_t tr;
|
||||||
vec3_t end;
|
vec3_t end;
|
||||||
vec3_t v;
|
vec3_t v;
|
||||||
edict_t *e = NULL;
|
|
||||||
|
|
||||||
//see if enemy is in range
|
//see if enemy is in range
|
||||||
VectorMA(start, 64, aim, end);
|
VectorMA(start, 64, aim, end);
|
||||||
|
@ -1476,7 +1429,6 @@ qboolean push_hit (edict_t *self, vec3_t start, vec3_t aim, int damage, int kick
|
||||||
VectorSubtract (v, start, v);
|
VectorSubtract (v, start, v);
|
||||||
VectorNormalize (v);
|
VectorNormalize (v);
|
||||||
VectorMA (tr.ent->velocity, kick, v, tr.ent->velocity);
|
VectorMA (tr.ent->velocity, kick, v, tr.ent->velocity);
|
||||||
//tr.ent->velocity[2] = 48;
|
|
||||||
if (tr.ent->velocity[2] > 0)
|
if (tr.ent->velocity[2] > 0)
|
||||||
tr.ent->groundentity = NULL;
|
tr.ent->groundentity = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1505,8 +1457,6 @@ void Action_Push (edict_t *ent)
|
||||||
{
|
{
|
||||||
if (ent->client->ps.gunframe == 0)
|
if (ent->client->ps.gunframe == 0)
|
||||||
{
|
{
|
||||||
// play grunt sound
|
|
||||||
//gi.sound(ent, CHAN_VOICE, gi.soundindex("weapons/push/grunt.wav"), 1, ATTN_NORM, 0);
|
|
||||||
ent->client->ps.gunframe++;
|
ent->client->ps.gunframe++;
|
||||||
}
|
}
|
||||||
else if (ent->client->ps.gunframe == 4)
|
else if (ent->client->ps.gunframe == 4)
|
||||||
|
|
Loading…
Reference in a new issue