Title : GuardBot Filename : GrdBot23.Zip Version : 2.3 (Final version) Date : 97/11/15 Author : Peter van Wingerden Email : petervw@worldaccess.nl Please DO NOT use my old E-mail address ("petervw@bosman.nl") since I no longer work there and the address no longer exists ! Credits : Sam Shockey (shockesj@concentric.net) (original "decoyz"). Rob Albin (albinatr@apci.net) ("Hook" patch). Perecli Manole (Perecli@ix.netcom.com) ("Hook" patch). Micheal&Tim Polucha (TMBOT-mpolucha@earthlink.net) (original botcode). Jonathan E. Wright (nelno@interpath.com) (code from "Zeus"). Nezu the Unworthy (100625.2622@compuserve.com) (code from "Camera"). NiKoDeMoS for the gravity cheat. And, of course, Roscoe A. Sincero (legion@keg.zymurgy.org) for the new bot movement code ! Several others I forget to mention from whom I "borrowed" ideas (but no code). Type of Mod ----------- Quake C : yes Sound : yes MDL : yes Format of QuakeC (if a Quake C Mod) ----------------------------------- unified diff : no context diff : no .qc files : no (use a decompiler if you want it) progs.dat : yes (packed into pak0.pak) Description of the Modification ------------------------------- 1) The Guard Bot: The Guard Bot is the most elaborate enhancement of this patch. The Guard Bot is intended to be an all-round bodyguard: it will follow you wherever you go, and it will seek and destroy monsters. For this purpose it is equipped with two different weapons: the Nailgun for ordinary attacks and the Missile Launcher for dealing with zombies and spawns. - It will attack any monster it sees, except for Shub-Niggurath (which isn't a real monster anyway). - It can use health boxes, ammo (nails and rockets), weapons (launchers and nailguns) and several power-ups to its own advantage. It will not pick these up if you need them more than it does, however. - It will shoot triggers if it can find them; it will activate buttons if it can find them; it will open doors for you if it can. - It will usually try to follow you around: if you are too high, it will teleport to your position; if you are too low, it will jump after you; however, you can instruct guards to roam on their own instead of following you. - You can see through a guard's eyes to see what it sees. - A guard can be removed at any time. - You can ask for it's status at any time (i.e., health, armour, ammo, distance from you, and whether they are paused/active and following/roaming). - A guard can be paused to stop it in it's tracks. - It can be teleported to you straight away at your command. - If you go to the next level any existing guards will be respawned near you after a short delay. - You can put a Guard into "berserker" mode; in this mode, it will do damage as if it had picked up a Quad damage. Be warned though; it's health will decrease 10 points per second, until it either dies or berserker mode is turned off. - Guards cannot drown, and they cannot be hurt by slime. Lava will do damage, however. - Guards cannot hurt guards, you cannot hurt them (except when a missile or grenade explodes near it); they cannot hurt you. Beware though: a guards' missile may hurt you if it explodes in your vicinity: so keep out if a guard's way if it is targetting spawns or zombies. - And: if you go into God mode, so do your guards. To avoid slowing down the game too much (on slower machines: mine's a Pentium 200 nowadays ) there is a built-in limit of three Guard Bots for any level. Apart from which, there is: 2) General changes: a) Monsters will attack each other if provoked, even if they're the same class. b) Crucified zombies can be gibbed. c) The head of a gibbed monster will turn into a zombie (only once). d) Gibs can be touched, but will hurt at higher skill levels. e) At higher skill levels a gib will sometimes turn into a spawn. f) Heads can be kicked around, and will explode if you shoot at them. g) Monsters can be shoved around: push them off edges etc. h) Monsters reel back if hit by a rocket. i) At the end of the final level the game can be restarted. j) Chthon can be killed just like any "real" monster. 3) Cheats: a) Cheats for Bio Suit, Quad Damage, Pentagram of Protection, Ring of Shadows; these work as toggles, i.e., they last until they're turned off. b) Cheats for all weapons & extra ammo. c) Cheat for armour (all classes). d) Cheat for both keys (silver and gold), works as a toggle. e) Cheat for extra health: adds 200 points to your health (999 maximum). f) Improved Runecheat (this one really works -- i.e. you get a rune every time you use the cheat). g) Gravity cheat: toggle your own gravity between normal (800) and low (100, like in "Ziggurat Vertigo"). Useful for making big leaps. 4) Extra weapons: Some weapons have a "double" (or even "triple") that can be selected by pressing the appropriate key again: a) Teleport Axe: transports the victim to another position within the level (1). b) Proximity Mines Launcher: proximity mines explode if a monster comes within range. It releases an electric discharge when in water (6). c) Lavaball Launcher: launches a lavaball launcher which fires... well, lavaballs ! They explode like rockets on impact (6). d) Homing Missile: this one finds it's own victims (7). e) Freezer Laser: freezes your enemy. Beware though, he'll explode if you touch him (8). f) Ripper: rips enemies apart with a lightning flash at 25 cells per blast (8). Both Proximity Mines and Lavaball Launchers can be picked up again if no longer needed. They will increase your rocket count. 5) Extra's: a) Light toggle: when activated, you emanate a very bright light. Useful for those very dark corners. b) Radar function: reports the four monsters nearest to you, and their health levels. c) Toggle the weapon view: if you want the complete picture. d) View the level from the "intermission" spots, from the "deathmatch start" spots or from the "teleport destination" spots: get a camera viewspot from certain (fixed) points within the level. Most levels have at least one "intermission" spot and usually several of the others. e) Home teleport: teleports you to your starting position within the game (well, most of the time anyway). f) Observer Mode: transfers the viewpoint to a camera which can be moved around freely in the level. g) Teleport Marker: to mark a (safe) spot which you can return to at the press of a key. 6) The Hook a) You can use a grappling hook to attach yourself to any surface, then go up or down (or swing like Tarzan !). Release it to come down to earth again. How to Install the Modification ------------------------------- Simply use any unzipper to install this patch. Unzip in the directory of your choice (e.g., "C:\Games\Quake\GuardBot"), then start Quake with the "- game" parameter: "Quake -game ", where is the directory where you placed the patch. The "pak0.pak" file contains all files needed to play the patch; the "keys.txt" file describes which key does what. If you don't want to use the default key bindings (as executed by "guards.cfg"), make an "autoexec.cfg" containing the bindings you want; this file will always be loaded after "guards.cfg", if present. Technical Details ----------------- Bugs: sometimes the GuardBot may get stuck, usually after teleporting or spawning. Also, although it uses better movement code than before, and even though it uses a rather crude waypoint system, it can and will :-( get lost. Or stuck. The only way to deal with this is to remove the Bot or teleport it to your own position. And: if you look through a guard's eyes, you will not always see the things he is supposed to see (i.e. they remain invisible); this is a technical feature of Quake (entities aren't drawn until a client -- i.e. a player -- actually sees them), not a bug. If you find any bugs: please E-mail ! I appreciate all feedback. Author Information ------------------ I can be reached through E-mail at the address above. As I said, I do appreciate some feedback. Copyright and Distribution Permissions -------------------------------------- Authors MAY use parts of these modifications as a basis for other publically or commercially available work. Please contact the author first. You may distribute this Quake modification in any electronic format as long as this description file remains intact and unmodified and is retained along with all of the files in the archive. Availability ------------ This modification is available from the following places: FTP : ftp.cdrom.com, in the pub/idgames2/quakec/bots subdirectory. WWW : ? BBS : ? Other : from me, through E-mail. Changes ------- Version 1.0: First public release, uploaded to ftp.stomped.com. Not accepted though. Shame. Version 1.1: Bug fixes, monsters will wake up if a guard is near, guard can jump out of water, guards respawn at next level, guards shoot triggers, final level doesn't freeze the game, enforcer laser replaced by freezer laser, push monsters around, etc. etc. Uploaded 97/3/8 to ftp.cdrom.com. Version 1.2: Bug fixes, observer mode added, keys cheat refined, runecheat added, lavaball launcher changed, files packed into pak0.pak, guard uses rocket frames when firing vore missile, guard can be gibbed, guard uses own models & skins, changed use of teleport marker, added hellhound, changed most of the extra weapons, guard teleports randomly when roaming, extended guard status report. Version 1.3: Bug fixes. Uploaded 97/5/10 to ftp.cdrom.com. Version 1.4: Bug fixes, slightly improved guard ai, improved guard control & guard messages, guards can no longer be gibbed (makes no sense to gib a bot !), Chthon can be killed like a regular monster, limited guards' ammo, guards will do a Kamikaze attack if out of ammo. Version 1.5: Removed guard launcher, guard can no longer be detonated by owner, added use of Hook, removed hellhound, improved gravity cheat, bug fixes, added guards' ability to activate buttons. Version 1.6: Bug fixes, slightly improved guard ai, added several weaponmodels. Uploaded 97/8/2 to ftp.cdrom.com. Version 1.7: Bug fixes, added observer model, added discharge to proxy mine when launched into water. Version 2.0: Major change: used (most of) Roscoe A. Sincero's bot movement code for guard movement. A vast improvement on id's movement routines ! Removed guards' armour at start, added death frames, when guard dies its' corpse doesn't disappear, changed Super Nailgun into ordinary Nailgun, changed Vore Missile into ordinary Missile Launcher (missiles will still home in on enemies though), guards can open doors. Sent to Roscoe A. Sincero for reviewing purposes; uploaded by him to ftp.cdrom. com. Removed at my request by Joost Schuur, since I felt this version just wasn't ready yet. Hence: Version 2.1: (Still a bit of a beta, not quite bugfree). Added a crude form of dynamic waypoint spawning and following. Usually, if a level is not too complex, and the bot not too far away or too far ahead, it will work, but sometimes... ah, well.... Also several bug fixes and a minor change of skins. Uploaded 97/20/9 to ftp.cdrom.com. Version 2.1b Fixed some major waypoint following bugs. Still not quite what it should be. Version 2.2 Bug fixes. Minor improvements. Added "berserker" mode. Removed bots will be respawned if new bot created. Imposed stricter bot use: no more than three per level ! Player now uses the same type of homing missile as the bots. Version 2.3 I admit defeat. The waypoint system is almost useless. It can be turned off by setting the "temp1" variable to any value (use the console for this). Since Nelno released his code for the Zeusbot, any fool can make a passable bot. And since I wasn't getting much feedback for this patch anyway, I shall not be releasing any further updates. Sorry. Goodbye.