public Weapon NewRandomWeapon(ILocation level, Point position, int floor) { var modifier = Utilities.PassPercentileRoll(SpecialWeaponChance) ? Utilities.GetRandomFromList(WeaponModifiers) : null; return(new Weapon(level, position, WeaponTypes[LevelFactor(floor, WeaponTypes.Count())], modifier)); }