public void StatusIsNotInflictedIfTargetAlreadyHasIt()
 {
     IRequisite slowedDown       = new MovementSlowdownAbility(0.5);
     Hero       target           = new Hero(new TeamId(0), new HitPoints(9999), slowedDown);
     IRequisite attack           = new AutoAttackAbility(new HitPoints(10), CreateTargeter((h, c) => target));
     IRequisite inflictParalysis = new InflictStatusAbility(slowedDown, TimeSpan.FromSeconds(2));
     Hero       attacker         = new Hero(new TeamId(1), initialHp: default, attack, inflictParalysis);
Exemplo n.º 2
0
        public void DamageMathChecksOut(uint normalDamage, double damageMultiplier, double chance, double randomRoll, uint expectedDamage)
        {
            HitPoints initialHp      = new HitPoints(9999);
            Hero      shootingTarget = new Hero(new TeamId(255), initialHp);

            HitPoints                baseDamage               = new HitPoints(normalDamage);
            AutoAttackAbility        attackAbility            = new AutoAttackAbility(baseDamage, CreateTargeter((h, c) => shootingTarget));
            CriticalHitChanceAbility criticalHitChanceAbility = new CriticalHitChanceAbility(chance, damageMultiplier);

            Hero attacker = new Hero(new TeamId(0), initialHp: default, attackAbility, criticalHitChanceAbility);
Exemplo n.º 3
0
        public void EnqueAbilityToCooldownOnTargetedEvent()
        {
            CharacterAction action   = null;
            var             mockSelf = new Mock <Character>();

            mockSelf.Setup(self => self.EnqueueAction("autoattack", It.IsAny <CharacterAction>()))
            .Callback <string, CharacterAction>((name, a) => { action = a; });

            var _event = Event.Create("this_targeted_ch1", EventReturnMethod.None, new EventArg("this", mockSelf.Object));

            var ability = new AutoAttackAbility();

            ability.ReceiveEvent(_event);

            mockSelf.VerifyAll();

            Assert.IsTrue(action is AutoAttackAction);
        }
Exemplo n.º 4
0
 public Class(string name, dynamic stats)
 {
     Id         = name;
     AutoAttack = new AutoAttackAbility();
     Stats      = stats;
 }