private void CheckForNonBasicTypes() { foreach (GameObject icon in IconsToDelete) { Destroy(icon); } CheckForSpecial(); CheckForConstruct(); CheckForSummonned(); CheckForColossus(); CheckForUndead(); CheckForPoisonous(); CheckForFlying(); CheckForShortRange(); CheckForCannotAttack(); CheckForStopRetaliation(); CheckForNoMeleePen(); CheckForAssassin(); if (ManagementScene) { foreach (PassiveAbility ability in myUnit.GetComponents <PassiveAbility>()) { if (ability is BasicStatModifier || ability.HasIcon == false) { continue; } GameObject icon = shower.AddAbilityIcon((GameObject)Resources.Load(ability.AbilityIconName), false); IconsToDelete.Add(icon); } } }
public static void UpdateAbilitiesPanel(GameObject Panel, GameObject Prefab, UnitScript Unit) { RemoveChildrenOf(Panel.transform); foreach (Ability_Basic ability in Unit.GetComponents <Ability_Basic>()) { ability.MyObject = Instantiate(Prefab, Panel.transform); ability.MyObject.GetComponentInChildren <AbilityIconScript>().myAbility = ability; ability.MyObject.GetComponentInChildren <AbilityIconScript>().myImage.sprite = ability.mySprite; ability.MyObject.GetComponentInChildren <Button>().onClick.AddListener(delegate { ability.BaseUse(); }); } }
bool CheckIfNoHowlYetOn(UnitScript unit) { foreach (PassiveAbility_Buff buff in unit.GetComponents <PassiveAbility_Buff>()) { if (buff.AbilityIconName == "WolfBuff") { return(false); } } return(true); }
bool CheckIfGoodToUseAbility(UnitScript currentUnit) { foreach (Ability_Basic ability in currentUnit.GetComponents <Ability_Basic>()) { if (ability.IsUsableNowBase() && ability.AI_IsGoodToUseNow()) { ability.AI_Activate(ability.AI_ChooseTarget()); return(true); } } return(false); }
void UpdateActives() { foreach (Transform child in transform) { Destroy(child.gameObject); } foreach (Ability_Basic ability in myUnit.GetComponents <Ability_Basic>()) { //UIManager.UpdateAbilitiesPanel(gameObject, ActiveAbilityPrefab, myUnit); GameObject NewIcon = Instantiate(ActiveAbilityPrefab, this.transform); NewIcon.GetComponent <Image>().sprite = ability.mySprite; NewIcon.GetComponent <MouseHoverInfoCursor>().TooltipName = ability.Name; NewIcon.GetComponent <MouseHoverInfoCursor>().TooltipText = ability.TooltipInfo; } }
public int GetBaseDmg(UnitScript Attacker, UnitScript Defender) { int Attack = Attacker.CurrentAttack; foreach (PassiveAbility passive in Attacker.GetComponents <PassiveAbility>()) { Attack += passive.GetAttack(Defender); } int Defence = Defender.CurrentDefence; foreach (PassiveAbility passive in Defender.GetComponents <PassiveAbility>()) { Defence += passive.GetDefence(Attacker); } return(Attacker.CurrentDamage + Attack - Defence); }
public int CalculateTreshold(UnitScript attacker, UnitScript defender) { int Treshold = diceFaceNumber / 2 + 1; Treshold -= attacker.CurrentAttack; Treshold += defender.CurrentDefence; foreach (PassiveAbility passive in attacker.GetComponents <PassiveAbility>()) { Treshold -= passive.GetAttack(defender); } foreach (PassiveAbility passive in defender.GetComponents <PassiveAbility>()) { Treshold += passive.GetDefence(attacker); } return(Treshold); }