Beispiel #1
0
        public override void performDefensiveManuever()
        {
            int roll     = new DicePool(3).Roll();
            int required = Character.OCV.CurrentValue - AttackDefendingAgainst.Attacker.OCV.CurrentValue + 11;

            if (roll <= required)
            {
                RollStatus = RollStatus.RollSuccessful;
                AttackDefendingAgainst.Result.HitResult = HitResult.RolledWithThePunch;
                AttackDefendingAgainst.HitStatus        = HitStatus.RolledWithThePunch;
            }
            else
            {
                RollStatus = RollStatus.RollFailed;
                Character.ActiveManuever = null;
            }
        }
        public RollStatus OpenSessionRoll(int ProsecuterID, int CourtHall, int RollID)
        {
            try
            {
                RollStatus RollStat = RollsComp.OpenSessionRoll(RollID);

                if (RollStat == RollStatus.InProgress)
                {
                    RollsComp.UpdateRollProsecuterAndCourtHall(RollID, ProsecuterID, CourtHall);

                    return(RollStatus.InProgress);
                }
                else
                {
                    return(RollStat);
                }
            }
            catch (Exception ex)
            {
                RollID = 0;
                HandleException(ex);
                return(RollStatus.NotStarted);
            }
        }
Beispiel #3
0
    private void determineStatus()
    {
      var nowInDispTimeZone = DateTime.Now.ToTZfromLocal(DispTimeZone);

      var rollDate = RollDate.AddHours(DispTimeZone.GetMarketCloseHour());
      var lastTrade = LastTrade.AddHours(DispTimeZone.GetMarketCloseHour());

      if (nowInDispTimeZone > lastTrade)
      {
        m_rollStatus = RollStatus.Finished;
        return;
      }

      if (nowInDispTimeZone > rollDate)
      {
        m_rollStatus = RollStatus.Delivery;
        return;
      }

      var minDate = IndexedDates.Select(x => x.Date).Min();

      if (nowInDispTimeZone < minDate)
      {
        m_rollStatus = RollStatus.Approaching;
        return;
      }

      var rd = new RelativeDate(IndexedDates, nowInDispTimeZone, DispTimeZone);

      m_rollStatus = rd.Index == RelativeDate.INVALID_INDEX ? RollStatus.OnHoliday : RollStatus.Rolling;

    }