-----------------------------------------
  Plasmagun Radar v1.0          8/19/04 
     by MWoody            d3@mwoody.com
          http://mwoody.com/d3/                 
-----------------------------------------

Story

---------
E-mail
Dated: 08/07/2145
To: UAC Mars Research Facility, Combat Prep 
From: UAC Advanced Weapons
Subject: Series 3b Plasma Upgrade

In response to the recent media attention given to faulty containment fields in non-UAC-manufactured plasma cells, we at the Union Aerospace Corporation have decided to provide an interface upgrade chip for the recently released Series 3 plasma gun.  These upgrades, provided to our loyal customers and various off-world divisions free of charge, are guaranteed by UAC for the lifetime of the weapon itself ONLY if installed by a class E certified plasma technician.  Please refer to the diagram included with the chip itself for specific instructions.

This upgrade, the first of its kind, takes advantage of newly refined techniques in the field of advanced weapons technology.  High-level energy sources such as those found in an improperly housed cell will produce fluctuations in the energy field of an active Series 3 plasma weapon.  By carefully monitoring the differences between input and output energy flow while the weapon is idling, the Series 3b chip allows not only detection of these potentially dangerous leaks, but can even locate the problem within a 30 meter, 170 degree cone in front of the device.

Please advise all security personnel to pay close attention to the modified display on the weapon itself.  Should a leaking energy source be detected within range, a small circle, or "blip", will appear indicating the distance and direction of the problem.  Steps can then be taken to notify disposal teams and rectify the situation.

Note that while our science staff have speculated that several other forms of energy outside of the harmonic range of the plasma cells used by the Series 3 can be detected by the 3b chip, the average user is extremely unlikely to encounter these rare forms of emission.  Given the nature of these currently theoretical sources of energy, in the event that a non-plasma source produces a "blip" on the weapon, you almost certainly have a malfunctioning device.  Please return the full weapon (do not attempt to uninstall the chip) to UAC.  Allow 6-8 weeks for repair and return of your product.

We would like to reiterate that the cells mentioned in MSCNN's reports were NOT produced by a UAC facility.  In the future, we will be carefully reviewing our third-party partners in manufacturing and fulfillment.  We hope that these upgrades will keep you healthy, happy, and safe while using the latest in plasma weapon technology.  Please feel free to contact us with any questions or concerns.  You may visit us at http://www.ua-corp.com/.
---------
E-mail
Dated: 10/20/2145
To: Bryce Rung
From: Ash Pascal
Subject: 3b upgrades

Bryce - 

We've been using the 3b upgrades for well over a month now with no problems, but just this morning the things have started to go nuts on us.  Four weeks without finding a single faulty plasma cell - the guys in maintenance are pissed, being deprived of a chance to try out their new toy - and now we're seeing blips everywhere.  And not on the cells, either; the damn things seem to be picking up maintenance and security staff!

It started just yesterday.  A technician detail from Delta 1 came back from a job, and Steve's gun lights up like a Christmas tree.  They weren't too pleased when he proudly proclaimed that the entire team was leaking plasma from a predictably (this is Steve, remember) vulgar place.  I think they would have decked him if I hadn't stepped in; the teams from Delta appear to be increasingly losing their senses of humor lately.  But I checked and sure enough, the gun reported them as plasma sources, down to the last sullen man.

And just this morning, another bunch from Delta - security forces this time - set off the thing.  I asked if they had been in the same area, but couldn't get much of an answer.  I tell ya, this whole damn place needs a vacation.  Did get one of 'em to uncork long enough to mention that they'd had a problem with the guns on site; they were apparently detecting stuff inside the walls and such.  Said something about the blips coinciding with "voices" of some kind.  Those boys have definitely been down there too long; I don't care HOW much hazard pay they pull in, you won't see me volunteering.

I'd say it's a problem with the guns, but what are the chances of them all crapping out in exactly the same way at exactly the same time?  I know I'm supposed to tell disposal so they can clean up the "leaks", but what the hell are they going to do when I tell them it's people?  Screw it, as long as no one is bleeding from the eyes or going green-glowing-Chernobyl on me, I'm not about to deal with the paperwork.

Lemme know if you see any more malfunctioning equipment.  Drop by this afternoon; I'll play ya a round of STTP3.

Later,
 - Ash

-----------------------------------------

Description

I wanted to see if a radar could be done in Doom 3 using scripts alone, mostly because someone on the doom3world.org forums laughed when asked if it could be done. :D  And, though it has certainly taken a few questionable hacks, the answer is a definite "Yes".  I chose the plasmagun because a) it has the largest GUI outside of the BFG, but no one walks around with the BFG out,  b) the square GUI is optimal for the radar, and c) the GUI drops into the gun during firing, which rather conveniently hides the fact that the radar only updates during idle() calls.

PK4 includes: modified gui w/graphics, modified monster_base and plasmagun scripts

-----------------------------------------

Instructions

 * Copy "plasmaRadar10" directory included in this ZIP to your "Doom 3" directory.  Please note that the PK4 file should NOT be in either the Doom 3/base or the root Doom 3 directory itself.
 * Run Doom 3.
 * Click "mods" on the main menu
 * Select "plasmaRadar10".
 * Either load a map with the "map" command or player the main game.  The radar should work on any creature in any map.

-----------------------------------------

Notes

 * Though the radar screen itself is only 2d, whether or not a creature shows up on it is calculated in 3d.  For example, a creature that's 20 feet away on the same level as you might show up on the radar, but a cacodemon 20 feet away and 20 feet up is technically out of range, so it will not show until it gets much closer.
 * I have decided against doing an up arrow/down arrow GTA-style radar.  I like that you have no idea how far above or below you the creature a blip represents might be, a la "Aliens".
 * The radar detects any spawned monster entity on the map that is within range.  This often includes creatures placed outside the map (that will be moved inside to attack later) or in adjoining corridors, which can result in seemingly erroneous blips.  Just consider these phantoms to be creatures waiting for you in the air ducts and walls - you'll often be right.
 * The GUI for the weapon updates itself 60 times a second.  However, the information on creature locations fed to the GUI are only done 6 times a second (every 10 tics), and whether a blip is visible/invisible is only done twice a second.  I could easily increase the frequency of these updates, but I believe the current setting is a nice balance between low CPU overhead and functionality.
 * The code is moderately well commented; feel free to take a look at how it's been done, and please let me know if you have a quicker or more elegant way to accomplish something I've done here.
 * You can uncomment several of the sys.println commands in weapon_plasmagun.script to get realtime info on the creatures on the radar in the console.

-----------------------------------------

Revision History

1.0	* Discovered $player1 instance.  Removed all code in ai_player; combined with weapon_plasmagun.script code.
	* Significantly reduced the amount of code in weapon_plasmagun's initial version.  Cut the number of variables in half.
	* Altered the code to detect any creatures, rather than just predefined test monsters.
	* Increased the max number of blips from 4 to 10.
	* Restored a modified version of the original ammo readouts to the weapon.
	* Modified ai_monster_base so that creatures report their names during init().
	* Increased the updates per second of the visible/invisible status.
	* Decreased the number of blip info updates from 60 to 6 times per second.
	* Increased the range of the radar by 50%.  Still not sure if I liked it better like this or like before.
0.9 	* First release.  Simple test with 4 creatures only; not an actual radar.

-----------------------------------------

Future Plans

These ideas may or may not be implemented in a future version, depending on whether or not there seems to be sufficient interest from the Doom 3 community.  If you have any ideas not listed here, please don't hesitate to e-mail me.

* Different sized blips depending on creature size (zombies/imps small dot, pinky/caco med dot, cyber BIIIIIG dot, etc)
* A flashing warning sign when a creature is very close directly behind the player
* Fading in/out blips like sonar
* Might increase the number of possible blips.  We'll see if it becomes necessary.  My thinking is: if there are more than 10 creatures within 800 units of the player, you have better things to be doing than noticing that not every single creature has a blip.  ^_^

-----------------------------------------

Special Thanks

* My brother, Matt, for helping to test this and all my mods.
* Everyone who has written a Doom 3 mapping/scripting/etc. tutorial so far.  I've read pretty much all of them, so if you've written one, consider yourself soundly thanked.
* Insert "obligatory id software thanks" here. :D

-----------------------------------------

License

Please ask before using the radar in your own mods.  Chances are very good I'll say yes, but I like to keep track of where my work ends up.

-----------------------------------------

Thanks for reading; please enjoy!