add info to file headers and move globals to defs.qc
This commit is contained in:
parent
cee2b4b67a
commit
35e64ea09f
20
progs.src
20
progs.src
|
@ -1,21 +1,23 @@
|
||||||
progs.dat
|
progs.dat
|
||||||
|
|
||||||
source/defs.qc
|
source/defs.qc
|
||||||
source/subs.qc
|
|
||||||
source/fight.qc
|
source/fight.qc
|
||||||
|
source/subs.qc
|
||||||
|
|
||||||
source/ai.qc
|
source/ai.qc
|
||||||
|
source/buttons.qc
|
||||||
|
source/client.qc
|
||||||
source/combat.qc
|
source/combat.qc
|
||||||
|
source/doors.qc
|
||||||
source/items.qc
|
source/items.qc
|
||||||
|
source/misc.qc
|
||||||
|
source/monsters.qc
|
||||||
|
source/plats.qc
|
||||||
|
source/player.qc
|
||||||
|
source/triggers.qc
|
||||||
source/weapons.qc
|
source/weapons.qc
|
||||||
source/world.qc
|
source/world.qc
|
||||||
source/client.qc
|
|
||||||
source/player.qc
|
|
||||||
source/monsters.qc
|
|
||||||
source/doors.qc
|
|
||||||
source/buttons.qc
|
|
||||||
source/triggers.qc
|
|
||||||
source/plats.qc
|
|
||||||
source/misc.qc
|
|
||||||
|
|
||||||
source/ogre.qc
|
source/ogre.qc
|
||||||
source/demon.qc
|
source/demon.qc
|
||||||
|
|
30
source/ai.qc
30
source/ai.qc
|
@ -1,38 +1,10 @@
|
||||||
/*
|
// ai.qc: monster AI functions
|
||||||
|
|
||||||
.enemy
|
|
||||||
Will be world if not currently angry at anyone.
|
|
||||||
|
|
||||||
.movetarget
|
|
||||||
The next path spot to walk toward. If .enemy, ignore .movetarget.
|
|
||||||
When an enemy is killed, the monster will try to return to it's path.
|
|
||||||
|
|
||||||
.huntt_ime
|
|
||||||
Set to time + something when the player is in sight, but movement straight for
|
|
||||||
him is blocked. This causes the monster to use wall following code for
|
|
||||||
movement direction instead of sighting on the player.
|
|
||||||
|
|
||||||
.ideal_yaw
|
|
||||||
A yaw angle of the intended direction, which will be turned towards at up
|
|
||||||
to 45 deg / state. If the enemy is in view and hunt_time is not active,
|
|
||||||
this will be the exact line towards the enemy.
|
|
||||||
|
|
||||||
.pausetime
|
|
||||||
A monster will leave it's stand state and head towards it's .movetarget when
|
|
||||||
time > .pausetime.
|
|
||||||
|
|
||||||
walkmove(angle, speed) primitive is all or nothing
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// when a monster becomes angry at a player, that monster will be used
|
// when a monster becomes angry at a player, that monster will be used
|
||||||
// as the sight target the next frame so that monsters near that one
|
// as the sight target the next frame so that monsters near that one
|
||||||
// will wake up even if they wouldn't have noticed the player
|
// will wake up even if they wouldn't have noticed the player
|
||||||
//
|
//
|
||||||
entity sight_entity;
|
|
||||||
float sight_entity_time;
|
|
||||||
|
|
||||||
float(float v) anglemod = {
|
float(float v) anglemod = {
|
||||||
while(v >= 360) {
|
while(v >= 360) {
|
||||||
v = v - 360;
|
v = v - 360;
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
/*
|
// boss.qc: Chthon, boss of E1
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
BOSS-ONE
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
$cd id1 / models / boss1
|
$cd id1 / models / boss1
|
||||||
$origin 0 0 - 15
|
$origin 0 0 - 15
|
||||||
$base base
|
$base base
|
||||||
|
@ -275,9 +270,6 @@ void() monster_boss = {
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
entity le1, le2;
|
|
||||||
float lightning_end;
|
|
||||||
|
|
||||||
void() lightning_fire = {
|
void() lightning_fire = {
|
||||||
local vector p1, p2;
|
local vector p1, p2;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// button and multiple button
|
// buttons.qc: button and multiple button
|
||||||
|
|
||||||
void() button_wait = {
|
void() button_wait = {
|
||||||
self.state = STATE_TOP;
|
self.state = STATE_TOP;
|
||||||
|
|
|
@ -1,16 +1,32 @@
|
||||||
float modelindex_eyes, modelindex_player;
|
// client.qc: player-adjacent functions
|
||||||
|
|
||||||
|
void() player_axe1;
|
||||||
|
void() player_axeb1;
|
||||||
|
void() player_axec1;
|
||||||
|
void() player_axed1;
|
||||||
|
void() player_die_ax1;
|
||||||
|
void() player_diea1;
|
||||||
|
void() player_dieb1;
|
||||||
|
void() player_diec1;
|
||||||
|
void() player_died1;
|
||||||
|
void() player_diee1;
|
||||||
|
void() player_light1;
|
||||||
|
void() player_nail1;
|
||||||
|
void() player_pain;
|
||||||
|
void() player_rocket1;
|
||||||
|
void() player_run;
|
||||||
|
void() player_run;
|
||||||
|
void() player_shot1;
|
||||||
|
void() player_stand1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
=============================================================================
|
=============================================================================
|
||||||
|
|
||||||
LEVEL CHANGING / INTERMISSION
|
LEVEL CHANGING / INTERMISSION
|
||||||
|
|
||||||
=============================================================================
|
=============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
float intermission_running;
|
|
||||||
float intermission_exittime;
|
|
||||||
|
|
||||||
/*QUAKED info_intermission(1 0.5 0.5) (-16 -16 -16) (16 16 16)
|
/*QUAKED info_intermission(1 0.5 0.5) (-16 -16 -16) (16 16 16)
|
||||||
This is the camera point for the intermission.
|
This is the camera point for the intermission.
|
||||||
Use mangle instead of angle, so you can set pitch or roll as well as yaw. 'pitch roll yaw'
|
Use mangle instead of angle, so you can set pitch or roll as well as yaw. 'pitch roll yaw'
|
||||||
|
@ -120,8 +136,6 @@ entity() FindIntermission = {
|
||||||
objerror("FindIntermission: no spot");
|
objerror("FindIntermission: no spot");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
string nextmap;
|
|
||||||
void() GotoNextMap = {
|
void() GotoNextMap = {
|
||||||
if(cvar("samelevel")) { // if samelevel is set, stay on same level
|
if(cvar("samelevel")) { // if samelevel is set, stay on same level
|
||||||
changelevel(mapname);
|
changelevel(mapname);
|
||||||
|
@ -700,8 +714,6 @@ WaterMove
|
||||||
|
|
||||||
============
|
============
|
||||||
*/
|
*/
|
||||||
.float dmgtime;
|
|
||||||
|
|
||||||
void() WaterMove = {
|
void() WaterMove = {
|
||||||
//dprint(ftos(self.waterlevel));
|
//dprint(ftos(self.waterlevel));
|
||||||
if(self.movetype == MOVETYPE_NOCLIP) {
|
if(self.movetype == MOVETYPE_NOCLIP) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//============================================================================
|
// combat.qc: entity-entity damage functions
|
||||||
|
|
||||||
float(entity targ, entity attacker) SameTeam = {
|
float(entity targ, entity attacker) SameTeam = {
|
||||||
return targ.team > 0 && targ.team == attacker.team;
|
return targ.team > 0 && targ.team == attacker.team;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// defs.qc: global definitions
|
||||||
|
|
||||||
// system globals ------------------------------------------------------------|
|
// system globals ------------------------------------------------------------|
|
||||||
#pragma noref 1
|
#pragma noref 1
|
||||||
entity self;
|
entity self;
|
||||||
|
@ -133,6 +135,7 @@ void end_sys_globals; // flag for structure dumping
|
||||||
|
|
||||||
.string netname;
|
.string netname;
|
||||||
|
|
||||||
|
// Will be world if not currently angry at anyone.
|
||||||
.entity enemy;
|
.entity enemy;
|
||||||
|
|
||||||
.float flags;
|
.float flags;
|
||||||
|
@ -150,7 +153,11 @@ void end_sys_globals; // flag for structure dumping
|
||||||
.float waterlevel; // 0 = not in, 1 = feet, 2 = wast, 3 = eyes
|
.float waterlevel; // 0 = not in, 1 = feet, 2 = wast, 3 = eyes
|
||||||
.float watertype; // a contents value
|
.float watertype; // a contents value
|
||||||
|
|
||||||
|
// A yaw angle of the intended direction, which will be turned towards at up
|
||||||
|
// to 45 deg / state. If the enemy is in view and hunt_time is not active,
|
||||||
|
// this will be the exact line towards the enemy.
|
||||||
.float ideal_yaw;
|
.float ideal_yaw;
|
||||||
|
|
||||||
.float yaw_speed;
|
.float yaw_speed;
|
||||||
|
|
||||||
.entity aiment;
|
.entity aiment;
|
||||||
|
@ -478,6 +485,33 @@ float framecount;
|
||||||
|
|
||||||
float skill;
|
float skill;
|
||||||
|
|
||||||
|
float enemy_vis, enemy_infront, enemy_range;
|
||||||
|
float enemy_yaw;
|
||||||
|
|
||||||
|
entity lastspawn;
|
||||||
|
|
||||||
|
entity multi_ent;
|
||||||
|
float multi_damage;
|
||||||
|
|
||||||
|
entity shub;
|
||||||
|
|
||||||
|
entity le1, le2;
|
||||||
|
float lightning_end;
|
||||||
|
|
||||||
|
float hknight_type;
|
||||||
|
|
||||||
|
entity bodyque_head;
|
||||||
|
|
||||||
|
float modelindex_eyes, modelindex_player;
|
||||||
|
|
||||||
|
float intermission_running;
|
||||||
|
float intermission_exittime;
|
||||||
|
|
||||||
|
string nextmap;
|
||||||
|
|
||||||
|
entity sight_entity;
|
||||||
|
float sight_entity_time;
|
||||||
|
|
||||||
// fields --------------------------------------------------------------------|
|
// fields --------------------------------------------------------------------|
|
||||||
|
|
||||||
// world fields
|
// world fields
|
||||||
|
@ -551,8 +585,12 @@ float skill;
|
||||||
.entity trigger_field; // door's trigger entity
|
.entity trigger_field; // door's trigger entity
|
||||||
.string noise4;
|
.string noise4;
|
||||||
|
|
||||||
// monsters
|
// A monster will leave its stand state and head towards it's .movetarget when
|
||||||
|
// time > .pausetime.
|
||||||
.float pausetime;
|
.float pausetime;
|
||||||
|
|
||||||
|
// The next path spot to walk toward. If .enemy, ignore .movetarget.
|
||||||
|
// When an enemy is killed, the monster will try to return to it's path.
|
||||||
.entity movetarget;
|
.entity movetarget;
|
||||||
|
|
||||||
// doors
|
// doors
|
||||||
|
@ -580,14 +618,24 @@ float skill;
|
||||||
.float distance;
|
.float distance;
|
||||||
.float volume;
|
.float volume;
|
||||||
|
|
||||||
|
.float hit_z;
|
||||||
|
|
||||||
|
.float dmgtime;
|
||||||
|
|
||||||
|
.float inpain;
|
||||||
|
|
||||||
|
.float healamount, healtype;
|
||||||
|
|
||||||
// functions -----------------------------------------------------------------|
|
// functions -----------------------------------------------------------------|
|
||||||
|
|
||||||
// subs.qc
|
// subs.qc
|
||||||
|
void(float normal) SUB_AttackFinished;
|
||||||
void(vector tdest, float tspeed, void() func) SUB_CalcMove;
|
void(vector tdest, float tspeed, void() func) SUB_CalcMove;
|
||||||
void(entity ent, vector tdest, float tspeed, void() func) SUB_CalcMoveEnt;
|
void(entity ent, vector tdest, float tspeed, void() func) SUB_CalcMoveEnt;
|
||||||
void(vector destangle, float tspeed, void() func) SUB_CalcAngleMove;
|
void(vector destangle, float tspeed, void() func) SUB_CalcAngleMove;
|
||||||
void() SUB_CalcMoveDone;
|
void() SUB_CalcMoveDone;
|
||||||
void() SUB_CalcAngleMoveDone;
|
void() SUB_CalcAngleMoveDone;
|
||||||
|
void(void() thinkst) SUB_CheckRefire;
|
||||||
void() SUB_Null;
|
void() SUB_Null;
|
||||||
void() SUB_UseTargets;
|
void() SUB_UseTargets;
|
||||||
void() SUB_Remove;
|
void() SUB_Remove;
|
||||||
|
@ -597,9 +645,20 @@ void(entity targ, entity inflictor, entity attacker, float damage) T_Damage;
|
||||||
float(entity e, float healamount, float ignore) T_Heal; // health function
|
float(entity e, float healamount, float ignore) T_Heal; // health function
|
||||||
float(entity targ, entity inflictor) CanDamage;
|
float(entity targ, entity inflictor) CanDamage;
|
||||||
|
|
||||||
|
// weapons.qc
|
||||||
|
void() W_FireAxe;
|
||||||
|
void() W_FireShotgun;
|
||||||
|
void() W_FireSuperShotgun;
|
||||||
|
void() W_FireRocket;
|
||||||
|
void() W_FireLightning;
|
||||||
|
void() W_FireGrenade;
|
||||||
|
void(float ox) W_FireSpikes;
|
||||||
|
void() W_FireSuperSpikes;
|
||||||
|
float() W_BestWeapon;
|
||||||
|
|
||||||
|
float() crandom;
|
||||||
float() DemonCheckAttack;
|
float() DemonCheckAttack;
|
||||||
float() DogCheckAttack;
|
float() DogCheckAttack;
|
||||||
float() W_BestWeapon;
|
|
||||||
float() WizardCheckAttack;
|
float() WizardCheckAttack;
|
||||||
float(entity targ) infront;
|
float(entity targ) infront;
|
||||||
float(entity targ) range;
|
float(entity targ) range;
|
||||||
|
@ -607,6 +666,7 @@ float(entity targ) visible;
|
||||||
float(entity targ, entity attacker) SameTeam;
|
float(entity targ, entity attacker) SameTeam;
|
||||||
float(float v) anglemod;
|
float(float v) anglemod;
|
||||||
void() DecodeLevelParms;
|
void() DecodeLevelParms;
|
||||||
|
void(entity ent) CopyToBodyQue;
|
||||||
void() Demon_JumpTouch;
|
void() Demon_JumpTouch;
|
||||||
void() InitBodyQue;
|
void() InitBodyQue;
|
||||||
void() PlayerDie;
|
void() PlayerDie;
|
||||||
|
@ -664,28 +724,10 @@ void() plat_go_down;
|
||||||
void() plat_go_up;
|
void() plat_go_up;
|
||||||
void() plat_outside_touch;
|
void() plat_outside_touch;
|
||||||
void() plat_trigger_use;
|
void() plat_trigger_use;
|
||||||
void() player_axe1;
|
|
||||||
void() player_axeb1;
|
|
||||||
void() player_axec1;
|
|
||||||
void() player_axed1;
|
|
||||||
void() player_die_ax1;
|
|
||||||
void() player_diea1;
|
|
||||||
void() player_dieb1;
|
|
||||||
void() player_diec1;
|
|
||||||
void() player_died1;
|
|
||||||
void() player_diee1;
|
|
||||||
void() player_light1;
|
|
||||||
void() player_nail1;
|
|
||||||
void() player_pain;
|
|
||||||
void() player_rocket1;
|
|
||||||
void() player_run;
|
|
||||||
void() player_run;
|
|
||||||
void() player_shot1;
|
|
||||||
void() player_stand1;
|
|
||||||
void() powerup_touch;
|
void() powerup_touch;
|
||||||
void() set_suicide_frame;
|
void() set_suicide_frame;
|
||||||
void() shalrath_pain;
|
|
||||||
void() sham_smash1;
|
void() sham_smash1;
|
||||||
|
void(vector org, vector dir) launch_spike;
|
||||||
void() sham_swingl1;
|
void() sham_swingl1;
|
||||||
void() sham_swingr1;
|
void() sham_swingr1;
|
||||||
void() sham_swingr1;
|
void() sham_swingr1;
|
||||||
|
@ -704,10 +746,13 @@ void(entity targ, entity inflictor, entity attacker, float damage) T_Damage;
|
||||||
void(float num_bubbles) DeathBubbles;
|
void(float num_bubbles) DeathBubbles;
|
||||||
void(float side) Demon_Melee;
|
void(float side) Demon_Melee;
|
||||||
void(vector dest) ChooseTurn;
|
void(vector dest) ChooseTurn;
|
||||||
void(vector org) spawn_tfog;
|
|
||||||
void(vector org, entity death_owner) spawn_tdeath;
|
|
||||||
void(vector org, vector vec) LaunchLaser;
|
void(vector org, vector vec) LaunchLaser;
|
||||||
void(vector org, vector vel, float damage) SpawnBlood;
|
void(vector org, vector vel, float damage) SpawnBlood;
|
||||||
|
void() BecomeExplosion;
|
||||||
|
|
||||||
|
void(vector org) spawn_tfog;
|
||||||
|
void(vector org, entity death_owner) spawn_tdeath;
|
||||||
|
|
||||||
void(vector p) boss_missile;
|
void(vector p) boss_missile;
|
||||||
|
|
||||||
// EOF
|
// EOF
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// demon.qc: Fiend
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
DEMON
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / demon3
|
$cd id1 / models / demon3
|
||||||
$scale 0.8
|
$scale 0.8
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
/*
|
// dog.qc: Rottweiler
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
DOG
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
$cd id1 / models / dog
|
$cd id1 / models / dog
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
$base base
|
$base base
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// doors.qc: player-triggered moving brush entities
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
DOOR_START_OPEN = 1,
|
DOOR_START_OPEN = 1,
|
||||||
DOOR_DONT_LINK = 4,
|
DOOR_DONT_LINK = 4,
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// enforcer.qc: Enforcer
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
SOLDIER / PLAYER
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / enforcer
|
$cd id1 / models / enforcer
|
||||||
$origin 0 - 6 24
|
$origin 0 - 6 24
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// fight.qc: monster attack functions
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
@ -8,10 +9,6 @@ When it decides it can't attack, it goes into hunt mode.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
float enemy_vis, enemy_infront, enemy_range;
|
|
||||||
float enemy_yaw;
|
|
||||||
|
|
||||||
|
|
||||||
void() knight_attack = {
|
void() knight_attack = {
|
||||||
local float len;
|
local float len;
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// fish.qc: Rotfish
|
||||||
|
|
||||||
$cd id1 / models / fish
|
$cd id1 / models / fish
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
$base base
|
$base base
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// hknight.qc: Death Knight
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
KNIGHT
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / knight2
|
$cd id1 / models / knight2
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
|
@ -376,8 +370,6 @@ void(entity attacker, float damage) hknight_pain = {
|
||||||
hknight_pain1();
|
hknight_pain1();
|
||||||
};
|
};
|
||||||
|
|
||||||
float hknight_type;
|
|
||||||
|
|
||||||
void() hknight_melee = {
|
void() hknight_melee = {
|
||||||
hknight_type = hknight_type + 1;
|
hknight_type = hknight_type + 1;
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// items.qc: items the player can pick up
|
||||||
|
|
||||||
const string WEPNAME_AXE = "Axe";
|
const string WEPNAME_AXE = "Axe";
|
||||||
const string WEPNAME_SHOTGUN = "Shotgun";
|
const string WEPNAME_SHOTGUN = "Shotgun";
|
||||||
const string WEPNAME_SUPER_SHOTGUN = "Double-barrelled Shotgun";
|
const string WEPNAME_SUPER_SHOTGUN = "Double-barrelled Shotgun";
|
||||||
|
@ -131,7 +133,6 @@ enum {
|
||||||
H_ROTTEN = 1,
|
H_ROTTEN = 1,
|
||||||
H_MEGA = 2,
|
H_MEGA = 2,
|
||||||
};
|
};
|
||||||
.float healamount, healtype;
|
|
||||||
|
|
||||||
void() item_health = {
|
void() item_health = {
|
||||||
self.touch = health_touch;
|
self.touch = health_touch;
|
||||||
|
@ -380,8 +381,6 @@ float(float w) RankForWeapon = {
|
||||||
Deathmatch_Weapon
|
Deathmatch_Weapon
|
||||||
|
|
||||||
Deathmatch weapon change rules for picking up a weapon
|
Deathmatch weapon change rules for picking up a weapon
|
||||||
|
|
||||||
.float ammo_shells, ammo_nails, ammo_rockets, ammo_cells;
|
|
||||||
=============
|
=============
|
||||||
*/
|
*/
|
||||||
void(float old, float new) Deathmatch_Weapon = {
|
void(float old, float new) Deathmatch_Weapon = {
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// knight.qc: Knight
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
KNIGHT
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / knight
|
$cd id1 / models / knight
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// misc.qc: various useful brushes
|
||||||
|
|
||||||
/*QUAKED info_null(0 0.5 0) (-4 -4 -4) (4 4 4)
|
/*QUAKED info_null(0 0.5 0) (-4 -4 -4) (4 4 4)
|
||||||
Used as a positional target for spotlights, etc.
|
Used as a positional target for spotlights, etc.
|
||||||
|
@ -342,9 +343,7 @@ void() trap_shooter = {
|
||||||
testing air bubbles
|
testing air bubbles
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void() air_bubbles =
|
void() air_bubbles = {
|
||||||
|
|
||||||
{
|
|
||||||
if(deathmatch) {
|
if(deathmatch) {
|
||||||
remove(self);
|
remove(self);
|
||||||
return;
|
return;
|
||||||
|
@ -612,9 +611,7 @@ void() noise_think = {
|
||||||
For optimzation testing, starts a lot of sounds.
|
For optimzation testing, starts a lot of sounds.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void() misc_noisemaker =
|
void() misc_noisemaker = {
|
||||||
|
|
||||||
{
|
|
||||||
precache_sound2("enforcer/enfire.wav");
|
precache_sound2("enforcer/enfire.wav");
|
||||||
precache_sound2("enforcer/enfstop.wav");
|
precache_sound2("enforcer/enfstop.wav");
|
||||||
precache_sound2("enforcer/sight1.wav");
|
precache_sound2("enforcer/sight1.wav");
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// models.qc: model information
|
||||||
|
|
||||||
/*
|
/*
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// monsters.qc: basic monster functions
|
||||||
|
|
||||||
/* ALL MONSTERS SHOULD BE 1 0 0 IN COLOR */
|
/* ALL MONSTERS SHOULD BE 1 0 0 IN COLOR */
|
||||||
|
|
||||||
// name =[framenum, nexttime, nextthink] {code}
|
// name =[framenum, nexttime, nextthink] {code}
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// ogre.qc: Ogre
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
OGRE
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / ogre_c
|
$cd id1 / models / ogre_c
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
|
|
|
@ -1,18 +1,11 @@
|
||||||
/*
|
// oldone.qc: Shub-Niggurath
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
OLD ONE
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
$cd id1 / models / old_one
|
$cd id1 / models / old_one
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
$base base
|
$base base
|
||||||
$skin skin
|
$skin skin
|
||||||
$scale 1
|
$scale 1
|
||||||
|
|
||||||
entity shub;
|
|
||||||
|
|
||||||
$frame old1 old2 old3 old4 old5 old6 old7 old8 old9
|
$frame old1 old2 old3 old4 old5 old6 old7 old8 old9
|
||||||
$frame old10 old11 old12 old13 old14 old15 old16 old17 old18 old19
|
$frame old10 old11 old12 old13 old14 old15 old16 old17 old18 old19
|
||||||
$frame old20 old21 old22 old23 old24 old25 old26 old27 old28 old29
|
$frame old20 old21 old22 old23 old24 old25 old26 old27 old28 old29
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// plats.qc: moving platforms
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PLAT_LOW_TRIGGER = 1,
|
PLAT_LOW_TRIGGER = 1,
|
||||||
};
|
};
|
||||||
|
@ -136,9 +138,7 @@ Set "sounds" to one of the following:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
void() func_plat =
|
void() func_plat = {
|
||||||
|
|
||||||
{
|
|
||||||
local entity t;
|
local entity t;
|
||||||
|
|
||||||
if(!self.t_length) {
|
if(!self.t_length) {
|
||||||
|
@ -249,9 +249,7 @@ void() train_next = {
|
||||||
SUB_CalcMove(targ.origin - self.mins, self.speed, train_wait);
|
SUB_CalcMove(targ.origin - self.mins, self.speed, train_wait);
|
||||||
};
|
};
|
||||||
|
|
||||||
void() func_train_find =
|
void() func_train_find = {
|
||||||
|
|
||||||
{
|
|
||||||
local entity targ;
|
local entity targ;
|
||||||
|
|
||||||
targ = find(world, targetname, self.target);
|
targ = find(world, targetname, self.target);
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
|
// player.qc: the player entity
|
||||||
/*
|
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
PLAYER
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / player_4
|
$cd id1 / models / player_4
|
||||||
$origin 0 - 6 24
|
$origin 0 - 6 24
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
/*
|
// shalrath.qc: Vore
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
SHAL-RATH
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
$cd id1 / models / shalrath
|
$cd id1 / models / shalrath
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
$base base
|
$base base
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// shambler.qc: Shambler
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
SHAMBLER
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / shams
|
$cd id1 / models / shams
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// soldier.qc: Grunt
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
SOLDIER / PLAYER
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / soldier3
|
$cd id1 / models / soldier3
|
||||||
$origin 0 - 6 24
|
$origin 0 - 6 24
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
|
// sprites.qc: sprite information
|
||||||
// these are the only sprites still in the game...
|
|
||||||
|
|
||||||
$spritename s_explod
|
$spritename s_explod
|
||||||
$type vp_parallel
|
$type vp_parallel
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
|
// subs.qc: subroutines for think frames
|
||||||
|
|
||||||
void() SUB_Null = {};
|
void() SUB_Null = {};
|
||||||
|
|
||||||
void() SUB_Remove = {remove(self);};
|
void() SUB_Remove = {remove(self);};
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
QuakeEd only writes a single float for angles(bad idea), so up and down are
|
QuakeEd only writes a single float for angles(bad idea), so up and down are
|
||||||
just constant angles.
|
just constant angles.
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// tarbaby.qc: Spawn
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
BLOB
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / tarbaby
|
$cd id1 / models / tarbaby
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
// triggers.qc: triggerable entities
|
||||||
|
|
||||||
void() trigger_reactivate = {
|
void() trigger_reactivate = {
|
||||||
self.solid = SOLID_TRIGGER;
|
self.solid = SOLID_TRIGGER;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// weapons.qc: weapon functions
|
||||||
|
|
||||||
// called by worldspawn
|
// called by worldspawn
|
||||||
void() W_Precache = {
|
void() W_Precache = {
|
||||||
precache_sound("weapons/r_exp3.wav"); // new rocket explosion
|
precache_sound("weapons/r_exp3.wav"); // new rocket explosion
|
||||||
|
@ -138,9 +140,6 @@ Collects multiple small damages into a single damage
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
entity multi_ent;
|
|
||||||
float multi_damage;
|
|
||||||
|
|
||||||
void() ClearMultiDamage = {
|
void() ClearMultiDamage = {
|
||||||
multi_ent = world;
|
multi_ent = world;
|
||||||
multi_damage = 0;
|
multi_damage = 0;
|
||||||
|
@ -617,9 +616,6 @@ void(float ox) W_FireSpikes = {
|
||||||
self.punchangle_x = -2;
|
self.punchangle_x = -2;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.float hit_z;
|
|
||||||
void() spike_touch = {
|
void() spike_touch = {
|
||||||
local float rand;
|
local float rand;
|
||||||
if(other == self.owner) {
|
if(other == self.owner) {
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
/*
|
// wizard.qc: Scrag
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
WIZARD
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
|
|
||||||
$cd id1 / models / a_wizard
|
$cd id1 / models / a_wizard
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// world.qc: basic entry point functions
|
||||||
|
|
||||||
void() main = {
|
void() main = {
|
||||||
dprint("main function\n");
|
dprint("main function\n");
|
||||||
|
|
||||||
|
@ -150,8 +152,6 @@ void() main = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
entity lastspawn;
|
|
||||||
|
|
||||||
//=======================
|
//=======================
|
||||||
/*QUAKED worldspawn(0 0 0) ?
|
/*QUAKED worldspawn(0 0 0) ?
|
||||||
Only used for the world entity.
|
Only used for the world entity.
|
||||||
|
@ -344,8 +344,6 @@ BODY QUE
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
entity bodyque_head;
|
|
||||||
|
|
||||||
void() bodyque = {
|
void() bodyque = {
|
||||||
// just here so spawn functions don't complain after the world
|
// just here so spawn functions don't complain after the world
|
||||||
// creates bodyques
|
// creates bodyques
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
/*
|
// zombie.qc: Zombie
|
||||||
==============================================================================
|
|
||||||
|
|
||||||
ZOMBIE
|
|
||||||
|
|
||||||
==============================================================================
|
|
||||||
*/
|
|
||||||
$cd id1 / models / zombie
|
$cd id1 / models / zombie
|
||||||
|
|
||||||
$origin 0 0 24
|
$origin 0 0 24
|
||||||
|
@ -56,8 +51,6 @@ enum {
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
.float inpain;
|
|
||||||
|
|
||||||
void() zombie_stand1 = [ $stand1, zombie_stand2 ] {ai_stand();};
|
void() zombie_stand1 = [ $stand1, zombie_stand2 ] {ai_stand();};
|
||||||
void() zombie_stand2 = [ $stand2, zombie_stand3 ] {ai_stand();};
|
void() zombie_stand2 = [ $stand2, zombie_stand3 ] {ai_stand();};
|
||||||
void() zombie_stand3 = [ $stand3, zombie_stand4 ] {ai_stand();};
|
void() zombie_stand3 = [ $stand3, zombie_stand4 ] {ai_stand();};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user