Title    : The Eye of Ra (for Hexen 2 v. 1.11)
Filename : EyeOfRa.zip
Version  : 1.0
Date     : 11/15/97 
Author   : Brian "The Tick" Waak
Email    : waakb@manton.com
Credit   : Neal Miller for the original idea. I kept faithful to nearly all of it
           (three lasers instead of six :), this is for him. Kick-ass suggestions
           man, hope you like it!

           Raven Software for the coolest game on the planet, and for finally releasing
           the official (quality!) utilities, which this patch was compiled with. :)

           and of course, id Software, the Gods of cyberspace, the Creators of the
           greatest gaming engine the world has known, the mighty Quake...
           None of this would exist without you guys.


Type of Mod
-----------
HexenC   : yes
Sound    : no
MDL      : yes


Format of HexenC
----------------
unified diff  : no
context diff  : no
.hc files     : yes- with comments!
progs.dat     : yes


Description of the Modification
-------------------------------
Allows you to use a new item, the Eye of Ra, which is a golden jewel with carven eyes in its two
largest facets. Its behavior is similar to the Nail Grenade of Team Fortress fame, but using
sunbeam lasers (like from the sunstaff) instead of nails. When used, the Eye is thrown like a
grenade, and sits on the ground for a couple of seconds. Then it rises into the air, grows and
becomes translucent, and starts shooting three deadly laser beams, bobbing up and down and
rotating all the while. The beams, of course, angle and reflect all over the place, and can
hit nearly anything within sight of the gem, and even things which AREN'T in sight of it, if they're
in just the wrong place. Since the angles the beams fire at change as the gem rotates and bobs,
they are very difficult to avoid, and the best policy (as with the original nail grenade) is to
not stay nearby, but get through or out of the area quickly. The item's user is not harmed by
the beams, only other entities. The Eye of Ra shatters after its power is used up, but this takes
a fairly long time, so one of these can often clear a room of any hostiles nearly every time. It
is possible to shatter the gem before its time is up, but it's difficult to hit at best, and can
take a lot of punishment until it's almost used up.

Since the Eye is a new item, it has to be created in a level before it can be used (of course). For
level designers, this should be as easy as putting an "art_lasgem" entity into your level somewhere,
though I haven't tested that yet. You can also use the create command to make one, and this IS tested
(and works fine). And of course, if you just want to use the thing, without picking one up first, you
can use impulse 43- gives you 20 of them along with every other artifact.

Speaking of impulses, there is one annoying thing I haven't found a decent workaround for yet- it
looks like Raven HARDCODED the inventory screen into the Hexen II exe, which means that the Eye (or
any other new item, for that matter) will NOT SHOW UP on your inventory, no matter how many you have!
It also means that you can't use it like a normal inventory item, you MUST use the correct "quick
inventory" item impulse, which for the Eye is 115. If you're used to using items with hotkeys, this
won't be much of a problem for you- just bind one to "impulse 115.". If you're NOT used to that,
you'll have to get used to it quickly, unfortunately, to use the Eye much. It's also annoying not
knowing how many you have, but I have the Eye tell you how many you have left each time you use
one, so you CAN sort of keep track- it's just a bit harder. Even with this extra hassle, it's
still fun to use, so go ahead and try it- I think you'll like it!


How to Install the Modification
-------------------------------
The ZIP file includes the progs.dat and copies of the modified HC files, with comments
pointing out where I made modifications, and explanations of the mods.

To use the patch, go to your HexenII main directory.
Make a subdirectory and call it whatever you want- I use "EyeOfRa".
Then run HexenII adding "-game EyeOfRa" (or whatever you called it) to the command line.

To use the modified code, start with the HexenC code base, which you get with the official
utilities. If you want to use this patch as a base, just copy the included .hc files
over the ones with the same names in your progs directory; otherwise, you'll need to
look through the included files for the "EyeOfRa Code" comments.

I put "EyeOfRa Code start" at the beginning of each modified code block, and
"EyeOfRa Code end" at the end of each. The code between them is mine or mostly mine, the rest
is unchanged from the original HexenC base. I explain, in places where I modified or kept a
line from the original code, what the original code was, so you can better figure out what needs
changing without too much trouble. Just add the EyeOfRa code where appropriate, and all should
go smoothly.


KNOWN BUGS (and "features :)
----------------------------
No known BUGS as such, but there is a feature I intend to change as soon as I figure out how- the
fact that the user isn't damaged by his(her) own Eye! This was never intended to be in the patch,
though it is a semi-logical one to have, but it resulted from the fact that a Cursader can't be
damaged by his own Sunstaff no matter where the reflections go. As I said, I don't know how to
"fix" this, but I'll be trying to for a future version of the item.

Neal's original idea called for the "laser bomb" to shoot six lasers instead of three, but Hexen
seems to be incapable of drawing more than three beams (and their reflections) at a time, so I
changed it. The other three beams (in the original version) were still there, but didn't show
up on screen, which makes it rather difficult for enemy players to see what to avoid (not that
it's easy to avoid anyway). Actually, some of the reflections of the beams don't show up either,
but this is an intermittent bug and seems to be just one of the vagaries of the game engine
(meaning I can't fix it).

Also, due to the same limit of three, if you use more than one Eye, which beams show up out of either
of them is unpredictable- but again, adds up to the same total number. So, you shouldn't use more
than one at a time. :) Also, if you use four or more, sometimes the game gives a "stream buffer
overflow" or similar message, but this doesn't crash the game, so I don't think it's too bad.

Any other bugs? E-mail me if you find some. Any suggestions for new features or ones you'd like to see
taken out? E-mail me. Picking up on a theme here? :)


CHANGE LOG
-----------
-Made basic gem model and artifact entity. Added strings to make game print messages correctly.

-Made artifact use motions- thrown like a grenade, then rises off what it hit and starts firing
 lasers.

-Made beams rotate, by changing angle at which the main one was fired.

-Gem looked a bit funny just sitting there while the beams rotated, :) so added gem rotation in
 synch with the beams.

-Player wasn't getting experience when gem killed something, so I changed the FireSunstaff code
 to allow the proper credit.

-Added client obituary and new death type to allow a new message to show up for players killed by
 an Eye.

-Added a few minor appearance changes to the way the Eye works, before it fires. Most players
 probably won't even notice them; oh well. :) At least I know they're there, right?


Technical Details
-----------------
If you're that interested, feel free to read the code- that's what it's there for. :)
I'm the only one who plays Hexen 2 at my office and home, so I haven't tested the item in
multiplayer yet- but it should work fine as long as everybody's running with the same
progs.dat and has the gem models. I'm assuming that more than one Crusader in a multiplayer
game can fire off a powered-up sunstaff and have all the beams show up in the game, and if
so, there shouldn't be any problem with multiple players activating Eyes at the same time.
If there is, feel free to tell me, but I don't expect to be able to fix it, at least, not
easily or soon.

This progs.dat was compiled using Raven/Activision's official HCC compiler, so it works
only on 1.11 servers, and only with the retail version of the game.

This material is not made or supported by Activision, so don't contact them if you have
problems with it. Contact me; I'm the one who made it! This is common sense.


Author Information
------------------
I've created:

- The OvinoImp mod, which should be available from the same servers as this one.

- The Magic Acorn and Orb of the Meek, which should also be available by the
  time you get this. I am currently updating them to run on 1.11 servers; the
  first available versions (Acorn.zip and OrbMeek.zip) were compiled for 1.07
  servers using Eric Hobbs's unofficial HCC compiler.

- Lots of other things for Doom, Heretic, Hexen 1, and Quake, most of which were
  just circulated among friends and never released. If anybody played the "Chaos
  Fountain" level for Hexen 1, that was mine.


Copyright and Distribution Permissions
--------------------------------------
All title, ownership rights and intellectual property rights in this mod are owned by Activision 
or its licensors and are protected by the copyright laws of the United States, international
copyright treaties and conventions and other laws.

You can't own, sell, rent, lease, or license this mod without the permission of Activision,
so don't ask me to do so unless they told you to (which would be nice of them, if somebody
does want to :).

Authors MAY use this modification as a basis for other publically available work, except as
noted above.

This file MAY be distributed on Bulletin Board Systems or on the Internet, PROVIDED that
this file IS included and NOT MODIFIED.


Availability
------------

This modification is available from the following places:

FTP   : ftp.cdrom.com