Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
|
8537f176b2 | ||
|
d9cdbbafad |
25 changed files with 555 additions and 282 deletions
12
amtest.qc
12
amtest.qc
|
@ -4,10 +4,10 @@
|
|||
void() test_teleport_touch;
|
||||
void() tele_done;
|
||||
|
||||
/*QUAKED test_teleport (0 .5 .8) ?
|
||||
/*QUAKED test_teleport (0 .5 .8) ?
|
||||
Teleporter testing
|
||||
*/
|
||||
void() test_teleport =
|
||||
*/
|
||||
void() test_teleport =
|
||||
{
|
||||
precache_model ("sprites/s_aball.spr");
|
||||
setsize (self, self.mins, self.maxs);
|
||||
|
@ -43,10 +43,10 @@ void() tele_done =
|
|||
void() test_goaway;
|
||||
void() test_spawn;
|
||||
|
||||
/*QUAKED test_fodder (0 .5 .8) ?
|
||||
/*QUAKED test_fodder (0 .5 .8) ?
|
||||
beating guy
|
||||
*/
|
||||
void() test_fodder =
|
||||
*/
|
||||
void() test_fodder =
|
||||
{
|
||||
self.nextthink = time + 3;
|
||||
self.think = test_spawn;
|
||||
|
|
2
boss.qc
2
boss.qc
|
@ -5,7 +5,7 @@ BOSS-ONE
|
|||
|
||||
==============================================================================
|
||||
*/
|
||||
$cd /raid/quake/id1/models/boss1
|
||||
$cd id1/models/boss1
|
||||
$origin 0 0 -15
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
306
client.qc
306
client.qc
|
@ -32,6 +32,12 @@ void() info_intermission =
|
|||
|
||||
void() SetChangeParms =
|
||||
{
|
||||
if (self.health <= 0)
|
||||
{
|
||||
SetNewParms ();
|
||||
return;
|
||||
}
|
||||
|
||||
// remove items
|
||||
self.items = self.items - (self.items &
|
||||
(IT_KEY1 | IT_KEY2 | IT_INVISIBILITY | IT_INVULNERABILITY | IT_SUIT | IT_QUAD) );
|
||||
|
@ -63,7 +69,7 @@ void() SetNewParms =
|
|||
parm4 = 25;
|
||||
parm5 = 0;
|
||||
parm6 = 0;
|
||||
parm6 = 0;
|
||||
parm7 = 0;
|
||||
parm8 = 1;
|
||||
parm9 = 0;
|
||||
};
|
||||
|
@ -288,13 +294,17 @@ void() changelevel_touch =
|
|||
if (other.classname != "player")
|
||||
return;
|
||||
|
||||
if (cvar("noexit"))
|
||||
if ((cvar("noexit") == 1) || ((cvar("noexit") == 2) && (mapname != "start")))
|
||||
{
|
||||
T_Damage (other, self, self, 50000);
|
||||
return;
|
||||
}
|
||||
bprint (other.netname);
|
||||
bprint (" exited the level\n");
|
||||
|
||||
if (coop || deathmatch)
|
||||
{
|
||||
bprint (other.netname);
|
||||
bprint (" exited the level\n");
|
||||
}
|
||||
|
||||
nextmap = self.map;
|
||||
|
||||
|
@ -397,6 +407,8 @@ Returns the entity to spawn at
|
|||
entity() SelectSpawnPoint =
|
||||
{
|
||||
local entity spot;
|
||||
local entity thing;
|
||||
local float pcount;
|
||||
|
||||
// testinfo_player_start is only found in regioned levels
|
||||
spot = find (world, classname, "testplayerstart");
|
||||
|
@ -414,11 +426,29 @@ entity() SelectSpawnPoint =
|
|||
}
|
||||
else if (deathmatch)
|
||||
{
|
||||
lastspawn = find(lastspawn, classname, "info_player_deathmatch");
|
||||
if (lastspawn == world)
|
||||
lastspawn = find (lastspawn, classname, "info_player_deathmatch");
|
||||
if (lastspawn != world)
|
||||
return lastspawn;
|
||||
spot = lastspawn;
|
||||
while (1)
|
||||
{
|
||||
spot = find(spot, classname, "info_player_deathmatch");
|
||||
if (spot != world)
|
||||
{
|
||||
if (spot == lastspawn)
|
||||
return lastspawn;
|
||||
pcount = 0;
|
||||
thing = findradius(spot.origin, 32);
|
||||
while(thing)
|
||||
{
|
||||
if (thing.classname == "player")
|
||||
pcount = pcount + 1;
|
||||
thing = thing.chain;
|
||||
}
|
||||
if (pcount == 0)
|
||||
{
|
||||
lastspawn = spot;
|
||||
return spot;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (serverflags)
|
||||
|
@ -450,6 +480,8 @@ void() PutClientInServer =
|
|||
{
|
||||
local entity spot;
|
||||
|
||||
spot = SelectSpawnPoint ();
|
||||
|
||||
self.classname = "player";
|
||||
self.health = 100;
|
||||
self.takedamage = DAMAGE_AIM;
|
||||
|
@ -479,7 +511,7 @@ void() PutClientInServer =
|
|||
// paustime is set by teleporters to keep the player from moving a while
|
||||
self.pausetime = 0;
|
||||
|
||||
spot = SelectSpawnPoint ();
|
||||
// spot = SelectSpawnPoint ();
|
||||
|
||||
self.origin = spot.origin + '0 0 1';
|
||||
self.angles = spot.angles;
|
||||
|
@ -562,98 +594,60 @@ RULES
|
|||
===============================================================================
|
||||
*/
|
||||
|
||||
void(entity c) PrintClientScore =
|
||||
{
|
||||
if (c.frags > -10 && c.frags < 0)
|
||||
bprint (" ");
|
||||
else if (c.frags >= 0)
|
||||
{
|
||||
if (c.frags < 100)
|
||||
bprint (" ");
|
||||
if (c.frags < 10)
|
||||
bprint (" ");
|
||||
}
|
||||
bprint (ftos(c.frags));
|
||||
bprint (" ");
|
||||
bprint (c.netname);
|
||||
bprint ("\n");
|
||||
};
|
||||
|
||||
void() DumpScore =
|
||||
{
|
||||
local entity e, sort, walk;
|
||||
|
||||
if (world.chain)
|
||||
error ("DumpScore: world.chain is set");
|
||||
|
||||
// build a sorted lis
|
||||
e = find(world, classname, "player");
|
||||
sort = world;
|
||||
while (e)
|
||||
{
|
||||
if (!sort)
|
||||
{
|
||||
sort = e;
|
||||
e.chain = world;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (e.frags > sort.frags)
|
||||
{
|
||||
e.chain = sort;
|
||||
sort = e;
|
||||
}
|
||||
else
|
||||
{
|
||||
walk = sort;
|
||||
do
|
||||
{
|
||||
if (!walk.chain)
|
||||
{
|
||||
e.chain = world;
|
||||
walk.chain = e;
|
||||
}
|
||||
else if (walk.chain.frags < e.frags)
|
||||
{
|
||||
e.chain = walk.chain;
|
||||
walk.chain = e;
|
||||
}
|
||||
else
|
||||
walk = walk.chain;
|
||||
} while (walk.chain != e);
|
||||
}
|
||||
}
|
||||
|
||||
e = find(e, classname, "player");
|
||||
}
|
||||
|
||||
// print the list
|
||||
|
||||
bprint ("\n");
|
||||
while (sort)
|
||||
{
|
||||
PrintClientScore (sort);
|
||||
sort = sort.chain;
|
||||
}
|
||||
bprint ("\n");
|
||||
};
|
||||
|
||||
/*
|
||||
go to the next level for deathmatch
|
||||
only called if a time or frag limit has expired
|
||||
*/
|
||||
void() NextLevel =
|
||||
{
|
||||
local entity o;
|
||||
|
||||
// find a trigger changelevel
|
||||
o = find(world, classname, "trigger_changelevel");
|
||||
if (!o || mapname == "start")
|
||||
{ // go back to same map if no trigger_changelevel
|
||||
if (mapname == "start")
|
||||
{
|
||||
if (!cvar("registered"))
|
||||
{
|
||||
mapname = "e1m1";
|
||||
}
|
||||
else if (!(serverflags & 1))
|
||||
{
|
||||
mapname = "e1m1";
|
||||
serverflags = serverflags | 1;
|
||||
}
|
||||
else if (!(serverflags & 2))
|
||||
{
|
||||
mapname = "e2m1";
|
||||
serverflags = serverflags | 2;
|
||||
}
|
||||
else if (!(serverflags & 4))
|
||||
{
|
||||
mapname = "e3m1";
|
||||
serverflags = serverflags | 4;
|
||||
}
|
||||
else if (!(serverflags & 8))
|
||||
{
|
||||
mapname = "e4m1";
|
||||
serverflags = serverflags - 7;
|
||||
}
|
||||
|
||||
o = spawn();
|
||||
o.map = mapname;
|
||||
}
|
||||
else
|
||||
{
|
||||
// find a trigger changelevel
|
||||
o = find(world, classname, "trigger_changelevel");
|
||||
|
||||
// go back to start if no trigger_changelevel
|
||||
if (!o)
|
||||
{
|
||||
mapname = "start";
|
||||
o = spawn();
|
||||
o.map = mapname;
|
||||
}
|
||||
}
|
||||
|
||||
nextmap = o.map;
|
||||
gameover = TRUE;
|
||||
|
||||
if (o.nextthink < time)
|
||||
{
|
||||
|
@ -682,31 +676,13 @@ void() CheckRules =
|
|||
|
||||
if (timelimit && time >= timelimit)
|
||||
{
|
||||
NextLevel ();
|
||||
/*
|
||||
gameover = TRUE;
|
||||
bprint ("\n\n\n==============================\n");
|
||||
bprint ("game exited after ");
|
||||
bprint (ftos(timelimit/60));
|
||||
bprint (" minutes\n");
|
||||
DumpScore ();
|
||||
localcmd ("killserver\n");
|
||||
*/
|
||||
NextLevel ();
|
||||
return;
|
||||
}
|
||||
|
||||
if (fraglimit && self.frags >= fraglimit)
|
||||
{
|
||||
NextLevel ();
|
||||
/*
|
||||
gameover = TRUE;
|
||||
bprint ("\n\n\n==============================\n");
|
||||
bprint ("game exited after ");
|
||||
bprint (ftos(self.frags));
|
||||
bprint (" frags\n");
|
||||
DumpScore ();
|
||||
localcmd ("killserver\n");
|
||||
*/
|
||||
NextLevel ();
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
@ -961,6 +937,12 @@ void() PlayerPreThink =
|
|||
// teleporters can force a non-moving pause time
|
||||
if (time < self.pausetime)
|
||||
self.velocity = '0 0 0';
|
||||
|
||||
if(time > self.attack_finished && self.currentammo == 0 && self.weapon != IT_AXE)
|
||||
{
|
||||
self.weapon = W_BestWeapon ();
|
||||
W_SetCurrentAmmo ();
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -1254,12 +1236,25 @@ void(entity targ, entity attacker) ClientObituary =
|
|||
bprint (" discharges into the water.\n");
|
||||
return;
|
||||
}
|
||||
if (targ.weapon == 16)
|
||||
if (targ.weapon == IT_GRENADE_LAUNCHER)
|
||||
bprint (" tries to put the pin back in\n");
|
||||
else if (rnum)
|
||||
bprint (" becomes bored with life\n");
|
||||
else
|
||||
bprint (" checks if his weapon is loaded\n");
|
||||
bprint (" becomes bored with life\n");
|
||||
return;
|
||||
}
|
||||
else if ( (teamplay == 2) && (targ.team > 0)&&(targ.team == attacker.team) )
|
||||
{
|
||||
if (rnum < 0.25)
|
||||
deathstring = " mows down a teammate\n";
|
||||
else if (rnum < 0.50)
|
||||
deathstring = " checks his glasses\n";
|
||||
else if (rnum < 0.75)
|
||||
deathstring = " gets a frag for the other team\n";
|
||||
else
|
||||
deathstring = " loses another friend\n";
|
||||
bprint (attacker.netname);
|
||||
bprint (deathstring);
|
||||
attacker.frags = attacker.frags - 1;
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
@ -1329,40 +1324,10 @@ void(entity targ, entity attacker) ClientObituary =
|
|||
}
|
||||
else
|
||||
{
|
||||
targ.frags = targ.frags - 1; // killed self
|
||||
rnum = targ.watertype;
|
||||
|
||||
targ.frags = targ.frags - 1;
|
||||
bprint (targ.netname);
|
||||
if (rnum == -3)
|
||||
{
|
||||
if (random() < 0.5)
|
||||
bprint (" sleeps with the fishes\n");
|
||||
else
|
||||
bprint (" sucks it down\n");
|
||||
return;
|
||||
}
|
||||
else if (rnum == -4)
|
||||
{
|
||||
if (random() < 0.5)
|
||||
bprint (" gulped a load of slime\n");
|
||||
else
|
||||
bprint (" can't exist on slime alone\n");
|
||||
return;
|
||||
}
|
||||
else if (rnum == -5)
|
||||
{
|
||||
if (targ.health < -15)
|
||||
{
|
||||
bprint (" burst into flames\n");
|
||||
return;
|
||||
}
|
||||
if (random() < 0.5)
|
||||
bprint (" turned into hot slag\n");
|
||||
else
|
||||
bprint (" visits the Volcano God\n");
|
||||
return;
|
||||
}
|
||||
|
||||
// killed by a montser?
|
||||
if (attacker.flags & FL_MONSTER)
|
||||
{
|
||||
if (attacker.classname == "monster_army")
|
||||
|
@ -1400,6 +1365,8 @@ void(entity targ, entity attacker) ClientObituary =
|
|||
|
||||
return;
|
||||
}
|
||||
|
||||
// tricks and traps
|
||||
if (attacker.classname == "explo_box")
|
||||
{
|
||||
bprint (" blew up\n");
|
||||
|
@ -1410,12 +1377,6 @@ void(entity targ, entity attacker) ClientObituary =
|
|||
bprint (" was squished\n");
|
||||
return;
|
||||
}
|
||||
if (targ.deathtype == "falling")
|
||||
{
|
||||
targ.deathtype = "";
|
||||
bprint (" fell to his death\n");
|
||||
return;
|
||||
}
|
||||
if (attacker.classname == "trap_shooter" || attacker.classname == "trap_spikeshooter")
|
||||
{
|
||||
bprint (" was spiked\n");
|
||||
|
@ -1432,6 +1393,47 @@ void(entity targ, entity attacker) ClientObituary =
|
|||
return;
|
||||
}
|
||||
|
||||
// in-water deaths
|
||||
rnum = targ.watertype;
|
||||
if (rnum == -3)
|
||||
{
|
||||
if (random() < 0.5)
|
||||
bprint (" sleeps with the fishes\n");
|
||||
else
|
||||
bprint (" sucks it down\n");
|
||||
return;
|
||||
}
|
||||
else if (rnum == -4)
|
||||
{
|
||||
if (random() < 0.5)
|
||||
bprint (" gulped a load of slime\n");
|
||||
else
|
||||
bprint (" can't exist on slime alone\n");
|
||||
return;
|
||||
}
|
||||
else if (rnum == -5)
|
||||
{
|
||||
if (targ.health < -15)
|
||||
{
|
||||
bprint (" burst into flames\n");
|
||||
return;
|
||||
}
|
||||
if (random() < 0.5)
|
||||
bprint (" turned into hot slag\n");
|
||||
else
|
||||
bprint (" visits the Volcano God\n");
|
||||
return;
|
||||
}
|
||||
|
||||
// fell to their death?
|
||||
if (targ.deathtype == "falling")
|
||||
{
|
||||
targ.deathtype = "";
|
||||
bprint (" fell to his death\n");
|
||||
return;
|
||||
}
|
||||
|
||||
// hell if I know; he's just dead!!!
|
||||
bprint (" died\n");
|
||||
}
|
||||
}
|
||||
|
|
2
demon.qc
2
demon.qc
|
@ -6,7 +6,7 @@ DEMON
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/demon3
|
||||
$cd id1/models/demon3
|
||||
$scale 0.8
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
|
|
2
dog.qc
2
dog.qc
|
@ -5,7 +5,7 @@ DOG
|
|||
|
||||
==============================================================================
|
||||
*/
|
||||
$cd /raid/quake/id1/models/dog
|
||||
$cd id1/models/dog
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
1
doors.qc
1
doors.qc
|
@ -770,6 +770,7 @@ void () func_door_secret =
|
|||
self.health = 10000;
|
||||
self.takedamage = DAMAGE_YES;
|
||||
self.th_pain = fd_secret_use;
|
||||
self.th_die = fd_secret_use;
|
||||
}
|
||||
self.oldorigin = self.origin;
|
||||
if (!self.wait)
|
||||
|
|
|
@ -6,7 +6,7 @@ SOLDIER / PLAYER
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/enforcer
|
||||
$cd id1/models/enforcer
|
||||
$origin 0 -6 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
2
fish.qc
2
fish.qc
|
@ -1,4 +1,4 @@
|
|||
$cd /raid/quake/id1/models/fish
|
||||
$cd id1/models/fish
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
8
flag.qc
Normal file
8
flag.qc
Normal file
|
@ -0,0 +1,8 @@
|
|||
/*QUAKED item_deathball (.3 .3 1) (0 0 0) (32 32 32)
|
||||
*/
|
||||
void() deathball_touch;
|
||||
|
||||
void() item_deathball =
|
||||
{
|
||||
self.touch = deathball_touch;
|
||||
};
|
|
@ -6,7 +6,7 @@ KNIGHT
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/knight2
|
||||
$cd id1/models/knight2
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
84
items.qc
84
items.qc
|
@ -638,7 +638,7 @@ local float best;
|
|||
// cells
|
||||
if (self.weapon == 4)
|
||||
{
|
||||
if (other.ammo_cells >= 200)
|
||||
if (other.ammo_cells >= 100)
|
||||
return;
|
||||
other.ammo_cells = other.ammo_cells + self.aflag;
|
||||
}
|
||||
|
@ -674,7 +674,6 @@ local float best;
|
|||
self.solid = SOLID_NOT;
|
||||
if (deathmatch == 1)
|
||||
self.nextthink = time + 30;
|
||||
|
||||
self.think = SUB_regen;
|
||||
|
||||
activator = other;
|
||||
|
@ -1230,14 +1229,26 @@ PLAYER BACKPACKS
|
|||
void() BackpackTouch =
|
||||
{
|
||||
local string s;
|
||||
local float best;
|
||||
local float best, old, new;
|
||||
local entity stemp;
|
||||
local float acount;
|
||||
|
||||
if (other.classname != "player")
|
||||
return;
|
||||
if (other.health <= 0)
|
||||
return;
|
||||
|
||||
|
||||
acount = 0;
|
||||
sprint (other, "You get ");
|
||||
|
||||
if (self.items)
|
||||
if ((other.items & self.items) == 0)
|
||||
{
|
||||
acount = 1;
|
||||
sprint (other, "the ");
|
||||
sprint (other, self.netname);
|
||||
}
|
||||
|
||||
// if the player was using his best weapon, change up to the new one if better
|
||||
stemp = self;
|
||||
self = other;
|
||||
|
@ -1250,35 +1261,49 @@ void() BackpackTouch =
|
|||
other.ammo_rockets = other.ammo_rockets + self.ammo_rockets;
|
||||
other.ammo_cells = other.ammo_cells + self.ammo_cells;
|
||||
|
||||
other.items = other.items | self.items;
|
||||
new = self.items;
|
||||
if (!new)
|
||||
new = other.weapon;
|
||||
old = other.items;
|
||||
other.items = other.items | new;
|
||||
|
||||
bound_other_ammo ();
|
||||
|
||||
sprint (other, "You get ");
|
||||
|
||||
if (self.ammo_shells)
|
||||
{
|
||||
if (acount)
|
||||
sprint(other, ", ");
|
||||
acount = 1;
|
||||
s = ftos(self.ammo_shells);
|
||||
sprint (other, s);
|
||||
sprint (other, " shells ");
|
||||
sprint (other, " shells");
|
||||
}
|
||||
if (self.ammo_nails)
|
||||
{
|
||||
if (acount)
|
||||
sprint(other, ", ");
|
||||
acount = 1;
|
||||
s = ftos(self.ammo_nails);
|
||||
sprint (other, s);
|
||||
sprint (other, " nails ");
|
||||
sprint (other, " nails");
|
||||
}
|
||||
if (self.ammo_rockets)
|
||||
{
|
||||
if (acount)
|
||||
sprint(other, ", ");
|
||||
acount = 1;
|
||||
s = ftos(self.ammo_rockets);
|
||||
sprint (other, s);
|
||||
sprint (other, " rockets ");
|
||||
sprint (other, " rockets");
|
||||
}
|
||||
if (self.ammo_cells)
|
||||
{
|
||||
if (acount)
|
||||
sprint(other, ", ");
|
||||
acount = 1;
|
||||
s = ftos(self.ammo_cells);
|
||||
sprint (other, s);
|
||||
sprint (other, " cells ");
|
||||
sprint (other, " cells");
|
||||
}
|
||||
|
||||
sprint (other, "\n");
|
||||
|
@ -1286,19 +1311,16 @@ void() BackpackTouch =
|
|||
sound (other, CHAN_ITEM, "weapons/lock4.wav", 1, ATTN_NORM);
|
||||
stuffcmd (other, "bf\n");
|
||||
|
||||
// change to a better weapon if appropriate
|
||||
if ( other.weapon == best )
|
||||
{
|
||||
stemp = self;
|
||||
self = other;
|
||||
self.weapon = W_BestWeapon();
|
||||
self = stemp;
|
||||
}
|
||||
|
||||
|
||||
// remove the backpack, change self to the player
|
||||
remove(self);
|
||||
|
||||
self = other;
|
||||
|
||||
// change to the weapon
|
||||
if (!deathmatch)
|
||||
self.weapon = new;
|
||||
else
|
||||
Deathmatch_Weapon (old, new);
|
||||
|
||||
W_SetCurrentAmmo ();
|
||||
};
|
||||
|
||||
|
@ -1318,6 +1340,24 @@ void() DropBackpack =
|
|||
item.origin = self.origin - '0 0 24';
|
||||
|
||||
item.items = self.weapon;
|
||||
if (item.items == IT_AXE)
|
||||
item.netname = "Axe";
|
||||
else if (item.items == IT_SHOTGUN)
|
||||
item.netname = "Shotgun";
|
||||
else if (item.items == IT_SUPER_SHOTGUN)
|
||||
item.netname = "Double-barrelled Shotgun";
|
||||
else if (item.items == IT_NAILGUN)
|
||||
item.netname = "Nailgun";
|
||||
else if (item.items == IT_SUPER_NAILGUN)
|
||||
item.netname = "Super Nailgun";
|
||||
else if (item.items == IT_GRENADE_LAUNCHER)
|
||||
item.netname = "Grenade Launcher";
|
||||
else if (item.items == IT_ROCKET_LAUNCHER)
|
||||
item.netname = "Rocket Launcher";
|
||||
else if (item.items == IT_LIGHTNING)
|
||||
item.netname = "Thunderbolt";
|
||||
else
|
||||
item.netname = "";
|
||||
|
||||
item.ammo_shells = self.ammo_shells;
|
||||
item.ammo_nails = self.ammo_nails;
|
||||
|
|
|
@ -6,7 +6,7 @@ KNIGHT
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/knight
|
||||
$cd id1/models/knight
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin badass3
|
||||
|
|
132
models.qc
132
models.qc
|
@ -8,7 +8,7 @@ WORLD WEAPONS
|
|||
*/
|
||||
|
||||
$modelname g_shot
|
||||
$cd /raid/quake/id1/models/g_shot
|
||||
$cd id1/models/g_shot
|
||||
$origin 0 0 -24
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
|
@ -17,7 +17,7 @@ $frame shot1
|
|||
|
||||
|
||||
$modelname g_nail
|
||||
$cd /raid/quake/id1/models/g_nail
|
||||
$cd id1/models/g_nail
|
||||
$flags 8 // client side rotate
|
||||
$origin 0 0 -24
|
||||
$base base
|
||||
|
@ -26,7 +26,7 @@ $frame shot1
|
|||
|
||||
|
||||
$modelname g_nail2
|
||||
$cd /raid/quake/id1/models/g_nail2
|
||||
$cd id1/models/g_nail2
|
||||
$flags 8 // client side rotate
|
||||
$origin 0 0 -24
|
||||
$base base
|
||||
|
@ -35,7 +35,7 @@ $frame shot2
|
|||
|
||||
|
||||
$modelname g_rock
|
||||
$cd /raid/quake/id1/models/g_rock
|
||||
$cd id1/models/g_rock
|
||||
$flags 8 // client side rotate
|
||||
$origin 0 0 -24
|
||||
$base base
|
||||
|
@ -44,7 +44,7 @@ $frame shot1
|
|||
|
||||
|
||||
$modelname g_rock2
|
||||
$cd /raid/quake/id1/models/g_rock2
|
||||
$cd id1/models/g_rock2
|
||||
$flags 8 // client side rotate
|
||||
$origin 0 0 -24
|
||||
$base base
|
||||
|
@ -52,7 +52,7 @@ $skin skin
|
|||
$frame shot1
|
||||
|
||||
$modelname g_light
|
||||
$cd /raid/quake/id1/models/g_light
|
||||
$cd id1/models/g_light
|
||||
$flags 8 // client side rotate
|
||||
$origin 0 0 -24
|
||||
$base base
|
||||
|
@ -68,7 +68,7 @@ VIEW WEAPONS
|
|||
*/
|
||||
|
||||
$modelname v_axe
|
||||
$cd /raid/quake/id1/models/v_axe
|
||||
$cd id1/models/v_axe
|
||||
$origin 0 5 54
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -76,7 +76,7 @@ $frame frame1 frame2 frame3 frame4 frame5 frame6 frame7 frame8 frame9
|
|||
|
||||
|
||||
$modelname v_shot
|
||||
$cd /raid/quake/id1/models/v_shot
|
||||
$cd id1/models/v_shot
|
||||
$origin 0 0 54
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -84,7 +84,7 @@ $frame shot1 shot2 shot3 shot4 shot5 shot6 shot7
|
|||
|
||||
|
||||
$modelname v_shot2
|
||||
$cd /raid/quake/id1/models/v_shot2
|
||||
$cd id1/models/v_shot2
|
||||
$origin 0 0 56
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -92,7 +92,7 @@ $frame shot1 shot2 shot3 shot4 shot5 shot6 shot7
|
|||
|
||||
|
||||
$modelname v_rock2
|
||||
$cd /raid/quake/id1/models/v_rock2
|
||||
$cd id1/models/v_rock2
|
||||
$origin 0 0 54
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -100,7 +100,7 @@ $frame shot1 shot2 shot3 shot4 shot5 shot6 shot6
|
|||
|
||||
|
||||
$modelname v_rock
|
||||
$cd /raid/quake/id1/models/v_rock
|
||||
$cd id1/models/v_rock
|
||||
$origin 0 0 54
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -108,7 +108,7 @@ $frame shot1 shot2 shot3 shot4 shot5 shot6 shot7
|
|||
|
||||
|
||||
$modelname v_nail2
|
||||
$cd /raid/quake/id1/models/v_nail2
|
||||
$cd id1/models/v_nail2
|
||||
$origin 0 0 54
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -116,14 +116,14 @@ $frame shot1 shot2 shot3 shot4 shot5 shot6 shot7 shot8 shot9
|
|||
|
||||
|
||||
$modelname v_nail
|
||||
$cd /raid/quake/id1/models/v_nail
|
||||
$cd id1/models/v_nail
|
||||
$origin 0 0 54
|
||||
$base base
|
||||
$skin skin
|
||||
$frame shot1 shot2 shot3 shot4 shot5 shot6 shot7 shot8 shot9
|
||||
|
||||
$modelname v_light
|
||||
$cd /raid/quake/id1/models/v_light
|
||||
$cd id1/models/v_light
|
||||
$origin 0 0 54
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -139,42 +139,42 @@ ITEMS
|
|||
*/
|
||||
|
||||
$modelname w_g_key
|
||||
$cd /raid/quake/id1/models/w_g_key
|
||||
$cd id1/models/w_g_key
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname w_s_key
|
||||
$cd /raid/quake/id1/models/w_s_key
|
||||
$cd id1/models/w_s_key
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname m_g_key
|
||||
$cd /raid/quake/id1/models/m_g_key
|
||||
$cd id1/models/m_g_key
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname m_s_key
|
||||
$cd /raid/quake/id1/models/m_s_key
|
||||
$cd id1/models/m_s_key
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname b_g_key
|
||||
$cd /raid/quake/id1/models/b_g_key
|
||||
$cd id1/models/b_g_key
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname b_s_key
|
||||
$cd /raid/quake/id1/models/b_s_key
|
||||
$cd id1/models/b_s_key
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -182,14 +182,14 @@ $frame frame1
|
|||
|
||||
|
||||
$modelname quaddama
|
||||
$cd /raid/quake/id1/models/quaddama
|
||||
$cd id1/models/quaddama
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname invisibl
|
||||
$cd /raid/quake/id1/models/invisibl
|
||||
$cd id1/models/invisibl
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -197,62 +197,62 @@ $frame frame1
|
|||
|
||||
$modelname invulner
|
||||
$flags 8 // client side rotate
|
||||
$cd /raid/quake/id1/models/invulner
|
||||
$cd id1/models/invulner
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
//modelname jetpack
|
||||
//cd /raid/quake/id1/models/jetpack
|
||||
//cd id1/models/jetpack
|
||||
//flags 8 // client side rotate
|
||||
//base base
|
||||
//skin skin
|
||||
//frame frame1
|
||||
|
||||
$modelname cube
|
||||
$cd /raid/quake/id1/models/cube
|
||||
$cd id1/models/cube
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname suit
|
||||
$cd /raid/quake/id1/models/suit
|
||||
$cd id1/models/suit
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname boots
|
||||
$cd /raid/quake/id1/models/boots
|
||||
$cd id1/models/boots
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname end1
|
||||
$cd /raid/quake/id1/models/end1
|
||||
$cd id1/models/end1
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname end2
|
||||
$cd /raid/quake/id1/models/end2
|
||||
$cd id1/models/end2
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname end3
|
||||
$cd /raid/quake/id1/models/end3
|
||||
$cd id1/models/end3
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname end4
|
||||
$cd /raid/quake/id1/models/end4
|
||||
$cd id1/models/end4
|
||||
$flags 8 // client side rotate
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -268,7 +268,7 @@ GIBS
|
|||
*/
|
||||
|
||||
$modelname gib1
|
||||
$cd /raid/quake/id1/models/gib1
|
||||
$cd id1/models/gib1
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -278,7 +278,7 @@ $frame frame1
|
|||
|
||||
// torso
|
||||
$modelname gib2
|
||||
$cd /raid/quake/id1/models/gib2
|
||||
$cd id1/models/gib2
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -286,7 +286,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname gib3
|
||||
$cd /raid/quake/id1/models/gib3
|
||||
$cd id1/models/gib3
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -297,7 +297,7 @@ $frame frame1
|
|||
// heads
|
||||
|
||||
$modelname h_player
|
||||
$cd /raid/quake/id1/models/h_player
|
||||
$cd id1/models/h_player
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -305,7 +305,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_dog
|
||||
$cd /raid/quake/id1/models/h_dog
|
||||
$cd id1/models/h_dog
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -313,7 +313,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_mega
|
||||
$cd /raid/quake/id1/models/h_mega
|
||||
$cd id1/models/h_mega
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -321,7 +321,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_guard
|
||||
$cd /raid/quake/id1/models/h_guard
|
||||
$cd id1/models/h_guard
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -329,7 +329,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_wizard
|
||||
$cd /raid/quake/id1/models/h_wizard
|
||||
$cd id1/models/h_wizard
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -337,7 +337,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_knight
|
||||
$cd /raid/quake/id1/models/h_knight
|
||||
$cd id1/models/h_knight
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -345,7 +345,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_hellkn
|
||||
$cd /raid/quake/id1/models/h_hellkn
|
||||
$cd id1/models/h_hellkn
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -353,7 +353,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_zombie
|
||||
$cd /raid/quake/id1/models/h_zombie
|
||||
$cd id1/models/h_zombie
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -361,7 +361,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_shams
|
||||
$cd /raid/quake/id1/models/h_shams
|
||||
$cd id1/models/h_shams
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -369,7 +369,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_shal
|
||||
$cd /raid/quake/id1/models/h_shal
|
||||
$cd id1/models/h_shal
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -377,7 +377,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_ogre
|
||||
$cd /raid/quake/id1/models/h_ogre
|
||||
$cd id1/models/h_ogre
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -385,7 +385,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname h_demon
|
||||
$cd /raid/quake/id1/models/h_demon
|
||||
$cd id1/models/h_demon
|
||||
$flags 4 // EF_GIB
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -401,7 +401,7 @@ MISC
|
|||
*/
|
||||
|
||||
$modelname armor
|
||||
$cd /raid/quake/id1/models/armor
|
||||
$cd id1/models/armor
|
||||
$flags 8 // client side rotate
|
||||
$origin 0 0 -8
|
||||
$base base
|
||||
|
@ -411,14 +411,14 @@ $skin skin3
|
|||
$frame armor
|
||||
|
||||
$modelname s_light // shambler lightning ready
|
||||
$cd /raid/quake/id1/models/s_light
|
||||
$cd id1/models/s_light
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1 frame2 frame3
|
||||
|
||||
$modelname bolt3 // lightning towar bolts
|
||||
$cd /raid/quake/id1/models/bolt2
|
||||
$cd id1/models/bolt2
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
$scale 4
|
||||
|
@ -426,28 +426,28 @@ $skin skin
|
|||
$frame light
|
||||
|
||||
$modelname bolt2
|
||||
$cd /raid/quake/id1/models/bolt2
|
||||
$cd id1/models/bolt2
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
$skin skin
|
||||
$frame light
|
||||
|
||||
$modelname bolt
|
||||
$cd /raid/quake/id1/models/bolt
|
||||
$cd id1/models/bolt
|
||||
$origin 0 0 0
|
||||
$base light
|
||||
$skin light
|
||||
$frame light
|
||||
|
||||
$modelname laser
|
||||
$cd /raid/quake/id1/models/laser
|
||||
$cd id1/models/laser
|
||||
$base base
|
||||
$skin skin
|
||||
$scale 2
|
||||
$frame frame1
|
||||
|
||||
$modelname flame // with torch
|
||||
$cd /raid/quake/id1/models/flame
|
||||
$cd id1/models/flame
|
||||
$origin 0 0 12
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -461,7 +461,7 @@ $frame flame6 0.1
|
|||
$framegroupend
|
||||
|
||||
$modelname flame2 // standing flame, no torch
|
||||
$cd /raid/quake/id1/models/flame2
|
||||
$cd id1/models/flame2
|
||||
$origin 0 0 12
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -488,35 +488,35 @@ $frame flameb11
|
|||
$framegroupend
|
||||
|
||||
$modelname zom_gib
|
||||
$cd /raid/quake/id1/models/zom_gib
|
||||
$cd id1/models/zom_gib
|
||||
$flags 32 // EF_ZOMGIB
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname eyes
|
||||
$cd /raid/quake/id1/models/eyes
|
||||
$cd id1/models/eyes
|
||||
$origin 0 0 -24
|
||||
$base base
|
||||
$skin skin
|
||||
$frame frame1
|
||||
|
||||
$modelname spike
|
||||
$cd /raid/quake/id1/models/spike
|
||||
$cd id1/models/spike
|
||||
$origin 0 0 0
|
||||
$base spike
|
||||
$skin skin
|
||||
$frame spike
|
||||
|
||||
$modelname s_spike
|
||||
$cd /raid/quake/id1/models/s_spike
|
||||
$cd id1/models/s_spike
|
||||
$origin 0 0 0
|
||||
$base spike
|
||||
$skin skin
|
||||
$frame spike
|
||||
|
||||
$modelname v_spike
|
||||
$cd /raid/quake/id1/models/v_spike
|
||||
$cd id1/models/v_spike
|
||||
$flags 128 // EF_TRACER3
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -524,7 +524,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname w_spike
|
||||
$cd /raid/quake/id1/models/w_spike
|
||||
$cd id1/models/w_spike
|
||||
$flags 16 // EF_TRACER
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -537,7 +537,7 @@ $frame frame4 0.1
|
|||
$framegroupend
|
||||
|
||||
$modelname k_spike
|
||||
$cd /raid/quake/id1/models/k_spike
|
||||
$cd id1/models/k_spike
|
||||
$flags 64 // EF_TRACER2
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -545,7 +545,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname backpack
|
||||
$cd /raid/quake/id1/models/backpack
|
||||
$cd id1/models/backpack
|
||||
$flags 8 // EF_ROTATE
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -553,7 +553,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname grenade
|
||||
$cd /raid/quake/id1/models/grenade2
|
||||
$cd id1/models/grenade2
|
||||
$flags 2 // EF_GRENADE
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -561,7 +561,7 @@ $skin skin
|
|||
$frame grenade
|
||||
|
||||
$modelname missile
|
||||
$cd /raid/quake/id1/models/missile
|
||||
$cd id1/models/missile
|
||||
$flags 1 // EF_ROCKET
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -569,7 +569,7 @@ $skin skin
|
|||
$frame missile
|
||||
|
||||
$modelname lavaball
|
||||
$cd /raid/quake/id1/models/lavaball
|
||||
$cd id1/models/lavaball
|
||||
$flags 1 // EF_ROCKET
|
||||
$origin 0 0 0
|
||||
$base base
|
||||
|
@ -577,7 +577,7 @@ $skin skin
|
|||
$frame frame1
|
||||
|
||||
$modelname teleport
|
||||
$cd /raid/quake/id1/models/teleport
|
||||
$cd id1/models/teleport
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
2
ogre.qc
2
ogre.qc
|
@ -6,7 +6,7 @@ OGRE
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/ogre_c
|
||||
$cd id1/models/ogre_c
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin base
|
||||
|
|
10
oldone.qc
10
oldone.qc
|
@ -5,7 +5,7 @@ OLD ONE
|
|||
|
||||
==============================================================================
|
||||
*/
|
||||
$cd /raid/quake/id1/models/old_one
|
||||
$cd id1/models/old_one
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
@ -239,6 +239,13 @@ void() finale_4 =
|
|||
|
||||
//============================================================================
|
||||
|
||||
void () nopain =
|
||||
{
|
||||
self.health = 40000;
|
||||
};
|
||||
|
||||
//============================================================================
|
||||
|
||||
|
||||
/*QUAKED monster_oldone (1 0 0) (-16 -16 -24) (16 16 32)
|
||||
*/
|
||||
|
@ -267,6 +274,7 @@ void() monster_oldone =
|
|||
self.think = old_idle1;
|
||||
self.nextthink = time + 0.1;
|
||||
self.takedamage = DAMAGE_YES;
|
||||
self.th_pain = nopain;
|
||||
self.th_die = finale_1;
|
||||
shub = self;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ PLAYER
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/player_4
|
||||
$cd id1/models/player_4
|
||||
$origin 0 -6 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
143
progdefs.h
Normal file
143
progdefs.h
Normal file
|
@ -0,0 +1,143 @@
|
|||
|
||||
/* file generated by qcc, do not modify */
|
||||
|
||||
typedef struct
|
||||
{ int pad[28];
|
||||
int self;
|
||||
int other;
|
||||
int world;
|
||||
float time;
|
||||
float frametime;
|
||||
float force_retouch;
|
||||
string_t mapname;
|
||||
float deathmatch;
|
||||
float coop;
|
||||
float teamplay;
|
||||
float serverflags;
|
||||
float total_secrets;
|
||||
float total_monsters;
|
||||
float found_secrets;
|
||||
float killed_monsters;
|
||||
float parm1;
|
||||
float parm2;
|
||||
float parm3;
|
||||
float parm4;
|
||||
float parm5;
|
||||
float parm6;
|
||||
float parm7;
|
||||
float parm8;
|
||||
float parm9;
|
||||
float parm10;
|
||||
float parm11;
|
||||
float parm12;
|
||||
float parm13;
|
||||
float parm14;
|
||||
float parm15;
|
||||
float parm16;
|
||||
vec3_t v_forward;
|
||||
vec3_t v_up;
|
||||
vec3_t v_right;
|
||||
float trace_allsolid;
|
||||
float trace_startsolid;
|
||||
float trace_fraction;
|
||||
vec3_t trace_endpos;
|
||||
vec3_t trace_plane_normal;
|
||||
float trace_plane_dist;
|
||||
int trace_ent;
|
||||
float trace_inopen;
|
||||
float trace_inwater;
|
||||
int msg_entity;
|
||||
func_t main;
|
||||
func_t StartFrame;
|
||||
func_t PlayerPreThink;
|
||||
func_t PlayerPostThink;
|
||||
func_t ClientKill;
|
||||
func_t ClientConnect;
|
||||
func_t PutClientInServer;
|
||||
func_t ClientDisconnect;
|
||||
func_t SetNewParms;
|
||||
func_t SetChangeParms;
|
||||
} globalvars_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float modelindex;
|
||||
vec3_t absmin;
|
||||
vec3_t absmax;
|
||||
float ltime;
|
||||
float movetype;
|
||||
float solid;
|
||||
vec3_t origin;
|
||||
vec3_t oldorigin;
|
||||
vec3_t velocity;
|
||||
vec3_t angles;
|
||||
vec3_t avelocity;
|
||||
vec3_t punchangle;
|
||||
string_t classname;
|
||||
string_t model;
|
||||
float frame;
|
||||
float skin;
|
||||
float effects;
|
||||
vec3_t mins;
|
||||
vec3_t maxs;
|
||||
vec3_t size;
|
||||
func_t touch;
|
||||
func_t use;
|
||||
func_t think;
|
||||
func_t blocked;
|
||||
float nextthink;
|
||||
int groundentity;
|
||||
float health;
|
||||
float frags;
|
||||
float weapon;
|
||||
string_t weaponmodel;
|
||||
float weaponframe;
|
||||
float currentammo;
|
||||
float ammo_shells;
|
||||
float ammo_nails;
|
||||
float ammo_rockets;
|
||||
float ammo_cells;
|
||||
float items;
|
||||
float takedamage;
|
||||
int chain;
|
||||
float deadflag;
|
||||
vec3_t view_ofs;
|
||||
float button0;
|
||||
float button1;
|
||||
float button2;
|
||||
float impulse;
|
||||
float fixangle;
|
||||
vec3_t v_angle;
|
||||
float idealpitch;
|
||||
string_t netname;
|
||||
int enemy;
|
||||
float flags;
|
||||
float colormap;
|
||||
float team;
|
||||
float max_health;
|
||||
float teleport_time;
|
||||
float armortype;
|
||||
float armorvalue;
|
||||
float waterlevel;
|
||||
float watertype;
|
||||
float ideal_yaw;
|
||||
float yaw_speed;
|
||||
int aiment;
|
||||
int goalentity;
|
||||
float spawnflags;
|
||||
string_t target;
|
||||
string_t targetname;
|
||||
float dmg_take;
|
||||
float dmg_save;
|
||||
int dmg_inflictor;
|
||||
int owner;
|
||||
vec3_t movedir;
|
||||
string_t message;
|
||||
float sounds;
|
||||
string_t noise;
|
||||
string_t noise1;
|
||||
string_t noise2;
|
||||
string_t noise3;
|
||||
} entvars_t;
|
||||
|
||||
#define PROGHEADER_CRC 5927
|
|
@ -5,7 +5,7 @@ SHAL-RATH
|
|||
|
||||
==============================================================================
|
||||
*/
|
||||
$cd /raid/quake/id1/models/shalrath
|
||||
$cd id1/models/shalrath
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
|
@ -6,7 +6,7 @@ SHAMBLER
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/shams
|
||||
$cd id1/models/shams
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
$skin base
|
||||
|
|
|
@ -6,7 +6,7 @@ SOLDIER / PLAYER
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/soldier3
|
||||
$cd id1/models/soldier3
|
||||
$origin 0 -6 24
|
||||
$base base
|
||||
$skin skin
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
$spritename s_explod
|
||||
$type vp_parallel
|
||||
$load /raid/quake/id1/gfx/sprites/explod03.lbm
|
||||
$load id1/gfx/sprites/explod03.lbm
|
||||
$frame 24 24 56 56
|
||||
$frame 120 24 56 56
|
||||
$frame 216 24 56 56
|
||||
|
@ -14,13 +14,13 @@ $frame 216 88 56 56
|
|||
|
||||
$spritename s_bubble
|
||||
$type vp_parallel
|
||||
$load /raid/quake/id1/gfx/sprites/bubble.lbm
|
||||
$load id1/gfx/sprites/bubble.lbm
|
||||
$frame 16 16 16 16
|
||||
$frame 40 16 16 16
|
||||
|
||||
|
||||
$spritename s_light
|
||||
$type vp_parallel
|
||||
$load /raid/quake/id1/gfx/sprites/light.lbm
|
||||
$load id1/gfx/sprites/light.lbm
|
||||
$frame 104 32 32 32
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ BLOB
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/tarbaby
|
||||
$cd id1/models/tarbaby
|
||||
$origin 0 0 24
|
||||
$base base
|
||||
|
||||
|
|
105
weapons.qc
105
weapons.qc
|
@ -39,6 +39,7 @@ void() W_FireAxe =
|
|||
local vector source;
|
||||
local vector org;
|
||||
|
||||
makevectors (self.v_angle);
|
||||
source = self.origin + '0 0 16';
|
||||
traceline (source, source + v_forward*64, FALSE, self);
|
||||
if (trace_fraction == 1.0)
|
||||
|
@ -384,6 +385,7 @@ void() W_FireRocket =
|
|||
missile.owner = self;
|
||||
missile.movetype = MOVETYPE_FLYMISSILE;
|
||||
missile.solid = SOLID_BBOX;
|
||||
missile.classname = "missile";
|
||||
|
||||
// set missile speed
|
||||
|
||||
|
@ -463,6 +465,7 @@ void(vector p1, vector p2, entity from, float damage) LightningDamage =
|
|||
void() W_FireLightning =
|
||||
{
|
||||
local vector org;
|
||||
local float cells;
|
||||
|
||||
if (self.ammo_cells < 1)
|
||||
{
|
||||
|
@ -474,9 +477,10 @@ void() W_FireLightning =
|
|||
// explode if under water
|
||||
if (self.waterlevel > 1)
|
||||
{
|
||||
T_RadiusDamage (self, self, 35*self.ammo_cells, world);
|
||||
cells = self.ammo_cells;
|
||||
self.ammo_cells = 0;
|
||||
W_SetCurrentAmmo ();
|
||||
T_RadiusDamage (self, self, 35*cells, world);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -826,25 +830,16 @@ float() W_BestWeapon =
|
|||
|
||||
it = self.items;
|
||||
|
||||
if(self.ammo_cells >= 1 && (it & IT_LIGHTNING) )
|
||||
return IT_LIGHTNING;
|
||||
else if(self.ammo_nails >= 2 && (it & IT_SUPER_NAILGUN) )
|
||||
if (self.waterlevel <= 1 && self.ammo_cells >= 1 && (it & IT_LIGHTNING) )
|
||||
return IT_LIGHTNING;
|
||||
if(self.ammo_nails >= 2 && (it & IT_SUPER_NAILGUN) )
|
||||
return IT_SUPER_NAILGUN;
|
||||
else if(self.ammo_shells >= 2 && (it & IT_SUPER_SHOTGUN) )
|
||||
if(self.ammo_shells >= 2 && (it & IT_SUPER_SHOTGUN) )
|
||||
return IT_SUPER_SHOTGUN;
|
||||
else if(self.ammo_nails >= 1 && (it & IT_NAILGUN) )
|
||||
if(self.ammo_nails >= 1 && (it & IT_NAILGUN) )
|
||||
return IT_NAILGUN;
|
||||
else if(self.ammo_shells >= 1 && (it & IT_SHOTGUN) )
|
||||
if(self.ammo_shells >= 1 && (it & IT_SHOTGUN) )
|
||||
return IT_SHOTGUN;
|
||||
|
||||
/*
|
||||
if(self.ammo_rockets >= 1 && (it & IT_ROCKET_LAUNCHER) )
|
||||
return IT_ROCKET_LAUNCHER;
|
||||
else if(self.ammo_rockets >= 1 && (it & IT_GRENADE_LAUNCHER) )
|
||||
return IT_GRENADE_LAUNCHER;
|
||||
|
||||
*/
|
||||
|
||||
return IT_AXE;
|
||||
};
|
||||
|
||||
|
@ -1121,7 +1116,81 @@ void() CycleWeaponCommand =
|
|||
am = 1;
|
||||
}
|
||||
|
||||
if ( (self.items & self.weapon) && am == 0)
|
||||
if ( (it & self.weapon) && am == 0)
|
||||
{
|
||||
W_SetCurrentAmmo ();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
============
|
||||
CycleWeaponReverseCommand
|
||||
|
||||
Go to the prev weapon with ammo
|
||||
============
|
||||
*/
|
||||
void() CycleWeaponReverseCommand =
|
||||
{
|
||||
local float it, am;
|
||||
|
||||
it = self.items;
|
||||
self.impulse = 0;
|
||||
|
||||
while (1)
|
||||
{
|
||||
am = 0;
|
||||
|
||||
if (self.weapon == IT_LIGHTNING)
|
||||
{
|
||||
self.weapon = IT_ROCKET_LAUNCHER;
|
||||
if (self.ammo_rockets < 1)
|
||||
am = 1;
|
||||
}
|
||||
else if (self.weapon == IT_ROCKET_LAUNCHER)
|
||||
{
|
||||
self.weapon = IT_GRENADE_LAUNCHER;
|
||||
if (self.ammo_rockets < 1)
|
||||
am = 1;
|
||||
}
|
||||
else if (self.weapon == IT_GRENADE_LAUNCHER)
|
||||
{
|
||||
self.weapon = IT_SUPER_NAILGUN;
|
||||
if (self.ammo_nails < 2)
|
||||
am = 1;
|
||||
}
|
||||
else if (self.weapon == IT_SUPER_NAILGUN)
|
||||
{
|
||||
self.weapon = IT_NAILGUN;
|
||||
if (self.ammo_nails < 1)
|
||||
am = 1;
|
||||
}
|
||||
else if (self.weapon == IT_NAILGUN)
|
||||
{
|
||||
self.weapon = IT_SUPER_SHOTGUN;
|
||||
if (self.ammo_shells < 2)
|
||||
am = 1;
|
||||
}
|
||||
else if (self.weapon == IT_SUPER_SHOTGUN)
|
||||
{
|
||||
self.weapon = IT_SHOTGUN;
|
||||
if (self.ammo_shells < 1)
|
||||
am = 1;
|
||||
}
|
||||
else if (self.weapon == IT_SHOTGUN)
|
||||
{
|
||||
self.weapon = IT_AXE;
|
||||
}
|
||||
else if (self.weapon == IT_AXE)
|
||||
{
|
||||
self.weapon = IT_LIGHTNING;
|
||||
if (self.ammo_cells < 1)
|
||||
am = 1;
|
||||
}
|
||||
|
||||
if ( (it & self.weapon) && am == 0)
|
||||
{
|
||||
W_SetCurrentAmmo ();
|
||||
return;
|
||||
|
@ -1169,6 +1238,8 @@ void() ImpulseCommands =
|
|||
CycleWeaponCommand ();
|
||||
if (self.impulse == 11)
|
||||
ServerflagsCommand ();
|
||||
if (self.impulse == 12)
|
||||
CycleWeaponReverseCommand ();
|
||||
|
||||
if (self.impulse == 255)
|
||||
QuadCheat ();
|
||||
|
|
|
@ -6,7 +6,7 @@ WIZARD
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
$cd /raid/quake/id1/models/a_wizard
|
||||
$cd id1/models/a_wizard
|
||||
$origin 0 0 24
|
||||
$base wizbase
|
||||
$skin wizbase
|
||||
|
|
|
@ -5,7 +5,7 @@ ZOMBIE
|
|||
|
||||
==============================================================================
|
||||
*/
|
||||
$cd /raid/quake/id1/models/zombie
|
||||
$cd id1/models/zombie
|
||||
|
||||
$origin 0 0 24
|
||||
|
||||
|
|
Loading…
Reference in a new issue