Title : Egg's Quake-C Hack #1 Filename : egg_1.zip Version : 3.04 Date : 97.3.22 Author : Andrew Eglington. Email : betlog@ozemail.com.au Format of Quake C ----------------- unified diff : no context diff : no .qc files : online at www.ozemail.com.au/~betlog/QUAKE/egg_1_qc.zip progs.dat : online at www.ozemail.com.au/~betlog/QUAKE/egg_1.zip ------------------------------------------------------------------------------- *IF* you use my CONFIG.CFG file: CONFIG.CFG is read-only to preserve a few changes I made which Quake deletes. (mainly comments describing what the impulse does)so *if* you make it writable (preferably don't) and run quake, it will change a bit. (a lot) ------------------------------------------------------------------------------- Description of the Modification ------------------------------- Various hacks of Quake-C code, compiled and (heavily) modified. By collecting and playing heaps of patches, I wanted to play a few together, With no prior C experience, I went about learning Quake-C through reading the source code, and decompiling a few .DAT files here and there. This is the result so far. Newer additions to the patch, or recent modifications to old additions will be found toward the top of the list below. ------------------------------------------------------------------------------- Head Shots! * When using the sniper rifle you can shoot players in the head. * Head shots ignore armor effect. * Torso shots include armor effect. * Leg shots ignore armor effect, and victim bleeds as per severing. * When crouching, legs and head are more difficult to hit, the torso presents the largest target. So if someone is sniping at you and you have armor: crouch...they probably are too. * Completely original code, concept courtesy of CheckWaterJump(); I think it's great, even if I do say so myself. }:-] * I will probably apply this to all non-radius effect weapons ..... eventually. IMPULSE NONE [use the sniper rifle] IMPULSE 251 [calls similar function CheckIfHeadShot(); that checks where on an opponent the player is aiming.] IMPULSE 30 [I have temporarily hooked it up to the crosshair/laser sight thingy, so if you use the crosshair you will see it in dynamic action] T_DirectDamage (and modifications to T_WaterRadiusDamage & T_BeamDamage) * Many forms of damage should not be influenced by the players armor: eg: Armor should not protect the player from drowning, or falling. * Some forms of player inflicted damage ignore armor. eg: Lightning bolts. Being pushed off a cliff! IMPULSE NONE Jetpack Toss * Throw your jetpack and all of it's fuel. * Good for stockpiling jetpacks. IMPULSE 43 Motion Sensor * If you move you get shot. * Owner not shot at. * Fires nails 1 per second. * Requires 100 nails. * Does 25 damage per hit. * Sensor has 300 health. IMPULSE 9 [launch sensor] 24 [reload sensor] More Cells * Cells replace shells and nails 20% of the time. * Levels previously with no cells, will now likely have at least a few. IMPULSE NONE (PROB_CELLS in defs.qc is replacement probability) Shove * Push stuff around, if you can hurt it, you can shove it. * some items may be too low or too high off the ground to shove, but I'm pretty sure everything can be shoved, even corpses. The object's height is the only limitation... If you cannot shove something, then crouch and try again. * Items will respawn wherever they were last shoved to. IMPULSE 14 Gibable corpses * Corpses take damage, until reduced to mash. * They can be shoved around to form barriers, or trip people up. * Corpses make mushy noises when they are gibbed, so occasionally the bad guy will be shooting at you and blow up a corpse, then come waltzing around the corner to collect the booty, thinking that they just blasted you... Crouch down and let em have it. IMPULSE NONE Grappling hook * Basically just a direct implementation of HOOK22.ZIP Plus some improvements * Only one impulse to extend and remove hook. * Hurts whatever it sticks into. * Will draw items toward the player, the player remains where they were. ie: shoot another player, some ammo, a weapon, or armor and it will be drawn toward you. NOTE: The target is still being damaged as it moves, so it may blow up just as it gets to you. * If object hit is not moveable (eg: the world, a wall) the player will be drawn toward the wall as per usual. IMPULSE 45 Crouching Position * Crouch down and present a smaller target to your opponent. * Movement rate is limited to 50% forward and 25% sideways. * New frames for player.mdl * Base frame [# 144] courtesy of Glen Murphy AKA FrenZon - Crouch v1.0 * Can use (almost any weapon) from crouching position : except the axe, until I get around to making a suitable frame for the axe attack, run, die etc I have just procluded it's use. If you run out of ammo: shove and grappling hook, or better yet: stand up and use the axe. But not while crouching. * Can jump from crouching position. * Crouch function does a check on upper corners of players bounding box to ensure that it is possible to stand up, before doing so. IMPULSE 44 (also to get up again) Axe Frenzy * Axe does significant damage (3 hits is almost always enough) * Upper and lower body haemmoraging. * One average swipe starts the upper body bleeding: - Big weapons do damage to the person firing them. - Movement rate is 95% * Two average swipes or one good swipe makes upper and lower body bleed. - Big weapons do Big damage to the firer. (DON'T use the payload rocket if you're limping.) - Movement rate is 50% - Moving around or jumping causes further injury. * Mega-Health heals one injury site. (legs or arms) Two mega-Healths required if both sites are bleeding. * Levels no longer get boring after you have accidentally blown all the weapons up, some pipebombs and an axe are all you need,... maybe just the axe ! IMPULSE NONE [just use the axe] Weapon Toss * Toss your current weapon to someone else, or just stash it for later. * Good for team play, when your partner has only the shotgun, you have everything, and the bad guys are coming. IMPULSE 41 Hologram * Hologram, does what player does, without going anywhere. * With Cam function. IMPULSE 31(on), 32(holo-cam ) A flashlight to attract enemy fire with * A flashlight (uses NO power ) * Does NOT illuminate the user. * Great for attracting enemy fire, or diverting fire to an opponent lurking in the dark. IMPULSE 13 Exploding Spikes * Nails explode on contact with player/monster or after 2 seconds. IMPULSE normal nailgun buttons [4&5] toggle these too. Throwable & Destroyable Backpacks * Backpacks that can be thrown down, or destroyed. * Backpacks throw spikes when detonated. * When you kill an opponent and their backpack survives the onslaught, ALL of the weapons and remaining armor they had will be in the backpack they drop, rather than just their current weapon. IMPULSE 40 [throw a backpack containing ammo & jetpack fuel] PipeBombs * Throw multiple [5] Grenades, detonate all when desired. * Can be detonated by shooting them (nails or explosions) IMPULSE 61 - Fires pipe bombs. IMPULSE 62 - Detonates all pipe bombs. Choked Shotguns & Fully Automatic Shotgun * Choked shotguns have half normal bullet spread, twice range IMPULSE normal shotgun buttons [2&3] toggle these too. * FULL-AUTO Shotgun fires the regular shotgun.....fast. * Respawned with 25 shells, a shotgun and a grudge? You can still mow em down. IMPULSE normal shotgun button [ 2 ] toggles Sniper Rifle * For serious damage sniping. * Forces playe rto move at half movement rate while using sniper rifle. * Bullet moves at twice normal nail speed. * Reloads slowly. * Uses 10 nails per shot. * 176 - 225 points damage ! * Best used when crouching. IMPULSE 9 Tripwire * A portable electric fence. * Make nice perimeter guards, while you are guiding a missile elsewhere. * Charged tripwire does big damage on contact. * May be destroyed. IMPULSE 21 [set point 1] 22 [set point 2] 23 [remove point 1] Jetpack * Jetpack replaces items by preset probability. * Fuel display. IMPULSE Double jump [jump again while still in the air] Laser Sight * Crosshair courtesy of LAZSIGHT (modified by me) * Crosshair changes colour to indicate entity targetted. - blue = world - red = damageable [includes secret doors] - yellow = door/platform [includes secret doors] IMPULSE 30 Guided Missiles * Hide good and launch a missile to check things out. * button2 (jump - on my setup) detonates the missile in flight. IMPULSE 7 Payload Missiles * Launch a rocket with 4 grenades attached. * Grenades eject on impact, explode 1.5 secs later. * Grenades may be individually dropped in flight. * Nice launcher model to suit. (Courtesy of heliquak.zip) * New sound (courtesy of MECH.ZIP but modified) IMPULSE 6 (selects weapon) IMPULSE 25 (drops grenades in flight) Flame-Thrower * Uses cells to spew chemical fire. Almost meaner than a lightning gun! * Set them on fire, then give em some lead while they run for water. IMPULSE 8 Spawner * Spawns a random item every 25 seconds. * Requires 90 shells, 180 nails, 90 rockets & 90 cells 95 health, and 100 armor. * Just like a 'flag' only much more useful, and worth defending. * people usually get really pissed off when you blow theirs up, which is a stupid thing to do, unless you have one of your own first. * Spawners take 1000 damage. * Spawners suck players health (except owners) and adds it to spawner's health, so spawners can be very healthy after a bit of contact, and can also kill players if they are careless. * Spawner owner is immune to spawner vampirism. IMPULSE 29 Backpack discard * If the player cannot carry some or all of the gear in a backpack, or jetpack they will automatically toss the remainder behind them. * All discarded backpacks are destroyable. * When discarding Jetpack fuel by itself the fuel is contained in a striped cylinder, looks a bit like a pipebomb. IMPULSE NONE [automatic] +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ** Multiskins * Personalized Multiskins [ You don't get these, coz they look like me and my buddies, but the code's there for you to hack & use. ] IMPULSE 200 Footsteps * Hear the bastards coming. * Fly a guided missile at the correct height and it will make footstep sounds! [ good for surprising ambush-setting players ] Fragile explosives * All grenades and pipebombs can be 'killed' with explosions. * Includes players backpacks containing rockets. * In fact, every new thing I added is killable with a few exceptions. Health carried through levels as-is. * I figure that health should NOT be affected by changing levels. * Health above 100% does NOT rot away if carried through a level ( wanted to but couldn't get the code right ...yet) Teleport anything. * Pretty much anything can be teleported, weapons, backpacks, pipebombs, projectiles, all the good stuff. Just aim at the right spot in the teleporter. Lightning discharge modifications. * Discharging lightning while IN water will not kill anything that is NOT in the water. * Discharging lightning into water while NOT in the water will not harm the attacker, but will cause 60 damage for a radius of 600 units to anything that IS in water. * PLAYER.MDL Skins modified to show some kill-fest buddies' faces, and shirts with our names on them. [ NOT FOR PUBLIC ISSUE ] ------------------------------------------------------------------------------- KNOWN BUGS/FEATURES ---- IF YOU CAN, OR DO FIX THESE, PLEASE TELL ME ---- * When crouching and firing guided missiles, the player frequently 'teleports' to the location where the missile was purposely detonated. (Not on impact, but player detonated) * When using the holo-cam and firing a guided missile, the player appears to be riding the missile! [ I liked this one, so I *don't* want to know how to REMOVE it, I want to know how to REPLICATE it! ] * Spawner Mega-health accumulates up to 250 but does not rot away. However, if you pick up a regular (non-spawner) mega health it will start rotting the spawner health aquired health. * Sometimes when a few players are using their holograms your own cam view will be from someone elses hologram position, or sometimes from somewhere that there *is* not, and *was* not ever a hologram. * Players may get stuck when re-spawning on top of a discarded backpack. (usually it just blows them up!) * Players may get stuck when picking up items in single player mode: sometimes the item respawns immediately (while the player is standing in it) which causes the player to get stuck... dunno why yet, they shouldnt respawn at all. I'll fix it eventually, we just never play single player mode, so I don't really give a shit. * Players may get REALLY pissed off if you blow up their Spawner. * If one player puts 5 pipebombs in a small area, and then another player also places 5 in the same area it is likely that when they detonate the server will crash unceremoniously. [ can anyone suggest why this happens? I have thrown 50 pipebombs in the patch I swiped the code from. ] * Players may get stuck, if standing near a wall when changing from standing to crouching or vice versa. * When firing a guided missile from crouching position, the player stands up but is still imbedded up to the waist in the floor. Crouching position is resumed when the missile detonates, however the player may be stuck to the floor... as above. ------------------------------------------------------------------------------- How to Install the Modification ------------------------------- Create a directory called: c:\games\quake\mods\EGG_1 as a subdirectory in your /quake/mods directory ( Which may not exist ) (parallel to the ID1 directory is MESSY so I prefer to stick all patches under quake/mods/ ) Extract the archive to the EGG_1 directory. The directory structure should look something like this: QUAKE (Directory you installed Quake to) | |-- ID1 (Original Quake game files) | |-- MODS (All modification DIRECTORIES go here) | |-- EGG_1 ( This Patch ) To play, type: QUAKE.EXE -GAME MODS/EGG_1 from the Quake directory. Too hard? Can't figure it out? Get a geek. ---- Or ---- 1) Print this file for reference. 2) Copy CONFIG.CFG & PROGS.DAT into the \quake\mods\EGG_1\ directory. (make the directory if you haven't already) 3) Copy STEP.WAV into \quake\mods\egg_1\sound\PLAYER\ 4) Copy ARTOO2.WAV, PAYLOAD.WAV, RAMJET.WAV and SNIPER.WAV into \quake\mods\egg_1\sound\WEAPONS\ 5) Copy *.MDL and NULL.SPR into \quake\mods\egg_1\PROGS\ 6) (In DOS at the prompt) Type: QUAKE.EXE -GAME MODS/EGG_1 +map start If everything is Ok you should be in the quake "start" map. If, when you push the '2' button a few times, you get a number of weapons (3 of them)... it should work fine. I wrote this modification with the registered version of Quake, so if you haven't got it, I dunno if it'll work... anyway stop being a suck, and buy the game already. ID deserve your money! Author Information ------------------ Andrew Eglington is an Associate (Civil) Engineer, Design Draftsman, DiveMaster, William Gibson freak, believer in logic dialects, [as opposed to computer languages], HTML/VRML tinkerer and big-time geek. Armed with some LISP (AutoCAD) hacking experience, and a lack of knowledge regarding this C++ beast which has recently evolved into Java. I figured I would learn some Java and C++, but got bored with the lack of interesting Java projects. I started learning Quake-C because I really wanted a fully automatic shotgun, and a jetpack... and pipebombs....and guided missiles.... ...and sniper rifles....and..and ....yeah..... So I hacked everyone else's work and have learned sufficient Quake-C to construct this modification. I started about a week before christmas '96, and it is now half way through January '97, so I guess I have been stuck to my PC about 13 hours a day for the last few months, learning and writing Quake-C. I'll have to confirm that with my woman.... if she is still around......Jasmine??? ...Yoohoo Jaz??? Credits ------- Kevin Cheung - cheungi@mskcc.org Nick Wilson aka NiCkMaN - nick-man@indra.com Requiem - requiem@powernet.com.au Stalin - dunno AsmodeusB - tazq@sos.on.ca Hellblazr - dunno Harlequin - dtebben@alumni.caltech.edu Charlie Zimmerman - czimmerm@cyberenet.net Jeff Epler - jepler@inetnebr.com Shannon Greene - blckbrt@wavenet.com Scott Ramsay - sramsay@smart.net Lando (Aka Conan) - lando@apollo.ruralnet.net.au Perecli Manole - Borg - dunno his email Merlin Hansen - Merlin.Hansen@Develcon.com Talon - bart@powernet.net Olivier Montanuy - Olivier.Montanuy@wanadoo.fr [Quake-C specification and HTML version.] ID Software - We all know why. (It's called Quake-C released to the public domain, for all the Dukey Nukey players who still don't get it.) Copyright and Distribution Permissions -------------------------------------- Authors MAY use this patch as a base for other publically available work, but this patch MAY NOT, repeat, MAY NOT be packaged on a CD-ROM without my permission. Really I just want to know about it. Or if you plan to make money I want some, or at least a copy of the CD. You may distribute this Quake modification in any electronic format as long as all the files in this archive remain intact and unmodified, and doesn't conflict with anything I said above. Modified variants of this work should give credit to me and the other dudes whos' work this compillation contains. If you can't be bothered de-compiling the progs.dat file, then the source is online. But right now I am still fiddling with it, so it changes daily. ......... Just play the patch! Availability ------------ This patch is available from the following places: ---- Probably rather outdated: ---- FTP : ftp.cdrom.com in the /pub/quake/quakec/compilations ( I Assume ) ---- Up to date: ---- And a link on my web page: http:/www.ozemail.com.au/~betlog/index.html Or direct to my QUAKE web page: http:/www.ozemail.com.au/~betlog/QUAKE/index.html The direct PATCH link is: http:/www.ozemail.com.au/~betlog/QUAKE/egg_1.zip The direct SOURCE link is: http:/www.ozemail.com.au/~betlog/QUAKE/egg_1_qc.zip