public static void createCourtCaseForCitations(List <TrafficCitation> citations, Ped ped)
        {
            if (Configs.EnableLSPDFRPlusIntegration && Function.IsLSPDFRPlusRunning() && ped != null && ped.IsValid())
            {
                Persona pedPersona             = Functions.GetPersonaForPed(ped);
                string  citationStr            = String.Empty;
                string  courtVerdictStr        = String.Empty;
                int     guiltyChance           = Globals.Random.Next(75, 101);
                int     totalFine              = 0;
                bool    containTrafficCitation = false;
                bool    isSuspended            = false;
                bool    isRevoked              = false;

                foreach (var citation in citations)
                {
                    if (citation.CreateCourtCase)
                    {
                        if (citationStr.Equals(String.Empty))
                        {
                            citationStr = citation.Citation.Name;
                        }
                        else
                        {
                            citationStr += ", " + citation.Citation.Name;
                        }

                        int maxFine   = (int)citation.Citation.FineAmount;
                        int fine      = 0;
                        int randumNum = Globals.Random.Next(0, 100);
                        if (randumNum < 25)
                        {
                            fine = (int)(maxFine * 0.80f);
                        }
                        else if (randumNum < 50)
                        {
                            fine = (int)(maxFine * 0.65f);
                        }
                        else if (randumNum < 75)
                        {
                            fine = (int)(maxFine * 0.5f);
                        }
                        else
                        {
                            fine = maxFine;
                        }

                        totalFine += fine;

                        if (!citation.Citation.IsPublic)
                        {
                            containTrafficCitation = true;
                            if (citation.Citation.IsArrestable)
                            {
                                isRevoked = true;
                            }
                        }
                    }
                }

                if (!citationStr.Equals(String.Empty))
                {
                    if (containTrafficCitation && !isRevoked && totalFine > 500)
                    {
                        isSuspended = true;
                    }
                    courtVerdictStr = "Fined $" + totalFine;

                    if (isRevoked)
                    {
                        courtVerdictStr += ". License revoked";
                    }
                    else if (isSuspended)
                    {
                        courtVerdictStr += ". License suspended for " + Globals.Random.Next(6, 13) + " months";
                    }

                    LSPDFRPlusFunctions.CreateNewCourtCase(pedPersona, citationStr, guiltyChance, courtVerdictStr);
                }
            }
        }
        public static void createCourtCaseForArrest(ArrestReport report, ComputerPlusEntity entity)
        {
            if (Configs.EnableLSPDFRPlusIntegration && Function.IsLSPDFRPlusRunning() && entity != null)
            {
                string crimeStr             = String.Empty;
                string courtVerdictStr      = String.Empty;
                int    guiltyChance         = Globals.Random.Next(75, 101);
                int    verdictMonths        = 0;
                int    verdictYears         = 0;
                bool   trafficFelonyCharged = false;

                foreach (var charge in report.Charges)
                {
                    if (crimeStr.Equals(String.Empty))
                    {
                        crimeStr = charge.Charge;
                    }
                    else
                    {
                        crimeStr += ", " + charge.Charge;
                    }

                    if (charge.IsTraffic)
                    {
                        if (charge.IsFelony)
                        {
                            if (!trafficFelonyCharged)
                            {
                                courtVerdictStr      = "License revoked";
                                verdictMonths        = Globals.Random.Next(3, 13);
                                trafficFelonyCharged = true;
                            }
                        }
                        else
                        {
                            if (!trafficFelonyCharged)
                            {
                                courtVerdictStr = "Fined $" + Globals.Random.Next(500, 1001) + ". License suspended for " + Globals.Random.Next(6, 13) + " months";
                            }
                        }
                    }
                    else
                    {
                        if (charge.IsFelony)
                        {
                            verdictYears += Globals.Random.Next(4, 11);
                        }
                        else
                        {
                            verdictYears += Globals.Random.Next(1, 4);
                        }
                    }
                }

                if (verdictYears > 0 && verdictMonths > 0)
                {
                    verdictYears++;
                }
                string sentencePrisonStr = String.Empty;

                if (verdictYears > 0)
                {
                    sentencePrisonStr = "Sentenced to " + verdictYears + " years in prison";
                }
                else if (verdictMonths > 0)
                {
                    sentencePrisonStr = "Sentenced to " + verdictMonths + " months in prison";
                }

                if (courtVerdictStr.Equals(String.Empty))
                {
                    courtVerdictStr = sentencePrisonStr;
                }
                else
                {
                    courtVerdictStr += ". " + sentencePrisonStr;
                }

                LSPDFRPlusFunctions.CreateNewCourtCase(entity.PedPersona, crimeStr, guiltyChance, courtVerdictStr);
            }
        }