Dragons source files are divided into three zips:
src_mod.zip, src_new.zip, and src_pure.zip.

src_mod.zip  = Modified source files.
src_new.zip  = New source files.
src_pure.zip = Original, unchanged source files.

src_mod.zip
-----------
ai.qc         client.qc     combat.qc     items.qc      misc.qc
monsters.qc   oldone.qc     player.qc     progs.src     triggers.qc
weapons.qc    world.qc

src_new.zip
-----------
check.qc      combat2.qc    corpse.qc     dragon.h      dragon.qc
fire.h        fire1.qc      fire2.qc      ghost.qc      hack.qc
minion.qc     pet.h         pet.qc        petai.qc      petdeath.qc
petimp.qc     petitem.qc    petmove.qc    petnode.qc    regen.qc
respawn.qc    ryu1.qc       ryu2.qc       ryuai.qc      ryumisc.qc
ryumove.qc    ryushot.qc    ryuwater.qc   sflags.qc     supply.qc
zap.qc

src_pure.zip
------------
boss.qc       buttons.qc    defs.qc       demon.qc      dog.qc
doors.qc      enforcer.qc   fight.qc      fish.qc       hknight.qc
knight.qc     ogre.qc       plats.qc      shalrath.qc   shambler.qc
soldier.qc    subs.qc       tarbaby.qc    wizard.qc     zombie.qc


---------- Modified source files ----------
   Below are the names of the .qc files I modified and what
   I did to change them.

	AI.QC
   * Added dragon wake up sounds code.
   * Cleaned up ambush vs. zombie crucified spawnflag mess.

	CLIENT.QC
   * Added 'parm10' and 'parm11' for player's dragon.
   * Added a line of code that resets dragon biteme status.
   * Added code that extinguishes fire when a player respawns
      or exits the level.
   * Added a line of code that kills a player's dragon when
      that player respawns.
   * Added obituaries for the dragons and a few other monsters.

	COMBAT.QC
   * Added code where created or respawned monsters do not count
      as kills.
   * Changed monster reactions in T_Damage to interface with
      the more complicated decision code in "combat2.qc"

	ITEMS.QC
   * Added code that lets health boxes extinguish
      fire burning on a player.
   * Added code which lets familiars gain quad damage
      or invulnerability when their master picks one up.

	MISC.QC
   * Fixed a bug which an exploding barrel can negate other
      explosions.

	MONSTERS.QC
   * Added code where smart dragons and the nightshade can
      spot an invisible player.
   * Added code where respawned monsters do not fire triggers.
   * Added respawn initialization code.
   * Cleaned up monster initialization code.
   * Replaced some checks with better ones.
   * Added better monster inwall checks.
   * Fixed fish bug.

	OLDONE.QC
   * Added a gold dragon familiar to the ending.  Also changed
      the player's pose.

	PLAYER.QC
   * Added code for screams when player is burning.

	PROGS.SRC
   * Added the filenames of the extra .qc files used to compile
      the progs.dat for Dragons.

	TRIGGERS.QC
   * Added code where familiars have priority over bad guys
      in a monster vs. monster telefrag contest.
   * Added code which helps familiars aim for teleporters
      while following their master.

	WEAPONS.QC
   * Added pet dragon precache code.
   * Added player-to-dragon interface.

	WORLD.QC
   * Precache files used by the (Napalm) fire code.

---------- Additional source files ----------
   Below are the names of the new .qc files I added and a
   brief explanation what each one does.

	CHECK.QC
   * This performs checks whether an entity at a given location would
      be inside a solid, another creature, empty air, or liquid.

	COMBAT2.QC
   * This adds constants for intelligence levels.
   * Added code for burning monsters that find a target.
   * Added code that determines if a monster was created by
      another monster.
   * Added code to check if an entity is a good guy.
   * Added code that determines whether a monster should turn
      and fight the entity that attacked it most recently.

	CORPSE.QC
   * This adds dead dragon entities to a level.

	DRAGON.H
   * This adds new constants and edict fields used by the dragon
      patch.  It also defines prototypes for functions in other files.

	DRAGON.QC
   * This defines the dragon itself.

	FIRE.H
   * This adds new constants and edict fields used by the
      Napalm fire code.

	FIRE1.QC
   * This file contains code that dictates how fire-based
      attacks work in Quake, especially damage.

	FIRE2.QC
   * This file contains code for generic fire-based attacks.

	GHOST.QC
   * This adds spooky noisemaking entities.  Some pacifist
      nightshades can be converted to such entities.

	HACK.QC
   * This file adds dragons to the original Quake levels.

	MINION.QC
   * This produces the nightshade's breath attack and the zombies
      it creates.

	PET.H
   * This adds new constants and edict fields used by the
      dragon familiar.  This is an extension of the code defined
      in 'dragon.h'.

	PET.QC
   * This is animation code for the pet dragon.

	PETAI.QC
   * This dictates the behavior of the pet dragon.  It is an
      extension of 'drgnai.qc'.

	PETDEATH.QC
   * This destroys dragon familiars and severs the link
      between player and dragon.

	PETIMP.QC
   * This contains code for the impulses used to command to
      the dragon as well as other player-to-dragon interface.

	PETITEM.QC
   * This defines the pet dragon and the item that spawns it.

	PETMOVE.QC
   * This file contains code that does the following:
      - Follow the player vertically.  It can fly over or
         under small obstacles, but it normally tries to
         stay within constant elevation relative to the
         player's torso.
      - Check if the dragon is blocking the player and
         get out of the way by teleporting.
      - Teleport the dragon to a location nearby the player.
      - Check if the dragon is clipping something and fix it.

	PETNODE.QC
   * This file contains code that lets the dragon follow
      the player by creating waypoints.

	REGEN.QC
   * Added a function that controls when and how much health an
      entity automatically regains over time.

	RESPAWN.QC
   * This controls respawning for monsters.

	RYU1.QC
   * This is animation code for large dragons.

	RYU2.QC
   * This is animation code for small dragons.

	RYUAI.QC
   * This dictates the behavior of the dragons.  This tells the
      dragon what to do and when to do it, whether it would be
      attacking, finding water, etc.

	RYUMISC.QC
   * This file contains a variety of code that does not fit
      in with the other dragon related file.  It serves three
      functions.
      - Play some of the dragon sounds.
      - Spawn gibs with any skin.
      - Display the correct obituary for players killed
         by a dragon.

	RYUMOVE.QC
   * This file contains code that does the following:
      - Overcome the bugs somewhat present in the builtin
         functions 'walkmove' and 'movetogoal'.
      - Let the dragon fly vertically and added collision
         detecting code that should prevent it from clipping.
      - Tells the dragon to dodge projectiles such as bullets
         or rockets, or avoid very dangerous creatures such as
         spawn or a player with invulnerability.

	RYUSHOT.QC
   * This file contains code that creates the breath attacks
      for all the dragons except the nightshade.

	RYUWATER.QC
   * This file contains a variety of code that involves water.
      It has two primary jobs.
      - Avoid water if dragon is afraid of water.
      - Find water and fly to it if dragon is burning.

	SFLAGS.QC
   * This adds triggers that add or remove spawnflags from entities.

	SUPPLY.QC
   * This adds triggers that give health and/or items to players.

	ZAP.QC
   * This file contains code that creates a bolt of lightning
      that can strike multiple targets and fry targets underwater.
