1
0
Fork 0
forked from fte/fteqw

*** 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:
Magnus 2006-01-08 01:21:36 +00:00
parent b8e0d21f0e
commit 50aed6bf16
4 changed files with 1282 additions and 0 deletions

View file

@ -480,6 +480,26 @@ float deathmatch;
float coop;
var float rj = 1;
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 max_weight;
.float hostage;
.float sneak;
.float rescued;
@ -631,6 +652,19 @@ float red_armor;
.float grenadetoggle;
.float kills;
.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 ammotype1;
@ -641,6 +675,7 @@ float red_armor;
.entity friend;
.entity view2;
.vector oldorg;
.vector home;
//
// object stuff

View file

@ -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)

File diff suppressed because it is too large Load diff

View file

@ -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 =
{
precache_model ("progs/zombie.mdl");