various small fixes
This commit is contained in:
parent
4f2ac13652
commit
f26743600c
|
@ -277,13 +277,13 @@ some monsters refire twice automatically
|
|||
|
||||
void(float normal) sub_attack_finished = {
|
||||
self.cnt = 0; // refire count for nightmare
|
||||
if(skill != 3) {
|
||||
if(skill != SK_NIGHTMARE) {
|
||||
self.attack_finished = time + normal;
|
||||
}
|
||||
};
|
||||
|
||||
void(void() thinkst) sub_check_refire = {
|
||||
if(skill != 3) {
|
||||
if(skill != SK_NIGHTMARE) {
|
||||
return;
|
||||
}
|
||||
if(self.cnt == 1) {
|
||||
|
|
|
@ -113,15 +113,9 @@ void(entity targ, entity inflictor, entity attacker, float damage) ent_damage =
|
|||
float take;
|
||||
|
||||
// team play damage avoidance
|
||||
if(teamplay == 1 && is_same_team(targ, attacker)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(teamplay == 3 && are_both_players(targ, attacker)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!targ.takedamage) {
|
||||
if((teamplay == 1 && is_same_team(targ, attacker)) ||
|
||||
(teamplay == 3 && are_both_players(targ, attacker)) ||
|
||||
!targ.takedamage) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -134,7 +128,6 @@ void(entity targ, entity inflictor, entity attacker, float damage) ent_damage =
|
|||
}
|
||||
|
||||
// save damage based on the target's armor level
|
||||
|
||||
save = ceil(targ.armortype * damage);
|
||||
if(save >= targ.armorvalue) {
|
||||
save = targ.armorvalue;
|
||||
|
@ -184,7 +177,7 @@ void(entity targ, entity inflictor, entity attacker, float damage) ent_damage =
|
|||
oldself = self;
|
||||
self = targ;
|
||||
|
||||
if((self.flags & FL_MONSTER) && attacker != world) {
|
||||
if(self.flags & FL_MONSTER && attacker != world) {
|
||||
// get mad unless of the same class (except for soldiers)
|
||||
if(self != attacker && attacker != self.enemy) {
|
||||
if((self.classname != attacker.classname)
|
||||
|
@ -201,7 +194,7 @@ void(entity targ, entity inflictor, entity attacker, float damage) ent_damage =
|
|||
if(self.th_pain) {
|
||||
self.th_pain(attacker, take);
|
||||
// nightmare mode monsters don't go into pain frames often
|
||||
if(skill == 3) {
|
||||
if(skill == SK_NIGHTMARE) {
|
||||
self.pain_finished = time + 5;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -608,6 +608,13 @@ enum {
|
|||
AI_MONSTER_HIGH = 48,
|
||||
};
|
||||
|
||||
enum {
|
||||
SK_EASY,
|
||||
SK_NORMAL,
|
||||
SK_HARD,
|
||||
SK_NIGHTMARE,
|
||||
};
|
||||
|
||||
// super co-op additions
|
||||
enum {
|
||||
PRO_NONE,
|
||||
|
|
|
@ -192,7 +192,7 @@ void(vector p) boss_missile = {
|
|||
org = self.origin + p_x * v_forward + p_y * v_right + p_z*'0 0 1';
|
||||
|
||||
// lead the player on hard mode
|
||||
if(skill > 1) {
|
||||
if(skill > SK_NORMAL) {
|
||||
t = vec_len(self.enemy.origin - org) / 300;
|
||||
vec = self.enemy.velocity;
|
||||
vec_z = 0;
|
||||
|
@ -225,7 +225,7 @@ void() boss_awake = {
|
|||
set_model(self, "progs/boss.mdl");
|
||||
set_size(self, '-128 -128 -24', '128 128 256');
|
||||
|
||||
if(skill == 0) {
|
||||
if(skill == SK_EASY) {
|
||||
self.health = 1;
|
||||
} else {
|
||||
self.health = 3;
|
||||
|
|
|
@ -158,7 +158,7 @@ void() shalrath_home = {
|
|||
return;
|
||||
}
|
||||
dir = normalize(vtemp - self.origin);
|
||||
if(skill == 3) {
|
||||
if(skill == SK_NIGHTMARE) {
|
||||
self.velocity = dir * 350;
|
||||
} else {
|
||||
self.velocity = dir * 250;
|
||||
|
|
|
@ -313,12 +313,10 @@ void() sham_magic6 = [ $magic6, sham_magic9 ] {
|
|||
sham_cast_lightning();
|
||||
sound(self, CHAN_WEAPON, "shambler/sboom.wav", 1, ATTN_NORM);
|
||||
};
|
||||
void() sham_magic9 = [ $magic9, sham_magic10 ]
|
||||
{sham_cast_lightning();};
|
||||
void() sham_magic10 = [ $magic10, sham_magic11 ]
|
||||
{sham_cast_lightning();};
|
||||
void() sham_magic9 = [ $magic9, sham_magic10 ] {sham_cast_lightning();};
|
||||
void() sham_magic10 = [ $magic10, sham_magic11 ] {sham_cast_lightning();};
|
||||
void() sham_magic11 = [ $magic11, sham_magic12 ] {
|
||||
if(skill == 3) {
|
||||
if(skill == SK_NIGHTMARE) {
|
||||
sham_cast_lightning();
|
||||
}
|
||||
};
|
||||
|
|
|
@ -201,8 +201,7 @@ Go to the trouble of combining multiple pellets into a single damage call.
|
|||
================
|
||||
*/
|
||||
void(float shotcount, vector dir, vector spread) fire_bullets = {
|
||||
vector direction;
|
||||
vector src;
|
||||
vector direction, src;
|
||||
|
||||
make_vectors(self.v_angle);
|
||||
|
||||
|
@ -382,7 +381,7 @@ void(vector p1, vector p2, entity from, float damage) lightning_damage = {
|
|||
f_x = 0 - f_y;
|
||||
f_y = f_x;
|
||||
f_z = 0;
|
||||
f = f * 16;
|
||||
f *= 16;
|
||||
|
||||
e1 = e2 = world;
|
||||
|
||||
|
|
7
todo
7
todo
|
@ -19,8 +19,7 @@ extraneous features:
|
|||
|
||||
add expansion pack entities
|
||||
emotes
|
||||
player sound effect option
|
||||
players shoot through eachother (teamplay 4?)
|
||||
player sounds option
|
||||
selectable player models and skins
|
||||
sound clips
|
||||
third person player weapon models
|
||||
|
@ -38,3 +37,7 @@ no friendly fire
|
|||
rename all functions to be lower_underscore
|
||||
restart map after 10 seconds when everyone is dead
|
||||
users can cancel map ends ("<name> initiated travel to <mapname>")
|
||||
|
||||
rejected:
|
||||
|
||||
players shoot through eachother (teamplay 4?) (can theoretically be done in quakec but the math is too complex)
|
||||
|
|
Loading…
Reference in New Issue
Block a user