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; }
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); }