public override void ApplyEffectKind(Person person, Event e)
 {
     if (person.LocationArchitecture != null)
     {
         Captive captive = Captive.Create(base.Scenario, person, person.LocationArchitecture.BelongedFaction);
     }
 }
 public override void SelfCaptiveRelease(Captive captive)
 {
     if ((((base.Scenario.CurrentPlayer == null) || base.Scenario.IsCurrentPlayer(captive.BelongedFaction)) || base.Scenario.IsCurrentPlayer(captive.CaptiveFaction)) || GlobalVariables.SkyEye)
     {
         this.Plugins.GameRecordPlugin.AddBranch(captive, "SelfCaptiveRelease", captive.BelongedFaction.Capital.Position);
     }
 }
 public override void PersonJailBreak(Person person, Captive captive)
 {
     if (base.Scenario.IsCurrentPlayer(person.BelongedFaction) || base.Scenario.IsCurrentPlayer(captive.BelongedFaction))
     {
         person.TextDestinationString = captive.LocationArchitecture.Name;
         person.TextResultString      = captive.CaptivePerson.Name;
         this.Plugins.GameRecordPlugin.AddBranch(person, "PersonJailBreak", person.Position);
     }
 }
 public override void CaptivePlayerRelease(Faction from, Faction to, Captive captive)
 {
     if ((base.Scenario.CurrentPlayer == null) || base.Scenario.IsPlayer(from))
     {
         this.Plugins.PersonTextDialogPlugin.SetConfirmationDialog(this.Plugins.ConfirmationDialogPlugin, new GameDelegates.VoidFunction(captive.ReleaseCaptive), new GameDelegates.VoidFunction(captive.ReturnRansom));
         this.Plugins.ConfirmationDialogPlugin.SetPosition(ShowPosition.Center);
         this.Plugins.PersonTextDialogPlugin.SetGameObjectBranch(from.Leader, captive, "ReleaseCaptive");
         this.Plugins.PersonTextDialogPlugin.IsShowing = true;
     }
 }
        private void FrameFunction_Architecture_KillCaptive()
        {
            Captive captive = new Captive();

            captive = this.mainGameScreen.Plugins.TabListPlugin.SelectedItem as Captive;
            if (captive != null)
            {
                this.mainGameScreen.xianshishijiantupian(this.gameScenario.NeutralPerson, captive.BelongedFaction.Leader.Name, "KillCaptive", "chuzhan.jpg", "chuzhan.wav", captive.CaptivePerson.Name, true);
                Person leader = captive.BelongedFaction.Leader;
                captive.CaptivePerson.execute(captive.BelongedFaction);
                captive.Clear();
            }
        }