mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-25 05:11:35 +00:00
*** 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;
|
||||
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
|
||||
|
|
|
@ -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
|
@ -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");
|
||||
|
|
Loading…
Reference in a new issue