Beispiel #1
0
 private void ValidateOffHandAttack(IEnemy enemy)
 {
     Assert.IsNotNull(enemy);
     Assert.IsTrue(BonusActionAvailable);
     Assert.IsTrue(OffhandAttackAvailable);
     Assert.IsTrue(CurrentOffHand.CanFire());
     Assert.IsTrue(CurrentOffHand.HasShotLoaded());
 }
Beispiel #2
0
        private AttackSummary DoOffHandShoot(IEnemy enemy)
        {
            IModifier finalHitMod = (spellHitMod != null)
                ? PlayerBase.HitModifier.Add(spellHitMod)
                : PlayerBase.HitModifier;

            IModifier finalDmgMod = spellDmgMod ?? new Modifier();  //OH doesn't get dex mod

            CombatStats combatStats = new CombatStats(finalHitMod, finalDmgMod, PlayerBase.CritValue);

            return(CurrentOffHand.Shoot(enemy, combatStats));
        }
Beispiel #3
0
        private bool AttemptOhShoot(IEnemy enemy)
        {
            bool ret = false;

            if (CurrentOffHand.HasShotLoaded())
            {
                OffHandShoot(enemy);
                ret = true;
            }

            NumberOfShotsLostToMisfire += DetermineAtksNotShotFromMisfire(CurrentOffHand, 1, 1);

            return(ret);
        }
Beispiel #4
0
 private bool CurrentOffHandCanSwap()
 {
     return(CurrentOffHand != null &&
            (!CurrentOffHand.HasShotLoaded() ||
             !CurrentOffHand.CanFire()));
 }