*** empty log message ***
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1821 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
b8e0d21f0e
commit
50aed6bf16
4 changed files with 1282 additions and 0 deletions
|
@ -480,6 +480,26 @@ float deathmatch;
|
||||||
float coop;
|
float coop;
|
||||||
var float rj = 1;
|
var float rj = 1;
|
||||||
float no_connect;
|
float no_connect;
|
||||||
|
float round_end;
|
||||||
|
float red_kill;
|
||||||
|
float blue_kill;
|
||||||
|
float teamthatwon;
|
||||||
|
float team_blue;
|
||||||
|
float team_red;
|
||||||
|
float bombed;
|
||||||
|
float zombies;
|
||||||
|
float hostages;
|
||||||
|
float dead_hostage;
|
||||||
|
float team1win;
|
||||||
|
float team2win;
|
||||||
|
float respawnvar;
|
||||||
|
float mode;
|
||||||
|
float ff;
|
||||||
|
float headshot;
|
||||||
|
float z_skill;
|
||||||
|
float msgcount;
|
||||||
|
float max_zombies;
|
||||||
|
float gtimer;
|
||||||
|
|
||||||
//================================================
|
//================================================
|
||||||
|
|
||||||
|
@ -610,6 +630,7 @@ float red_armor;
|
||||||
|
|
||||||
.float weight;
|
.float weight;
|
||||||
.float max_weight;
|
.float max_weight;
|
||||||
|
.float hostage;
|
||||||
|
|
||||||
.float sneak;
|
.float sneak;
|
||||||
.float rescued;
|
.float rescued;
|
||||||
|
@ -631,6 +652,19 @@ float red_armor;
|
||||||
.float grenadetoggle;
|
.float grenadetoggle;
|
||||||
.float kills;
|
.float kills;
|
||||||
.float materialize;
|
.float materialize;
|
||||||
|
.float vote_time;
|
||||||
|
.float vote_on;
|
||||||
|
.float vote_type;
|
||||||
|
.float vote_num;
|
||||||
|
.float vote1;
|
||||||
|
.float vote2;
|
||||||
|
.float vote3;
|
||||||
|
.float vote4;
|
||||||
|
.float vote5;
|
||||||
|
.float vote6;
|
||||||
|
.float vote7;
|
||||||
|
.float vote8;
|
||||||
|
.float vote9;
|
||||||
|
|
||||||
.string armornoise;
|
.string armornoise;
|
||||||
.string ammotype1;
|
.string ammotype1;
|
||||||
|
@ -641,6 +675,7 @@ float red_armor;
|
||||||
.entity friend;
|
.entity friend;
|
||||||
.entity view2;
|
.entity view2;
|
||||||
.vector oldorg;
|
.vector oldorg;
|
||||||
|
.vector home;
|
||||||
|
|
||||||
//
|
//
|
||||||
// object stuff
|
// object stuff
|
||||||
|
|
|
@ -260,6 +260,170 @@ void() misc_explobox =
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void () hostage_die =
|
||||||
|
{
|
||||||
|
self.enemy.frags = (self.enemy.frags - START_OFF);
|
||||||
|
self.enemy.ammo_shells = (self.enemy.ammo_shells - MULTICAST_PVS_R);
|
||||||
|
if ((self.enemy.team == START_OFF))
|
||||||
|
{
|
||||||
|
blue_kill = (blue_kill + START_OFF);
|
||||||
|
}
|
||||||
|
if ((self.enemy.team == SILENT))
|
||||||
|
{
|
||||||
|
red_kill = (red_kill + START_OFF);
|
||||||
|
}
|
||||||
|
if ((self.enemy.frags <= MULTICAST_ALL))
|
||||||
|
{
|
||||||
|
self.enemy.frags = MULTICAST_ALL;
|
||||||
|
}
|
||||||
|
if ((self.enemy.ammo_shells <= MULTICAST_ALL))
|
||||||
|
{
|
||||||
|
self.enemy.ammo_shells = MULTICAST_ALL;
|
||||||
|
}
|
||||||
|
self.frame = START_OFF;
|
||||||
|
if ((self.model == "progs/hosfem.mdl"))
|
||||||
|
{
|
||||||
|
sound (self, CHAN_VOICE, "misc/hosdie2.wav", START_OFF, ATTN_NORM);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sound (self, CHAN_VOICE, "misc/hosdie1.wav", START_OFF, ATTN_NORM);
|
||||||
|
}
|
||||||
|
sound (self, CHAN_BODY, "misc/hosdown.wav", START_OFF, ATTN_NONE);
|
||||||
|
hos_deatha1 ();
|
||||||
|
setsize (self, VEC_ORIGIN, VEC_ORIGIN);
|
||||||
|
};
|
||||||
|
|
||||||
|
void () hostage_pain =
|
||||||
|
{
|
||||||
|
if (((random () * SECRET_NO_SHOOT) < SECRET_1ST_DOWN))
|
||||||
|
{
|
||||||
|
sound (self, CHAN_VOICE, "player/paina.wav", START_OFF, ATTN_NORM);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sound (self, CHAN_VOICE, "player/painb.wav", START_OFF, ATTN_NORM);
|
||||||
|
}
|
||||||
|
if (((random () * SECRET_NO_SHOOT) < SECRET_1ST_DOWN))
|
||||||
|
{
|
||||||
|
sound (self, CHAN_BODY, "player/hit1.wav", START_OFF, ATTN_NORM);
|
||||||
|
}
|
||||||
|
hos_run1 ();
|
||||||
|
};
|
||||||
|
|
||||||
|
void () hostage_think =
|
||||||
|
{
|
||||||
|
local entity te;
|
||||||
|
|
||||||
|
self.nextthink = (time + MULTICAST_PVS_R);
|
||||||
|
self.think = hostage_think;
|
||||||
|
if ((self.health <= MULTICAST_ALL))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ((self.cnt == MULTICAST_ALL))
|
||||||
|
{
|
||||||
|
hos_stand1 ();
|
||||||
|
}
|
||||||
|
if ((self.cnt == START_OFF))
|
||||||
|
{
|
||||||
|
hos_run1 ();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void () sci_think =
|
||||||
|
{
|
||||||
|
local entity te;
|
||||||
|
|
||||||
|
self.think = sci_think;
|
||||||
|
self.nextthink = (time + 15);
|
||||||
|
|
||||||
|
if (self.health <= 0)
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
void () hostage_spawn =
|
||||||
|
{
|
||||||
|
local float qq;
|
||||||
|
local entity te;
|
||||||
|
|
||||||
|
precache_model ("progs/hosfem.mdl");
|
||||||
|
precache_model ("progs/hosguy.mdl");
|
||||||
|
precache_sound ("misc/hosdie1.wav");
|
||||||
|
precache_sound ("misc/hosdie2.wav");
|
||||||
|
precache_sound ("misc/hosdown.wav");
|
||||||
|
precache_sound ("misc/rescued.wav");
|
||||||
|
if (((random () * SECRET_NO_SHOOT) <= SILENT))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (((random () * SECRET_NO_SHOOT) <= SECRET_NO_SHOOT))
|
||||||
|
{
|
||||||
|
te = find (world, classname, "hostage");
|
||||||
|
while (te)
|
||||||
|
{
|
||||||
|
qq = (qq + START_OFF);
|
||||||
|
te = find (te, classname, "hostage");
|
||||||
|
}
|
||||||
|
if ((qq >= MULTICAST_PVS_R))
|
||||||
|
{
|
||||||
|
remove (self);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
hos_stand1 ();
|
||||||
|
self.movetype = MOVETYPE_STEP;
|
||||||
|
self.velocity = VEC_ORIGIN;
|
||||||
|
self.touch = SUB_Null;
|
||||||
|
self.classname = "hostage";
|
||||||
|
self.takedamage = DAMAGE_AIM;
|
||||||
|
setsize (self, VEC_HULL_MIN, VEC_HULL_MAX);
|
||||||
|
self.home = self.origin;
|
||||||
|
if (((random () * SECRET_NO_SHOOT) <= SECRET_1ST_DOWN))
|
||||||
|
{
|
||||||
|
setmodel (self, "progs/hosfem.mdl");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setmodel (self, "progs/hosguy.mdl");
|
||||||
|
}
|
||||||
|
self.health = 70;
|
||||||
|
self.think = hostage_think;
|
||||||
|
self.nextthink = (time + START_OFF);
|
||||||
|
self.solid = SOLID_BBOX;
|
||||||
|
self.th_die = hostage_die;
|
||||||
|
self.th_pain = hostage_pain;
|
||||||
|
self.rescued = MULTICAST_ALL;
|
||||||
|
self.angles_y = floor ((random () * 360));
|
||||||
|
self.netname = "citizen";
|
||||||
|
};
|
||||||
|
|
||||||
|
void () scientist =
|
||||||
|
{
|
||||||
|
local float qq;
|
||||||
|
local entity te;
|
||||||
|
|
||||||
|
precache_model ("progs/hosguy.mdl");
|
||||||
|
precache_sound ("misc/hosdie1.wav");
|
||||||
|
precache_sound ("misc/hosdie2.wav");
|
||||||
|
hos_stand1 ();
|
||||||
|
self.movetype = MOVETYPE_STEP;
|
||||||
|
self.velocity = VEC_ORIGIN;
|
||||||
|
self.touch = SUB_Null;
|
||||||
|
self.classname = "scientist";
|
||||||
|
self.takedamage = DAMAGE_AIM;
|
||||||
|
setsize (self, VEC_HULL_MIN, VEC_HULL_MAX);
|
||||||
|
setmodel (self, "progs/hosguy.mdl");
|
||||||
|
self.health = 70;
|
||||||
|
self.think = hostage_think;
|
||||||
|
self.nextthink = (time + START_OFF);
|
||||||
|
self.team = START_OFF;
|
||||||
|
self.solid = SOLID_BBOX;
|
||||||
|
self.th_die = hostage_die;
|
||||||
|
self.th_pain = hostage_pain;
|
||||||
|
self.rescued = MULTICAST_ALL;
|
||||||
|
self.netname = "scientist";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*QUAKED misc_explobox2 (0 .5 .8) (0 0 0) (32 32 64)
|
/*QUAKED misc_explobox2 (0 .5 .8) (0 0 0) (32 32 64)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -463,6 +463,41 @@ void(entity attacker, float take) zombie_pain =
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
|
void (entity stuff) spawn_zombie =
|
||||||
|
{
|
||||||
|
local entity zombie;
|
||||||
|
local entity te;
|
||||||
|
|
||||||
|
te = findradius (stuff.origin, 80);
|
||||||
|
while (te)
|
||||||
|
{
|
||||||
|
if (te.classname == "player" || te.classname == "ighoul" && te.health > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
te = te.chain;
|
||||||
|
}
|
||||||
|
|
||||||
|
zombie = spawn ();
|
||||||
|
self = zombie;
|
||||||
|
self.origin = stuff.origin;
|
||||||
|
self.solid = SOLID_SLIDEBOX;
|
||||||
|
self.movetype = MOVETYPE_STEP;
|
||||||
|
setmodel (self, "progs/tehghoul.mdl");
|
||||||
|
setsize (self, VEC_HULL_MIN, '16 16 40');
|
||||||
|
self.health = 180;
|
||||||
|
self.classname = "ighoul";
|
||||||
|
self.netname = "ghoul";
|
||||||
|
self.max_health = self.health;
|
||||||
|
self.th_stand = zombie_stand1;
|
||||||
|
self.th_walk = zombie_walk1;
|
||||||
|
self.th_run = zombie_run1;
|
||||||
|
self.th_pain = zombie_pain;
|
||||||
|
self.th_die = zombie_die;
|
||||||
|
self.th_missile = zombie_missile;
|
||||||
|
self.target = stuff.target;
|
||||||
|
walkmonster_start_go ();
|
||||||
|
};
|
||||||
|
|
||||||
void() monster_zombie =
|
void() monster_zombie =
|
||||||
{
|
{
|
||||||
precache_model ("progs/zombie.mdl");
|
precache_model ("progs/zombie.mdl");
|
||||||
|
|
Loading…
Reference in a new issue