/* public void attackOfOpportunity(GameObject g) { //may have been scrapped try { Attackable aooA = g.GetComponent<Attackable>(); if(attackRoll() > aooA.getArmorClass()) { try { hitee = hit.transform.gameObject.GetComponent<Animator>(); if(hit.transform.gameObject.tag == "Player") { hitee.SetTrigger("playerHit"); } } catch (Exception e) { //nothing so far } if(transform.gameObject.tag == "Player") { hitter.SetTrigger("playerAttack"); } else if(transform.gameObject.tag == "Fightable") { hitter.SetTrigger("fightableAttack"); } aooA.modCurrentHealth(-damageRoll()); } } catch (Exception e) { //nothing so far } } */ private int getArmorClass(bool flatFooted, bool touch, Attackable a) { try { Entity e = a.transform.gameObject.GetComponent<Entity>(); if(flatFooted && touch) { if(e.dexterityModifier() > e.armorArmorClass()) { return e.getArmorClass() + e.armorArmorClass() + 10; } else { return e.getArmorClass() + e.dexterityModifier() + 10; } } else if(flatFooted) { return e.getArmorClass() + e.armorArmorClass() + 10; } else if(touch) { return e.getArmorClass() + e.dexterityModifier() + 10; } else { Debug.Log("AC = "+e.getArmorClass()+" + "+e.dexterityModifier()+" + "+e.armorArmorClass()+" + 10"); return (e.getArmorClass() + e.dexterityModifier() + e.armorArmorClass() + 10); } } catch (Exception ex) { return a.getArmorClass() + 10; } }