예제 #1
0
    /// <summary>
    /// Checks player at start of turn (early) to see if invisibility is one or less and Erasure team present
    /// </summary>
    private void CheckStartTurnCapture()
    {
        //get correct player status depending on who is in charge of Resistance
        ActorStatus status = ActorStatus.Active;

        if (GameManager.i.sideScript.resistanceOverall == SideState.Human)
        {
            status = GameManager.i.playerScript.status;
        }
        else
        {
            status = GameManager.i.aiRebelScript.status;
        }
        //only check if player active
        if (status == ActorStatus.Active)
        {
            CaptureDetails details = CheckCaptured(GameManager.i.nodeScript.GetPlayerNodeID());
            if (details != null)
            {
                //Player captured
                details.effects = string.Format("{0}They kicked in the door before you could get out of bed{1}", colourNeutral, colourEnd);
                CapturePlayer(details, true);
            }
        }
    }
예제 #2
0
    /// <summary>
    /// event handler
    /// </summary>
    /// <param name="eventType"></param>
    /// <param name="Sender"></param>
    /// <param name="Param"></param>
    public void OnEvent(EventType eventType, Component Sender, object Param = null)
    {
        //detect event type
        switch (eventType)
        {
        case EventType.ChangeColour:
            SetColours();
            break;

        case EventType.Capture:
            CaptureDetails details = Param as CaptureDetails;
            CaptureSomebody(details);
            break;

        /*case EventType.ReleasePlayer:
         *  ReleasePlayer();
         *  break;*/
        case EventType.ReleaseActor:
            Actor actor = Param as Actor;
            ReleaseActor(actor);
            break;

        case EventType.StartTurnEarly:
            CheckStartTurnCapture();
            break;

        default:
            Debug.LogError(string.Format("Invalid eventType {0}{1}", eventType, "\n"));
            break;
        }
    }
예제 #3
0
    //
    // - - - Capture and Release
    //

    public void CaptureSomebody(CaptureDetails details)
    {
        if (details != null)
        {
            if (details.actor == null)
            {
                CapturePlayer(details);
            }
            else
            {
                CaptureActor(details);
            }
        }
        else
        {
            Debug.LogError("Invalid CaptureDetails (Null)");
        }
    }
예제 #4
0
        public CaptureDetails GetCaptureDetails(AmazonPayClient client, string captureId, out AmazonPayApiData data)
        {
            data = new AmazonPayApiData();

            CaptureDetails details = null;
            var            request = new GetCaptureDetailsRequest();

            request.SellerId        = client.Settings.SellerId;
            request.AmazonCaptureId = captureId;

            var response = client.Service.GetCaptureDetails(request);

            if (response != null && response.IsSetGetCaptureDetailsResult())
            {
                var result = response.GetCaptureDetailsResult;
                if (result != null && result.IsSetCaptureDetails())
                {
                    details = result.CaptureDetails;
                }
            }

            try
            {
                data.MessageType = "GetCaptureDetails";

                if (response.IsSetResponseMetadata() && response.ResponseMetadata.IsSetRequestId())
                {
                    data.MessageId = response.ResponseMetadata.RequestId;
                }

                if (details != null)
                {
                    if (details.IsSetAmazonCaptureId())
                    {
                        data.CaptureId = details.AmazonCaptureId;
                    }

                    if (details.IsSetCaptureReferenceId())
                    {
                        data.ReferenceId = details.CaptureReferenceId;
                    }

                    if (details.IsSetCaptureFee())
                    {
                        data.Fee = new AmazonPayApiPrice(details.CaptureFee.Amount, details.CaptureFee.CurrencyCode);
                    }

                    if (details.IsSetCaptureAmount())
                    {
                        data.CapturedAmount = new AmazonPayApiPrice(details.CaptureAmount.Amount, details.CaptureAmount.CurrencyCode);
                    }

                    if (details.IsSetRefundedAmount())
                    {
                        data.RefundedAmount = new AmazonPayApiPrice(details.RefundedAmount.Amount, details.RefundedAmount.CurrencyCode);
                    }

                    if (details.IsSetCreationTimestamp())
                    {
                        data.Creation = details.CreationTimestamp;
                    }

                    if (details.IsSetCaptureStatus())
                    {
                        data.ReasonCode        = details.CaptureStatus.ReasonCode;
                        data.ReasonDescription = details.CaptureStatus.ReasonDescription;
                        data.State             = details.CaptureStatus.State.ToString();
                        data.StateLastUpdate   = details.CaptureStatus.LastUpdateTimestamp;
                    }
                }
            }
            catch (Exception exc)
            {
                exc.Dump();
            }
            return(details);
        }
예제 #5
0
        public static CaptureResponse InvokeCapture(IOffAmazonPaymentsService service, CaptureRequest request)
        {
            CaptureResponse response = null;

            try
            {
                response = service.Capture(request);
                Console.WriteLine("Service Response");
                Console.WriteLine("=============================================================================");
                Console.WriteLine();
                Console.WriteLine("        CaptureResponse");
                if (response.IsSetCaptureResult())
                {
                    Console.WriteLine("            CaptureResult");
                    CaptureResult captureResult = response.CaptureResult;
                    if (captureResult.IsSetCaptureDetails())
                    {
                        Console.WriteLine("                CaptureDetails");
                        CaptureDetails captureDetails = captureResult.CaptureDetails;
                        if (captureDetails.IsSetAmazonCaptureId())
                        {
                            Console.WriteLine("                    AmazonCaptureId");
                            Console.WriteLine("                        {0}", captureDetails.AmazonCaptureId);
                        }
                        if (captureDetails.IsSetCaptureReferenceId())
                        {
                            Console.WriteLine("                    CaptureReferenceId");
                            Console.WriteLine("                        {0}", captureDetails.CaptureReferenceId);
                        }
                        if (captureDetails.IsSetSellerCaptureNote())
                        {
                            Console.WriteLine("                    SellerCaptureNote");
                            Console.WriteLine("                        {0}", captureDetails.SellerCaptureNote);
                        }
                        if (captureDetails.IsSetCaptureAmount())
                        {
                            Console.WriteLine("                    CaptureAmount");
                            Price captureAmount = captureDetails.CaptureAmount;
                            if (captureAmount.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", captureAmount.Amount);
                            }
                            if (captureAmount.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", captureAmount.CurrencyCode);
                            }
                        }
                        if (captureDetails.IsSetRefundedAmount())
                        {
                            Console.WriteLine("                    RefundedAmount");
                            Price refundedAmount = captureDetails.RefundedAmount;
                            if (refundedAmount.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", refundedAmount.Amount);
                            }
                            if (refundedAmount.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", refundedAmount.CurrencyCode);
                            }
                        }
                        if (captureDetails.IsSetCaptureFee())
                        {
                            Console.WriteLine("                    CaptureFee");
                            Price captureFee = captureDetails.CaptureFee;
                            if (captureFee.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", captureFee.Amount);
                            }
                            if (captureFee.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", captureFee.CurrencyCode);
                            }
                        }
                        if (captureDetails.IsSetCreationTimestamp())
                        {
                            Console.WriteLine("                    CreationTimestamp");
                            Console.WriteLine("                        {0}", captureDetails.CreationTimestamp);
                        }
                        if (captureDetails.IsSetProviderCreditSummaryList())
                        {
                            Console.WriteLine("                    ProviderCreditSummaryList");
                            foreach (ProviderCreditSummary providerCreditSummary in captureDetails.ProviderCreditSummaryList.member)
                            {
                                if (providerCreditSummary.IsSetProviderCreditId())
                                {
                                    Console.WriteLine("                         ProviderCreditId");
                                    Console.WriteLine("                             {0}", providerCreditSummary.ProviderCreditId);
                                }
                                if (providerCreditSummary.IsSetProviderId())
                                {
                                    Console.WriteLine("                         ProviderId");
                                    Console.WriteLine("                             {0}", providerCreditSummary.ProviderId);
                                }
                            }
                        }
                        if (captureDetails.IsSetCaptureStatus())
                        {
                            Console.WriteLine("                    CaptureStatus");
                            Status captureStatus = captureDetails.CaptureStatus;
                            if (captureStatus.IsSetState())
                            {
                                Console.WriteLine("                        State");
                                Console.WriteLine("                            {0}", captureStatus.State);
                            }
                            if (captureStatus.IsSetLastUpdateTimestamp())
                            {
                                Console.WriteLine("                        LastUpdateTimestamp");
                                Console.WriteLine("                            {0}", captureStatus.LastUpdateTimestamp);
                            }
                            if (captureStatus.IsSetReasonCode())
                            {
                                Console.WriteLine("                        ReasonCode");
                                Console.WriteLine("                            {0}", captureStatus.ReasonCode);
                            }
                            if (captureStatus.IsSetReasonDescription())
                            {
                                Console.WriteLine("                        ReasonDescription");
                                Console.WriteLine("                            {0}", captureStatus.ReasonDescription);
                            }
                        }
                    }
                }

                if (response.IsSetResponseMetadata())
                {
                    Console.WriteLine("            ResponseMetadata");
                    ResponseMetadata responseMetadata = response.ResponseMetadata;
                    if (responseMetadata.IsSetRequestId())
                    {
                        Console.WriteLine("                RequestId");
                        Console.WriteLine("                    {0}", responseMetadata.RequestId);
                    }
                }

                Console.WriteLine();
            }

            catch (OffAmazonPaymentsServiceException ex)
            {
                PrintException(ex);
            }

            return(response);
        }
예제 #6
0
    /// <summary>
    /// Checks if AI/Human Resistance player/actor captured by an Erasure team at the node (must have invisibility 1 or less). Returns null if not.
    /// parameters vary if an 'APB' or a 'SecurityAlert' in play
    /// ActorID is default '999' for player
    /// </summary>
    /// <param name="node"></param>
    /// <returns></returns>
    public CaptureDetails CheckCaptured(int nodeID, int actorID = 999)
    {
        CaptureDetails details = null;
        Node           node    = GameManager.i.dataScript.GetNode(nodeID);
        Team           team    = null;

        if (node != null)
        {
            //get correct player status depending on who is in charge of Resistance
            ActorStatus status = ActorStatus.Active;
            if (GameManager.i.sideScript.resistanceOverall == SideState.Human)
            {
                status = GameManager.i.playerScript.status;
            }
            else
            {
                status = GameManager.i.aiRebelScript.status;
            }
            //correct state
            if (status == ActorStatus.Active)
            {
                //Player
                if (actorID == GameManager.i.playerScript.actorID)
                {
                    //check player at node
                    if (nodeID == GameManager.i.nodeScript.GetPlayerNodeID())
                    {
                        //Erasure team picks up player/actor immediately if invisibility low enough
                        if (CheckCaptureVisibility(GameManager.i.playerScript.Invisibility) == true)
                        {
                            int teamID = node.CheckTeamPresent(teamErasureID);
                            if (teamID > -1)
                            {
                                team = GameManager.i.dataScript.GetTeam(teamID);
                                if (team != null)
                                {
                                    //Player Captured
                                    details = new CaptureDetails {
                                        node = node, team = team, actor = null
                                    };
                                    Debug.LogFormat("[Ply] CaptureManager.cs -> CheckCaptured: Resistance Player is captured by an Erasure team at {0}, {1}, id {2}{3}",
                                                    node.nodeName, node.Arc.name, node.nodeID, "\n");
                                    //history
                                    GameManager.i.dataScript.AddHistoryPlayer(new HistoryActor()
                                    {
                                        text = "CAPTURED by an Erasure Team", district = node.nodeName
                                    });
                                }
                                else
                                {
                                    Debug.LogError(string.Format("Invalid team (Null) for teamID {0}", teamID));
                                }
                            }
                            //Security Alert -> check if an Erasure team is in a neighbouring node
                            if (GameManager.i.turnScript.authoritySecurityState == AuthoritySecurityState.SecurityAlert)
                            {
                                team = CheckCaptureAlert(node);
                                if (team != null)
                                {
                                    //Player Captured
                                    details = new CaptureDetails {
                                        node = node, team = team, actor = null
                                    };
                                    Debug.LogFormat("[Ply] CaptureManager.cs -> CheckCaptured: Resistance Player is captured by an Erasure team at {0}, {1}, id {2}{3}",
                                                    node.nodeName, node.Arc.name, node.nodeID, "\n");
                                    //history
                                    GameManager.i.dataScript.AddHistoryPlayer(new HistoryActor()
                                    {
                                        text = "CAPTURED by an Erasure Team", district = node.nodeName
                                    });
                                }
                            }
                        }
                    }
                    else
                    {
                        Debug.LogError(string.Format("Player not at the nodeID {0}", nodeID));
                    }
                }
                else
                {
                    //Actor
                    Actor actor = GameManager.i.dataScript.GetActor(actorID);
                    if (actor != null)
                    {
                        //Erasure team picks up player/actor immediately if invisibility 0
                        if (CheckCaptureVisibility(actor.GetDatapoint(ActorDatapoint.Invisibility2)) == true)
                        {
                            int teamID = node.CheckTeamPresent(teamErasureID);
                            if (teamID > -1)
                            {
                                team = GameManager.i.dataScript.GetTeam(teamID);
                                if (team != null)
                                {
                                    //Actor Captured
                                    details = new CaptureDetails {
                                        node = node, team = team, actor = actor
                                    };
                                    Debug.LogFormat("[Ply] CaptureManager.cs -> CheckCaptured: {0}, {1},  is captured by an Erasure team at {2}, {3}, id {4}{5}", actor.actorName, actor.arc.name,
                                                    node.nodeName, node.Arc.name, node.nodeID, "\n");
                                }
                                else
                                {
                                    Debug.LogError(string.Format("Invalid team (Null) for teamID {0}", teamID));
                                }
                            }
                            //Security Alert -> Check if an Erasure team is in a neighbouring node
                            if (GameManager.i.turnScript.authoritySecurityState == AuthoritySecurityState.SecurityAlert)
                            {
                                team = CheckCaptureAlert(node);
                                if (team != null)
                                {
                                    //Actor Captured
                                    details = new CaptureDetails {
                                        node = node, team = team, actor = actor
                                    };
                                    Debug.LogFormat("[Ply] CaptureManager.cs -> CheckCaptured: {0}, {1},  is captured by an Erasure team at {2}, {3}, id {4}{5}", actor.actorName, actor.arc.name,
                                                    node.nodeName, node.Arc.name, node.nodeID, "\n");
                                }
                            }
                        }
                    }
                    else
                    {
                        Debug.LogError(string.Format("Invalid actor (Null) for actorID {0}", actorID));
                    }
                }
            }
        }
        else
        {
            Debug.LogError(string.Format("Invalid node (Null) for nodeID {0}", nodeID));
        }
        //return CaptureDetails
        return(details);
    }
예제 #7
0
    /// <summary>
    /// Resistance Actor (Human/AI) captured
    /// NOTE: node, team and actor checked for null by parent method
    /// </summary>
    /// <param name="node"></param>
    /// <param name="team"></param>
    /// <param name="actor"></param>
    private void CaptureActor(CaptureDetails details)
    {
        string text = string.Format("{0}, {1}, Captured at \"{2}\", {3}", details.actor.actorName, details.actor.arc.name, details.node.nodeName, details.node.Arc.name);

        //message
        GameManager.i.messageScript.ActorCapture(text, details.node, details.team, details.actor.actorID);
        //AutoRun (both sides)
        if (GameManager.i.turnScript.CheckIsAutoRun() == true)
        {
            string textAutoRun = string.Format("{0}{1}{2}, {3}Captured{4}", colourAlert, details.actor.arc.name, colourEnd, colourBad, colourEnd);
            GameManager.i.dataScript.AddHistoryAutoRun(textAutoRun);
        }
        //detention period
        details.actor.captureTimer = captureTimerValue;
        //raise city loyalty
        int cause = GameManager.i.cityScript.CityLoyalty;

        cause += actorCaptured;
        cause  = Mathf.Min(GameManager.i.cityScript.maxCityLoyalty, cause);
        GameManager.i.cityScript.CityLoyalty = cause;
        //invisibility set to zero (most likely already is)
        details.actor.SetDatapoint(ActorDatapoint.Invisibility2, 0);
        //history
        details.actor.AddHistory(new HistoryActor()
        {
            text = string.Format("Captured at {0}", details.node.nodeName)
        });
        //update map
        GameManager.i.nodeScript.NodeRedraw = true;
        //update contacts
        GameManager.i.contactScript.UpdateNodeContacts();
        //admin
        GameManager.i.actorScript.numOfActiveActors--;
        details.actor.Status         = ActorStatus.Captured;
        details.actor.inactiveStatus = ActorInactive.None;
        details.actor.tooltipStatus  = ActorTooltip.Captured;
        details.actor.nodeCaptured   = details.node.nodeID;
        details.actor.numOfTimesCaptured++;
        if (GameManager.i.sideScript.resistanceOverall == SideState.Human)
        {
            //effects builder
            StringBuilder builder = new StringBuilder();
            //any carry over text?
            if (string.IsNullOrEmpty(details.effects) == false)
            {
                builder.Append(string.Format("{0}{1}{2}", details.effects, "\n", "\n"));
            }
            builder.Append(string.Format("{0}{1} has been Captured{2}{3}{4}", colourBad, details.actor.arc.name, colourEnd, "\n", "\n"));
            builder.AppendFormat("{0}City Loyalty +{1}{2}{3}{4}", colourBad, actorCaptured, colourEnd, "\n", "\n");
            //reduce actor alpha to show inactive (sprite and text)
            GameManager.i.actorPanelScript.UpdateActorAlpha(details.actor.slotID, GameManager.i.guiScript.alphaInactive);
            //popUpFixed -> don't wait for an outcome Msg, display straight away
            GameManager.i.popUpFixedScript.SetData(details.actor.slotID, "CAPTURED!");
            //actor captured outcome window
            ModalOutcomeDetails outcomeDetails = new ModalOutcomeDetails
            {
                textTop    = text,
                textBottom = builder.ToString(),
                sprite     = GameManager.i.spriteScript.errorSprite,
                isAction   = false,
                side       = GameManager.i.globalScript.sideResistance
            };
            //edge case of Inactive player and Authority AI capture an actor which may (?) generate a message that'll upset the info pipeline. If player active, display at time of action, otherwise put in pipeline
            if (GameManager.i.playerScript.status != ActorStatus.Active)
            {
                outcomeDetails.type = MsgPipelineType.CaptureActor;
            }
            EventManager.i.PostNotification(EventType.OutcomeOpen, this, outcomeDetails, "CaptureManager.cs -> CaptureActor");
        }
    }
예제 #8
0
    /// <summary>
    /// Player captured.
    /// Note: Node and Team already checked for null by parent method
    /// </summary>
    /// <param name="node"></param>
    /// <param name="team"></param>
    private void CapturePlayer(CaptureDetails details, bool isStartOfTurn = false)
    {
        //PLAYER CAPTURED
        string text = string.Format("Player Captured at {0}{1}{2}, {3}{4}{5} district by {6}{7} {8}{9}", colourAlert, details.node.nodeName, colourEnd,
                                    colourAlert, details.node.Arc.name, colourEnd, colourBad, details.team.arc.name, details.team.teamName, colourEnd);

        //AutoRun (both sides)
        if (GameManager.i.turnScript.CheckIsAutoRun() == true)
        {
            string textAutoRun = string.Format("{0} {1}Captured{2}", GameManager.i.playerScript.GetPlayerNameResistance(), colourBad, colourEnd);
            GameManager.i.dataScript.AddHistoryAutoRun(textAutoRun);
        }
        //detention period -> Note: Player only ever incarcerated for one turn (needs to be '2' for sequencing issues)
        GameManager.i.actorScript.captureTimerPlayer = 2;
        //effects builder
        StringBuilder builder = new StringBuilder();

        //any carry over text?
        if (string.IsNullOrEmpty(details.effects) == false)
        {
            builder.Append(string.Format("{0}{1}{2}", details.effects, "\n", "\n"));
        }
        builder.Append(string.Format("{0}Player has been Captured{1}{2}{3}", colourBad, colourEnd, "\n", "\n"));
        //message
        GameManager.i.messageScript.ActorCapture(text, details.node, details.team);
        //update node trackers
        GameManager.i.nodeScript.nodePlayer   = -1;
        GameManager.i.nodeScript.nodeCaptured = details.node.nodeID;
        //Raise city loyalty
        int cause = GameManager.i.cityScript.CityLoyalty;

        cause += actorCaptured;
        cause  = Mathf.Min(GameManager.i.cityScript.maxCityLoyalty, cause);
        GameManager.i.cityScript.CityLoyalty = cause;
        //invisibility set to zero (most likely already is)
        GameManager.i.playerScript.Invisibility = 0;
        //statistics
        GameManager.i.dataScript.StatisticIncrement(StatType.PlayerCaptured);
        //update map
        GameManager.i.nodeScript.NodeRedraw = true;
        //set security state back to normal
        GameManager.i.authorityScript.SetAuthoritySecurityState("Security measures have been cancelled", string.Format("{0}, Player, has been CAPTURED", GameManager.i.playerScript.PlayerName));
        //change player state
        if (GameManager.i.sideScript.resistanceOverall == SideState.Human)
        {
            //Human resistance player
            GameManager.i.playerScript.status         = ActorStatus.Captured;
            GameManager.i.playerScript.tooltipStatus  = ActorTooltip.Captured;
            GameManager.i.playerScript.inactiveStatus = ActorInactive.None;
            //AI side tab
            GameManager.i.aiScript.UpdateSideTabData();
            //add power to authority actor who owns the team (only if they are still OnMap
            if (GameManager.i.sideScript.authorityOverall == SideState.Human)
            {
                if (GameManager.i.dataScript.CheckActorSlotStatus(details.team.actorSlotID, GameManager.i.globalScript.sideAuthority) == true)
                {
                    Actor actor = GameManager.i.dataScript.GetCurrentActor(details.team.actorSlotID, GameManager.i.globalScript.sideAuthority);
                    if (actor != null)
                    {
                        actor.Power++;
                    }
                    else
                    {
                        Debug.LogError(string.Format("Invalid actor (null) from team.ActorSlotID {0}", details.team.actorSlotID));
                    }
                }
            }
            builder.AppendFormat("{0}City Loyalty +{1}{2}{3}{4}", colourBad, actorCaptured, colourEnd, "\n", "\n");
            //Gear confiscated
            int numOfGear = GameManager.i.playerScript.CheckNumOfGear();
            if (numOfGear > 0)
            {
                List <string> listOfGear = GameManager.i.playerScript.GetListOfGear();
                if (listOfGear != null)
                {
                    //reverse loop through list of gear and remove all
                    for (int i = listOfGear.Count - 1; i >= 0; i--)
                    {
                        GameManager.i.playerScript.RemoveGear(listOfGear[i], true);
                    }
                    builder.Append(string.Format("{0}Gear confiscated ({1} item{2}){3}", colourBad, numOfGear, numOfGear != 1 ? "s" : "", colourEnd));
                }
                else
                {
                    Debug.LogError("Invalid listOfGear (Null)");
                }
            }
            //switch off flashing red indicator on top widget UI
            EventManager.i.PostNotification(EventType.StopSecurityFlash, this, null, "CaptureManager.cs -> CapturePlayer");
            //reduce player alpha to show inactive (sprite and text)
            GameManager.i.actorPanelScript.UpdatePlayerAlpha(GameManager.i.guiScript.alphaInactive);
            //player captured outcome window
            ModalOutcomeDetails outcomeDetails = new ModalOutcomeDetails
            {
                textTop    = text,
                textBottom = builder.ToString(),
                sprite     = GameManager.i.spriteScript.capturedSprite,
                isAction   = false,
                side       = GameManager.i.globalScript.sideResistance,
                type       = MsgPipelineType.CapturePlayer,
                help0      = "capture_0",
                help1      = "capture_1",
                help2      = "capture_2",
                help3      = "capture_3"
            };
            if (GameManager.i.guiScript.InfoPipelineAdd(outcomeDetails) == false)
            {
                Debug.LogWarningFormat("Player Captured infoPipeline message FAILED to be added to dictOfPipeline");
            }

            /*EventManager.instance.PostNotification(EventType.OpenOutcomeWindow, this, outcomeDetails, "CaptureManager.cs -> CapturePlayer"); NO NEED AS IN INFOPIPELINE ALREADY */
        }
        else
        {
            //AI Resistance Player
            GameManager.i.aiRebelScript.status = ActorStatus.Captured;
            //Remove Gear
            GameManager.i.aiRebelScript.GearPoolEmpty("being CAPTURED");
        }
        //invisible node
        if (GameManager.i.missionScript.mission.npc != null)
        {
            GameManager.i.missionScript.mission.npc.AddInvisibleNode(details.node.nodeID);
        }
        //popUpFixed -> don't wait for an outcome Msg, display straight away
        GameManager.i.popUpFixedScript.SetData(PopUpPosition.Player, "CAPTURED!");
        GameManager.i.popUpFixedScript.SetData(PopUpPosition.Player, "Gear Lost");
        GameManager.i.popUpFixedScript.SetData(PopUpPosition.TopCentre, $"City Loyalty +{actorCaptured}");
        GameManager.i.popUpFixedScript.ExecuteFixed();
        //Human player captured and not autorun
        if (GameManager.i.sideScript.resistanceOverall == SideState.Human && GameManager.i.turnScript.CheckIsAutoRun() == false)
        {
            //end turn
            GameManager.i.turnScript.SetActionsToZero();
        }
    }