- Expert Quake Version 1.1 - ----------------- Expert Quake Info ----------------- Expert Quake is a QW mod originally based on JTEAM, or "The Complete Enhanced Teamplay" by John Spickes. Expert Quake supports deathmatch, teamplay and CTF modes, with a massive list of features that can be enabled or disabled in any mode where it makes sense to do so. For instance, both the grappling hook and the alternate powerup set are available in deathmatch, teamplay and CTF. Expert Quake is so configurable that it can be reverted to normal Quake behavior in all but a few trivial ways. The goal of the Expert Quake patch is to turn Quake into the skillful combat game it can be, rather than the item fetching game it is. To that end, options are provided that balance many previously unbalanced items in the game. In Expert Quake, combatants are almost always even, and combat skill and teamwork are the only things that can make the difference in the outcome of combat. The Expert Quake web page : http://www.myrkul.org/expert/ Specifically the design document for Expert Quake is at : http://www.myrkul.org/qgame.html The Expert Team is: ------------------- Charles "Myrkul" Kendrick (myrkul@myrkul.org) DaScott (dascott@infi.net) Rich "Publius" Tollerton (rtollert@tranquility.net) Nelson "TheGriffin" Hicks (thegriffin@usa.net) Webmasters: JEzTER Phlame Thanks go to: ------------- John "Guru" Spickes of course, for writing JTEAM and writing it well Wedge and Choryoth for the Throwing Axe model and observed behavior (our code for it is original). Mr. Peach, Spacetec Quake server admin, who came up with the idea behind the Expert Hook and implemented it on his server. Unknown Soldier, for the *great* audio files used in Team Radio. All contributors to ThreeWave CTF for some of the CTF code, the custom models and sounds for the hook and flags, and the custom CTF levels. id software for driving the industry toward configurable game engines. ----------------- Key Feature List: ----------------- These are the features that players and server admins rave about most, and this is still only a small subset of all the features of Expert. *** Every feature of Expert Quake can be enabled or disabled in any play mode in which it makes sense. It is possible to revert to the behavior of the standard progs in all but a few trivial ways. *** Expert Hook: fully optional in any play mode, fully independent of weapons, will not hook players, higher flight speed. *** Threewave style CTF, no Runes, hook optional (again), flag sound instead of glow for better performance. *** Team Audio: players can play sound files using impulses to warn teammates about flag status, coordinate for attacks or for holding key positions. *** Admin-configurable level sets without recompiles (just edit a .cfg file) *** Fully configurable, 4 team teamplay ala JTEAM. *** Alternate weapons, again optional. Some originals and some with interesting usage. Alternate weapons can also be set as the only weapons available. ------------------------------- Deathmatch/Basic Teamplay Setup ------------------------------- Expert Quake is a QuakeWorld server mod. You need qwsv.exe version 1.64 to run an Expert Quake server (1.55 has a serverinfo-related bug), which can be gotten from the files section of just about any major quake web page, for instance, http://www.quakeworld.net/ Unzip the contents of the zip file into your Quake directory, or if you have already unzipped the file, move the resulting folder called "expert" into your Quake directory. In the folder "expert", there is a batch file called "expert.bat". Move this file into your main quake directory (ie where quake.exe and qwsv.exe are) and you should be able to start an Expert server. This batch file will start up a server using Expert Quake in teamplay mode with various options set. There are also a multitude of .cfg files in the "expert" folder, which can be used to start up servers with various options set. These config files are documented below, as are all the options you could possibly set if you made your own config file. ------------------------ Additional Setup for CTF ------------------------ The following instructions assume your Quake directory is c:\quake If you are running an Expert CTF server, you will need the Threewave .pak files, which contain the Threewave custom maps, models and sounds. You can download them from ftp://ftp.cdrom.com/pub/quake/planetquake/threewave/ctf/client/3wctfc.zip Take the files "pak0.pak" and "pak1.pak" in this zip file and put them into c:\quake\expert. You will also need to create custom versions of the original id maps that have the CTF entities (flags, base caches, etc). To do this, first unzip winpak12.zip in c:\quake\expert\winpak. Open c:\quake\id1\pak1.pak and c:\quake\id1\pak0.pak in winpak, and extract all the .bsp files for e*m* and dm* (eg e1m1.bsp, dm3.bsp, ..). Move the resulting .bsp files from c:\quake\id1\maps\ to c:\quake\expert\maps\ Then, in c:\quake\expert\maps\, run dobsp.bat. You should see output showing each .bsp file being altered using each of the .ent files. Once this is done, if you move c:\quake\expert\expctf.bat into c:\quake, you should be able to use expctf.bat to run an Expert ctf server. Finally, please drop Expert Quake a note about your server. We can inform you of newer versions of the server and advertise your server on the Expert web pages. -------------- Expert Configs -------------- The following .cfg files are provided with Expert Quake. To use any of these, either replace "ext.cfg" in the provided "expert.bat" batch file to the config you want to use, or whip up your own batch file. Deathmatch Configs: exdm.cfg----------------10 player enhanced deathmatch All deathmatch behavior set: item behavior similar to "deathmatch 3" mode from id, all balancing options and tweaks are active, Expert Hook enabled. This is the recommended Deathmatch mode. exdmh.cfg---------------10 player enhanced deathmatch, no Expert Hook As exdm.cfg, Expert Hook disabled. Basic Teamplay Configs: ext.cfg-----------------9 player, 3 team enforced teamplay As exdm.cfg, but teamplay enabled, with 3 teams of 3 players. Players can switch teams but only to a team with less players. This is the recommended teamplay mode. The included batch file uses this mode. exth.cfg----------------9 player, 3 team enforced teamplay, no Expert Hook As ext.cfg, Expert Hook disabled. CTF Configs: exctf.cfg---------------14 player CTF Balance options, CTF level set, Expert scoring, hook enabled, team audio enabled. exctfh.cfg--------------14 player CTF, no hook As exctf.cfg, no hook (which causes a different level set). It's easy to whip up your own configs for Expert Quake. The following section describes the options that are available, but to give a hint, you can enable the Expert Hook, perhaps a few other features that tickle your fancy, and leave everything else untouched. If you are a programmer, or if you just know enough to twiddle some constants and recompile, be sure to check the last section. Expert Quake is well written and well commented code that is very easy to expand upon or modify. Write something cool.. we'd love to integrate your code into the next release. -------------------- Custom Configuration -------------------- Expert Quake is a highly configurable mod, with most features fully customizable from the console. Two internal variables (deathmatch and teamplay) and serverinfo variables called "ctf" and "loadmod" are used to turn various options on and off. All these variables are bitfields, with each bit toggling an associated feature. ------------------------------ Deathmatch Feature Description ------------------------------ Deathmatch features enhance combat by balancing the game, and are meant to be used in both Deathmatch and Teamplay modes. The bits controlling deathmatch features are as follows: 1 Items Respawn When turned on, health and ammo will respawn after being collected. When off, health and ammo can be collected only once. 2 Weapons Stay (persistent weapons) When on, weapons remain in place after being collected, and cannot be picked up multiple times to stockpile ammo. When off, weapons respawn similarly to any other item, and can be grabbed multiple times. 4 Balanced Weapons All weapons are "equalized" so that every weapon is of roughly equal power, although each weapon is more or less effective in different combat circumstances. This adds more variety to weapon use, reduces weapon camping, and helps make skill determine combat outcome. Other assorted effects, see description below for more details. 8 Balanced Items The amount of armor given for each type is inversely proportional to the damage absorption. For instance, red armor has the highest absorption, and so the least amount of armor. Any armor remaining on dead players ends up in their backpacks, and supershotguns are given on spawn. See description below for more details. 16 Expert Hook Players are given a hook on spawn, which can be used by binding a key to the alias "+hook". Holding the button down extends the hook, while releasing the button releases the hook. No weapon switching is required, the Expert Hook fires with any weapon out and that weapon can be fired simultaneously. The hook bounces off other players, and can only hold to a surface for a little over 2 seconds before retracting. Can be used simultaneously with other weapons. If a player attempts to activate the hook through one of the methods used to activate the old-style hook, such as by sending impulse 22 or by sending impulse 1 with the axe selected, a message will be printed informing the player how to use the new hook. 32 Randomize Powerups Powerups, specifically the Quad Damage, Pentagram of Protection, and Ring of Invisibility, will randomly respawn as a different powerup. The probability of the Quad damage spawning is 40%, the Ring is 40%, and the Pentagram is 20%. This is for preventing optimal paths through levels, timed to pick up powerups. 64 Alternate Powerups An alternate set of powerups will be used. See below. 128 Expert Level Sets A loop of levels hand-selected from the four original Quake episodes and the DM levels will run. The list of maps can be changed by editing the .cfg file (yes, CONFIG file) expcycle.cfg. _No recompile_ is necessary. The cycle used for DM is "DMCYCLE". 256 Frag Minimum Players who attempt to exit the level with less than a certain number of frags are killed. 512 Armor Color Shirt colors will be forced to match the type of armor a player is wearing. 1024 Swinging Hook Changes the grappling hook into a swinging hook. This version of the swinging hook uses no extra impulses, and a simple physical model of acceleration toward the hook's anchor point. 2048 Weapon Modes Alternate modes will be available for some weapons by hitting '9' (or impulse 210). All weapons are balanced by Expert against the original set. See "Weapon Modes" for further documenation. See also Alternates Only (32768). 4096 Performance Changes to improve the rendering performance on clients (not network performance). All flickering lights in a level are changed to non-flickering lights of medium brightness, and the nailguns and the lightning gun do not have muzzle flashs. This reduces surface redraw for much better framerate, and also reduces network traffic. 8192 Player Forwarding When only one player slot is left, server will forward players to a server at the IP specified in serverinfo under the key "forwardTo" (caps count). Typical usage is to set "maxclients" one greater then the number of players you actually want in the game. Any player attempting to fill the last slot will be forwarded to another server, perhaps another server running Expert at a higher port number. 16384 Realistic Physics More realistic physics are used, such as adding a player's velocity to the velocity of fired projectiles. This has fairly drastic effects that may be difficult to get used to. Recommended only when players are very aware that the physics have been are altered, such as in a LAN game. 32768 Alternates Only Combined with Weapon Modes (2048), this means only the alternate modes of weapons with be used, that is, among other weapon changes, the Rocket Launcher becomes the Mortar Launcher and the normal mode is no longer available. ---------------------------- Teamplay Feature Description ---------------------------- Teamplay features control team setup and enforcement, and how teammates can interact with each other. The bits controlling teamplay features are as follows: 1 Health Protect Players receive no health damage from teammates' attacks. 2 Armor Protect Players receive no armor damage from teammates' attacks. 4 Damage to Attacker A player who attacks his teammate will receive the same damage the teammate would have received, had he not been protected. 8 Frag Penalty Any player who kills his teammate will be penalized frags. The number of frags to penalize is adjustable by a simple edit in the teamplay.qc file. 16 Death Penalty Any player who kills his teammate will burst apart in a bloody mess. 32 Team Color Lock Players will only be allowed to be certain colors. Team colors can be specified for up to four teams in the teamplay.qc file. Players who have illegal colors when they enter will be put into the team with the fewest members. Any player who changes team (pants color) will be fragged and their frag count is reset to zero. 64 Static Teams Players will not be allowed to change teams. 128 Fair Teams Players are allowed to change to a team with fewer members than their current one. "Static Teams" will override this setting. 256 Shirt Enforcement Player's shirt color must match pant color. 512 Drop Items Players will be allowed to drop ammo and weapons. IMPULSE 20 will drop a backpack and IMPULSE 21 will drop the current weapon. You can't drop the axe or single-shotgun. 1024 Boot Negs Boots players who get too many negative frags. Useful on servers that allow friendly fire with negative frags for killing teammates, to prevent server abuse. 2048 Friendly Fire Notification Players who shoot a teammate repeatedly will be informed that they are shooting a teammate. 4096 Team Score Printing The Team score, as the total number of frags for all players on each team, will be printed periodically. This option is only valid with "Team Color Lock". 8192 Team Audio Enabled Team Audio is a system that allows players to send audio messages to their teammates using impulses. See the full documentation under "Team Audio". ------------------------- CTF Feature Description ------------------------- The CTF bits are as follows: 1 Capture the Flag on Setting this bit turns on Capture the Flag. Requires the pak files from Threewave CTF for the flag models, sound effects, and the CTF3 + CTF4 maps (if you intend to use them). These can be found at http://threewave.planetquake.com/ in the Files section. --------------------------- LoadMod Feature Description --------------------------- LoadMod can be used to modify the items that appear on a level, including adding more items to the level. LoadMod options are set by defining a serverinfo variable "loadmod". For instance, placing the following in your server's .cfg file: serverinfo loadmod 17 .. will cause loadmod to be active, enabling the options listed below by 1 and 16. The loadmod bits are as follows: 1 Quota Add Health and Armor are added dynamically to a level to meet the demand of the number of players allowed in the game. They will be spawned on top of other items as far from items of the same type as possible. 2 Quota Remove [NOT CURRENTLY IMPLEMENTED] Health and Armor are removed dynamically from a level where there are surpluses. They will be removed starting with those as close to other items of the same type as possible. This can have unexpected behavior on large maps with few players. 4 Redo Items [NOT CURRENTLY IMPLEMENTED] Health, Ammo, and Armor are completely replaced to redistribute these powerups amongst the map. 8 Remove Pentagram Removes any "Pentagram of Protection" artifacts from the current map. 16 Remove Ring Removes any "Ring of Invisibility" artifacts from the current map. (Useful for team games) 32 Remove Quad Removes any "Quad Damage" artifacts from the current map. 64 Remove Base Spawns Remove any deathmatch spawn points within a certain radius of a flag. Only valid if CTF is enabled. -------------------------- More on Balanced Features -------------------------- Balanced weapons alters both the damage and armor-puncturing qualities of each weapon to try and even up the gaps in usefulness between each. - Modified weapon damages (especially explosives and axe) - Armor penetration for nails, buckshot and lightning - 50 Green armor given out on spawn (respawning players aren't as easy a target) - Super NailGun takes one nail per shot - Normal NailGun nails have higher airspeed - Less resistance to splash damage from one's own explosions - Less kickback on heavy weapons fire, but still full rocket jump height - Reduced lightning gun discharge damage Balanced items alters items other than weapons (such as armor) to achieve balance. - Armors with higher absorption have less amount: o Red armor 60% absorption, 100 amount o Yellow armor 45% absorption, 130 amount o Green armor 30% absorption, 190 amount - Remaining armor is placed in backpacks on death - Health gained from the 100 Health rots away at double the rate - Players are given the Super Shotgun on spawn in addition to the normal shotgun - Quad and Pentagram make sound periodically so they can be recognized Alternate Powerups are: o Quad becomes the Glyph of the Lich: you take back as health 1/2 of the health damage you do to other players. o Pentagram becomes the Fiend Glide: ability to jump like a fiend o Ring becomes the Ring of Will: weapon hits from enemies don't push you around, weapon hits on enemies push them farther None of the alternate powerups cause the user to glow. The alternate powerups are less inherently powerful in order to prevent them becoming focal points in a deathmatch, and less dangerous to other players so they don't require the warning glow. --------------------- More on Level Cycling --------------------- The Expert Quake team invented a system that allows server admins to change the level cycle that a server goes through without modifying or recompiling .qc code. To change the map list, you can either edit "expcycle.cfg" directly, or use the included tool, BuildMapList to generate "expcycle.cfg" from expcycle.txt. See "bml.txt" for instructions on using BuildMapList. Technical info: making modifications directly to expcycle.cfg ------------------------------------------------------------- When the Expert mod is at the point of changing levels, instead of changing the level through the normal .qc mechanism, a command is sent to the server console to change the level. This command is actually the name of an alias, say "DMCYCLE". The job of the alias is to change the level, then redefine the alias so that next time the alias is executed, it changes to the next level in the cycle. Here's an example of an alias that accomplishes a four level cycle. alias DM.e1m1 "map e1m1; alias DMCYCLE DM.dm2" alias DM.dm3 "map dm2; alias DMCYCLE DM.e1m2" alias DM.e1m2 "map e1m2; alias DMCYCLE DM.e3m6" alias DM.e3m6 "map e3m6; alias DMCYCLE DM.e1m1" alias DMCYCLE DM.e1m1 Expert Quake 1.1 uses 5 map cycles. The definitions of these cycles are in expcycle.cfg. The server automatically switches between cycles according to what mode it's in. DMCYCLE (deathmatch and teamplay), CHSCYCLE (CTF, <20 players, with hook) CHLCYCLE (CTF, >20 players, with hook) CNSCYCLE (CTF, <20 players, without hook) CNLCYCLE (CTF, >20 players, without hook) This mechanism also makes it possible to arbitrarily change the server configuration on a per level basis. For example: alias DM.e1m1 "map e1m1; alias DMCYCLE DM.dm2" alias DM.dm3 "deathmatch 1; map dm2; alias DMCYCLE DM.e1m2" alias DM.e1m2 "deathmatch 3; map e1m2; alias DMCYCLE DM.e3m6" alias DM.e3m6 "map e3m6; alias DMCYCLE DM.e1m1" alias DMCYCLE DM.e1m1 This alias causes e1m1, e1m2 and e3m6 to be played in "deathmatch 3" mode, while dm2 specifically will be played in "deathmatch 1" mode. Using Expert bitvector configuration, it's also possible to change settings such as whether the hook is enabled, or whether alternate weapon modes are available. ----------- More on CTF ----------- Expert CTF behaves similarly to Threewave CTF for most CTF basics, with some exceptions. The status bar is altered to include information about whose team you're on, what the status of each team's flag is, and what each team's score is. The Expert Hook behaves differently from the grappling hook used in Threewave (and is optional). The level sets used for Expert CTF are hand picked from all id and Threewave levels. There are 4 different level sets, chosen according to whether or not the hook is enabled and whether the maximum number of players is greater than 20. You can alter the level set by editing "expcycle.cfg" (again, without recompiling). Instead of glowing, the flags make a 'flapping' sound. This is because 1) Having the flag glow causes severe framerate problems for some people. 2) Having the flag make noise is less surreal. 3) There is no longer an ambiguity with powerup glows. Players do not get free points for teammate's captures. Instead, through the Expert scoring system's Assists and Bonuses, players will get points reflecting the extent to which a player has benefitted his team (rather than presence on the server). The best individual players on the server should have the highest score, regardless of team. Team score is separate, appears in the status bar, and reflects the number of captures each team has made. ----------------- More on TeamAudio ----------------- There are two kinds of TeamAudio messages: local and global. Global messages go to a player's entire team. Local messages go to teammates within a certain radius (without decreasing volume). Local messages can be enabled in both basic teamplay and CTF, and Global messages are only available in CTF. When TeamAudio is enabled, typing "speech" at the console will dump text explaining what TeamAudio is, what impulses are attached to which messages, and what options are available. Typing "usage" at the console explains what each of the TeamAudio messages is meant for. impulse 160 will bind the to the F5-F12 keys to the TeamAudio impulses. In addition, impulses 180 and 181 bring up 'quick-help' charts of messages. Impulse 180 centerprints a listing of the global Team-Audio messages and their keys, and Impulse 181 centerprints a listing of the local Team-Audio messages and their keys. Global Audio Messages "Is our base secure?" - F5 - IMPULSE 161 Used by a Flag Carrier to ask the base if it's safe for the carrier to be there. "Roger, base is clear." - F6 - IMPULSE 162 Reply to tell the Flag Carrier that the base is safe, for the moment. "The base is under attack!" - F7 - IMPULSE 163 Reply to tell the Flag Carrier that the base isn't safe yet. "Our base has been overrun!" - F8 - IMPULSE 164 Used to warn everyone that the base's defense has been beaten, and needs to be secured again as soon as possible. Local Audio Messages "Link up for an assault, - F9 - IMPULSE 165 wait for my signal." Use this to tell everyone nearby to hold up and make an organized attempt at an attack. Good for assaults on well-defended bases or camper entrenchments. "Attack now!" - F10 - IMPULSE 166 Tells your assembled group to begin the attack. "Enemy units incoming" - F11 - IMPULSE 167 A general purpose 'heads-up' to everyone. "Cover me!" - F12 - IMPULSE 168 This can be used in CTF by a flag carrier, or by an attacker needing cover. ------------------ More on Status Bar ------------------ The status bar is enabled by default in both CTF and basic teamplay modes. In CTF mode, the status bar displays the team score in captures and the flag status for both teams, and the name of the player you are looking at (this functionality is called "ident"). In teamplay or deathmatch, the status bar just displays the name of the player you are looking at. The server stores each player's status bar and ident configuration in infokey variables called "statusbar" and "ident", which players can set directly. These infokeys can even be set before joining the server. Legal values for the 'statusbar' infokey variable are: 0 - Status Bar off 1 - 320x200 2 - 320x240 3 - 400x300 4 - 640x350 5 - 512x384 6 - 640x400 7 - 640x480 8 - 800x600 9 - 1024x768 If your resolution doesn't match one of these, use the option with the next-lowest vertical resolution. In addition, you can set 'statusbar' to the vertical resolution. For example, instead of setting statusbar to 4, you could set statusbar to 350. You can also set your resolution by using impulse 71 through 79, or use impulse 70 to turn it off. Player identify is a component of the status bar, if you turn off the status bar, player identify is also turned off. If the status bar is enabled, a value of 1 turns player identify on, and 0 turns player identify off. Player identify prints the name of the player closest to directly in front of you. If no player is close to in front of you, no player name is displayed. Ident can accurately discern which player you are looking at even if two players are directly adjacent, but ident is refreshed only as often as the statusbar, that is, every 1.5 seconds. You can turn ident on and off by changing the ident infokey variable, or through impulse 80. -------------------- More on Weapon Modes -------------------- There are no alternate modes for the nailgun or for the lightning gun. Throwing Axe, alternate for Axe Medium flight speed 75 damage on direct impact, 35 damage on bounce 0.7 second refire. Players spawn with 4 axes, can pick up axes they throw and can get axes from other player's backpacks. Up to 15 axes can be carried Pulse Rifle, alternate for Shotgun Fast flight speed 50 damage on direct impact 0.5 second refire 30% armor penetration Requires no ammo. Pulse Spread, alternate for Super Shotgun Medium flight speed 25 damage per bolt, 3 parallel bolts 0.7 second refire 30% armor penetration Uses one cell. Fleshripper, alternate for Super Nailgun High flight speed 50 damage per gib, 6 to self 0.3 second refire Squirrel Bombs, alternate for Grenade Launcher Like a grenade, except regains it's original velocity after a bounce. 100 splash damage 0.8 second refire Mortar Launcher, alternate for Rocket Launcher Ballistic flight path. 80 radius, less dropoff with distance from explosion, smaller max radius. 0.7 second refire ----------------- Selecting Options ----------------- To select multiple options, add the numbers of the options together. Examples: teamplay 96 Team Color Lock, Static Teams This results in players being automatically assigned to teams and being prevented from changing to other teams. teamplay 3 Health Protect, Armor Protect You can't hurt your teammates' health OR armor. teamplay 28 Mirror Damage, Frag Penalty, Death Penalty When you shoot your teammates, you take damage and so do they. If you kill a teammate, you'll take a frag penalty and you'll be killed. teamplay 120 Static Teams, Color Lock, Frag Penalty, Death Penalty ---------------- Conflicting Bits ---------------- Obviously, not all of the available options make sense together. Here is a listing of all conflicts between features, or features that nearly cancel each other's effect. Typically you don't want to use these together: Shirt Enforcement (teamplay) and Armor Color (deathmatch) Causes the shirt color to shift constantly between your armor color and your team color. Frag Penalty (teamplay) and Health Protect (teamplay) Death Penalty (teamplay) and Health Protect (teamplay) Other than telefrags, you won't be able to kill your teammate due to Health Protect. However, you probably _do_ want to set Frag Penalty with Health Protect, so that teammates can't get frags for telefragging each other. Static Teams (teamplay) and Team Color Lock **OFF** (teamplay) Players will end up stuck with whatever team they happened to be when they joined the server. Static Teams (teamplay) and Fair Teams (teamplay) Static teams overrides Fair Teams, so you won't be able to change teams. Period. Remove Powerup (loadmod) and Randomize Powerups (deathmatch) You can do some interesting things with combinations of "Remove Quad" (loadmod), "Remove Ring" (loadmod), "Remove Pentagrams" (loadmod), and "Randomize Powerups" (deathmatch). Essentially, any powerups you opt to remove will be gone, but the remaining powerups (if any) can still respawn as any other powerup, INCLUDING the ones you removed. Just be aware of this unusual condition. ------ Quirks ------ In the unmodified version of the QuakeWorld source, ammo respawns at different rates in "deathmatch 1" mode vs "deathmatch 3" mode. In this mod, ammo respawns at the faster rate whenever the Respawn Items bit is set. Take a close look at the "conflicting bits" listing above and be sure you know what you are doing before trying to use these features together. In order to change teams, players must attempt to change color. Attempting to change team name (by typing "team blah") will not have an effect, nor will attempting to change skin. -------- MOTD Use -------- Most of the MOTD functionality resides in motd.qc. If you want to change your MOTD, you can modify motd.qc. It's a simple matter of changing the print statements to say what you want. The MOTD is printed for players when they first join the server and after every level change. ------------ Future Plans ------------ enhanced Team Audio - more sounds with stronger meaning in the game. "Bolo" game mode. "Tag" game mode. Any good ideas we get requests for - we have implemented people's requests in the past and expect to do so again. --------------- For Programmers --------------- Expert Quake adds several source files to the standard distribution: teamplay.qc All the team setup and enforcement code. dm.qc All the deathmatch enhancement code. loadmod.qc All the code for LoadMod, which can modify the list of items in a level at load time, fulfilling quotas for types of items, disabling certain items, or anything else you can think to use the code for. grapple.qc Grappling hook functions. ctf.qc CTF control code. status.qc Status bar for CTF. ident.qc Player identify function, part of the status bar for CTF. weapons2.qc Code for alternate weapons. Wherever possible, we have tried to minimize the changes to the original codebase (thank god for John Spickes starting this trend with JTEAM). For instance, LoadMod is only dependant upon a single small change in world.qc, so you could easily add it to another mod (if you do so please let us know). Wherever significant behavior needed to be added, there are calls out to functions defined in one of the added source files. When searching for changes, use these keys: Expert Should hit all Expert Quake related code in standard distribution files. DM_ Anything related to the "deathmatch" bitvector. TEAM_ Anything related to the "teamplay" bitvector The codebase for Expert Quake has been carefully factored and commented for easy modification and porting. If you make a good modification to Expert Quake, that is, a modification that adds to the game without destroying balance, we'd love to include it. Expert Quake is also the ideal base on which to build your own custom mods, whether the focus of the mod is balance or not. -------------------- Source Code Settings -------------------- Besides the teamplay, deathmatch and loadmod settings, there are some other options that can be modified by editing the source. These options are constants at the beginnings of teamplay.qc, dm.qc, and loadmod.qc and are marked so you can find them. One such option specifies the default frag penalty. This is the number of frags that will be deducted for killing a teammate when the Frag Penalty setting is enabled. There are four constants in teamplay.qc which allow configuration of the color that will be used for teams. Up to four teams can be enabled, so there are four colors: float COLOR1 = 4; // red float COLOR2 = 13; // blue float COLOR3 = 11; // green float COLOR4 = 12; // yellow By default, the server will enforce that all players are wearing skins that allow the players to be told apart by color. Alternately, teams can be told apart by the skin they are wearing. To set this up, go into teamplay.qc and edit the skin names in the function TeamSkinForTeam(). You may also want to edit the names of the teams in TeamNameForTeam(). No understanding of the code is required. The file dm.qc contains the damages of the equalized weapons and stats for the modified armors, splash damage, weapon kickback, and suicide delay. These constants are marked in dm.qc by the comment /** MODIFIABLE CONSTANTS **/ The file loadmod.qc contains the quotas for armor, health, and various ammos. The numbers are a per-player fraction. Again, look for the comment /** MODIFIABLE CONSTANTS **/ If you change any of the constant values, you must recompile before your changes will take effect.