Exemplo n.º 1
0
    public void Show(Character attacker, Character target)
    {
        AbilityWeapon weapon = attacker.GetComponentInChildren <AbilityWeapon>();
        int           minDamage = 0, maxDamage = 0;

        if (weapon.damageType == DamageType.magic)
        {
            minDamage = 2;
            maxDamage = weapon.diceSize * 2;
        }
        else
        {
            int sides = AbilityWeapon.DiceVS(weapon.damageType, target.Attributes.armorType);
            minDamage = sides + attacker.Attributes.might - target.Attributes.armor;
            maxDamage = sides * weapon.diceSize + attacker.Attributes.might - target.Attributes.armor;
        }

        if (minDamage < 0)
        {
            minDamage = 0;
        }
        if (maxDamage < 0)
        {
            maxDamage = 0;
        }
        display.text = "HP " + target.GetComponent <HitPoints>().CurrentHealth + "\n" + minDamage + "-" + maxDamage;
    }
Exemplo n.º 2
0
        private void SetupAttackButton()
        {
            if (Spawner == null)
            {
                return;
            }

            var abilityPlayerInput =
                Spawner.Abilities.FirstOrDefault(a => a is AbilityPlayerInput) as AbilityPlayerInput;

            if (abilityPlayerInput == null)
            {
                return;
            }

            AbilityWeapon primaryWeaponAbility = null;

            var primaryWeaponBinding = abilityPlayerInput.customBindings.FirstOrDefault(c =>
            {
                var primaryWeapon =
                    c.actions.FirstOrDefault(a => a is AbilityWeapon weapon && weapon.primaryProjectile);

                if (primaryWeapon != null)
                {
                    primaryWeaponAbility = primaryWeapon as AbilityWeapon;
                }

                return(primaryWeapon != null);
            });

            if (primaryWeaponBinding.Equals(default(CustomBinding)) || primaryWeaponAbility == null)
            {
                return;
            }

            var primaryWeaponButton = customButtons.FirstOrDefault(b => b.bindingIndex == primaryWeaponBinding.index);

            if (primaryWeaponButton == null)
            {
                return;
            }

            primaryWeaponAbility.UpdateBindingIndex(primaryWeaponBinding.index, Spawner.ActorEntity);

            primaryWeaponButton.SetupCustomButton(((IAimable)primaryWeaponAbility).AimingAvailable,
                                                  primaryWeaponAbility.aimingProperties.evaluateActionOptions ==
                                                  EvaluateActionOptions.RepeatingEvaluation);
        }