diff --git a/src/collision.c b/src/collision.c
index 90fd4b0..6c08f0d 100644
--- a/src/collision.c
+++ b/src/collision.c
@@ -109,7 +109,6 @@ int CollideLineSprite(const Vec2* ap, double ad,
   (void)bsx;
   (void)bsy;
   (void)bp;
-  (void)crash;
 
 }
 
diff --git a/src/weapon.c b/src/weapon.c
index 782aab3..0b7f2ac 100644
--- a/src/weapon.c
+++ b/src/weapon.c
@@ -230,6 +230,8 @@ void weapons_update(const double dt) {
 static void weapons_updateLayer(const double dt, const WeaponLayer layer) {
   Weapon** wlayer;
   int* nlayer;
+  Weapon* w;
+  int i;
 
   switch(layer) {
   case WEAPON_LAYER_BG:
@@ -241,8 +243,7 @@ static void weapons_updateLayer(const double dt, const WeaponLayer layer) {
     nlayer = &nwfrontLayer;
     break;
   }
-  int i;
-  Weapon* w;
+
   for(i = 0; i < (*nlayer); i++) {
     w = wlayer[i];
     switch(wlayer[i]->outfit->type) {
@@ -365,9 +366,9 @@ static void weapon_update(Weapon* w, const double dt, WeaponLayer layer) {
 static void weapon_hit(Weapon* w, Pilot* p, WeaponLayer layer, Vec2* pos) {
   /* Someone should let the ai know it's been attacked. */
   if(!pilot_isPlayer(p)) {
-    if((player_target == p->id) || (RNG(0,2) == 0)) { /* 33% chance. */
+    if((player_target == p->id) || (RNGF() > 0.33)) { /* 33% chance. */
       if((w->parent == PLAYER_ID) &&
-          (!pilot_isFlag(p, PILOT_HOSTILE) || (RNG(0, 1) == 0))) { /* 50% chance. */
+          (!pilot_isFlag(p, PILOT_HOSTILE) || (RNGF() < 0.5))) { /* 50% chance. */
         faction_modPlayer(p->faction, -1); /* Slowly lower faction. */
         pilot_setFlag(p, PILOT_HOSTILE);
       }
@@ -497,19 +498,21 @@ static Weapon* weapon_create(const Outfit* outfit, const double dir, const Vec2*
 void weapon_add(const Outfit* outfit, const double dir, const Vec2* pos,
                 const Vec2* vel, unsigned int parent, unsigned int target) {
 
+  WeaponLayer layer;
+  Weapon* w;
+  Weapon** curLayer;
+  int* mLayer, *nLayer;
+
   if(!outfit_isWeapon(outfit) &&
      !outfit_isAmmo(outfit) && !outfit_isTurret(outfit)) {
     ERR("Trying to create a weapon from a non-Weapon type Outfit");
     return;
   }
 
-  WeaponLayer layer = (parent == PLAYER_ID) ? WEAPON_LAYER_FG : WEAPON_LAYER_BG;
-  Weapon* w = weapon_create(outfit, dir, pos, vel, parent, target);
+  layer = (parent == PLAYER_ID) ? WEAPON_LAYER_FG : WEAPON_LAYER_BG;
+  w = weapon_create(outfit, dir, pos, vel, parent, target);
 
   /* Set the propper layer. */
-  Weapon** curLayer = NULL;
-  int* mLayer = NULL;
-  int* nLayer = NULL;
   switch(layer) {
   case WEAPON_LAYER_BG:
     curLayer = wbackLayer;
diff --git a/src/weapon.h b/src/weapon.h
index 4da5364..2c8e7c7 100644
--- a/src/weapon.h
+++ b/src/weapon.h
@@ -2,8 +2,16 @@
 #include "outfit.h"
 #include "physics.h"
 
+/**
+ * @enum WeaponLayer
+ *
+ * @brief Designates the layer the wepon is on.
+ *
+ * Auomatically set up on creation (player is front, rest is back).
+ */
 typedef enum { WEAPON_LAYER_BG, WEAPON_LAYER_FG } WeaponLayer;
 
+/* Addition */
 void weapon_add(const Outfit* outfit, const double dir, const Vec2* pos,
                 const Vec2* vel, unsigned int parent,
                 const unsigned int target);