Exemplo n.º 1
0
        private static bool EncounterAttackCondition(MenuCallbackArgs args)
        {
            args.optionLeaveType = GameMenuOption.LeaveType.HostileAction;
            if (MapEvent.PlayerMapEvent == null)
            {
                return(false);
            }
            MapEvent   battle             = PlayerEncounter.Battle;
            Settlement mapEventSettlement = battle?.MapEventSettlement;

            return((battle == null || mapEventSettlement == null || !mapEventSettlement.IsFortification || !battle.IsSiegeAssault || PlayerSiege.PlayerSiegeEvent == null || PlayerSiege.PlayerSiegeEvent.BesiegerCamp.IsPreparationComplete) && battle != null && (battle.HasTroopsOnBothSides() || battle.IsSiegeAssault) && MapEvent.PlayerMapEvent.GetLeaderParty(PartyBase.MainParty.OpponentSide) != null && Hero.MainHero.IsWounded);
        }