public static bool WillDrop(double nextDouble, int mobLevel, int charLevel, short jobId, GlobalDropStruct drop, double extraRateModifier) { var levelDiff = charLevel - mobLevel; if (levelDiff > drop.MaxLevelDiff) { return(false); } if (mobLevel > drop.MinMobLevel) { return(false); } if (drop.Job != JobLogic.JobType.All && drop.Job != JobLogic.JobTypeFromID(jobId)) { return(false); } return(nextDouble < (drop.DropRate * extraRateModifier)); }