The file kp1_0.zip contains a number of 'deh' files for use with 
DEHACKED v1.3 (and DOOM v1.2, of course) which create some interesting
and informatie changes to doom.exe.

Of course, you should back up doom.exe before implementing any of
these.

To use, just type 

c:\games\doom> dehacked -load ??????.deh
                                ^
                                |
                                |-name goes here, silly!

The files included in kp1_0.zip:

        ammo2pos.deh    :: Causes troopers to 'reappear' upon death
        
        bal12skl.deh    :: Imps fire skulls, with occasionally lethal
                                results
        
        blastimp.deh    :: Imps on amphetamines.  
        
        gun.deh         :: Shotgun goes automatic.
        
        infmisl.deh     :: Missiles, upon detonation, keep exploding
                                forever!
      
        puff2pos.deh    :: Watch where you shoot - misses create more
                                troopers!

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

The following is how I created the changes in each of the above files:

ammo2pos.deh: This was simple.  I edited 'thing' number 47(?), the 'ammo'
                thing, and replaced all of its attributes with that of
                the 'spos/trooper' thing.  Note that upon killing the 
                2nd trooper, another trooper is NOT produced.  Apparently,
                whenever thing number 3(?) is killed, it produces thing 47,
                regardless of what attributes either has.  (Even ID number
                has no effect on this!)

bal12skl.deh: This was an attempt to create imps which would shoot skulls  
        instead of fireballs.  After numerous attempts of editing the 'bal1'
        thing (imp fireball), I discovered a few important things.
                1) Projectiles (balls, missiles, etc.) must have the
                        'projectile bit' set, or they 'die' as soon as they
                        are produced.  Also, projectiles with the bit set
                        'die' as soon as they hit another thing or wall.
                2) Only the projectile 'frames' behave properly when shot
                        from an imp.  Note that I am referring to the
                        frame #; the picture associated with it (columns
                        1 & 2 of the frame table) have no effect.  When 
                        monsters are 'shot' as projectiles, they blink, do
                        other wierd things, and cause the game to crash.
                3) The skull 'attack' frame DOES know how to behave as
                        a projectile! (I think it's the SECOND frame in
                        the skull attack sequence).  So, by setting the 
                        standard frame of the imp fireball to that of
                        the skull attack, the imp can shoot skull. But, 
                        because of #1, the skull dies when it hits a wall,
                        instead of stopping and trying to re-aim.
                4) If the skull is shot in mid flight, bizzare things happen
                        for some wierd reason.  The skull goes crazy and
                        goes into a continuous and quite lethal attack mode.
                        Instant death (unless you have IDDQD on :)

blastimp.deh: This is a simple modification of the frame table.  I changed
        the 'duration' column for all of the imp's movement frames to 1.
        As a result, the imp now walks REALLY fast, and gets frequent
        opportunities to shoot as well.  I believe I also sped up the imp's
        shooting frames so it can get off more shots than before.

gun.deh: Another simple modification of the frame table.  I edited the
        'next frame' column of the shotgun firing sequence to point
        directly to the actual shooting frame, and edited that frame's
        'next frame' to the 'resting frame' of the shotgun. I also dropped
        the duration time of these frames to 1.  As a result, the shotgun
        now fires at obscene speed by skipping all of those reload frames.

infmisl.deh: For this modification, I changed the 'next frame' for the
        last frame of the missle death sequence to point not to 0 (which
        causes the explosion to dissappear) but to the first frame of
        its death sequence.  The missle now never stops 'dying', and so
        it does infinite repeated damage.

puff2pos.deh: This is my most imaginative modification.  I editted the frame
        table for the 'bullet puff' frames so that a different picture was 
        loaded, and so instead of dying the puff calls the trooper frame
        as the 'next frame'.  Also, all of the normal attributes of the 
        trooper were copied over to the puff thing.  Finnally, I edited
        the bits a little.  The 'nonclipping' was neccessary to detatch the
        trooper from the wall, and the 'color' bit was so the puff would look
        more interesting.

I hope you like these modifications!
Write to me at kp2084@atlas.ccm.edu

An observation: Does the 'code pointer' column of the frame editor actually
do anything? (column 5)  I have edited this repeatedly, both copying the
values for other frames and inserting random values.  Nothing I do seems to
have any effect. As far as I can tell, while dehacked1.3 saves your changes
to column 5 in your save file, it does not write these changes to doom.exe

                                Karl
                                        (marx)
                
        


