public static Captive Create(GameScenario scenario, Person person, Faction faction)
        {
            if (person.BelongedFaction == null)
            {
                return(null);
            }
            if (person.BelongedFaction == faction)
            {
                return(null);
            }
            Captive captive = new Captive();

            captive.Scenario       = scenario;
            captive.ID             = scenario.Captives.GetFreeGameObjectID();
            captive.CaptivePerson  = person;
            person.BelongedCaptive = captive;
            captive.CaptiveFaction = person.BelongedFaction;
            scenario.Captives.AddCaptiveWithEvent(captive);
            captive.CaptiveFaction.AddSelfCaptive(captive);
            faction.AddCaptive(captive);
            return(captive);
        }