public float GetDamageTypeMultiplier(CreatureData targetData, ECreatureType attackType) { var returnValue = 1.0f; returnValue *= GetDamageTypeMultiplier(attackType, targetData.CreaturePrimaryType); returnValue *= GetDamageTypeMultiplier(attackType, targetData.CreatureSecondaryType); return(returnValue); }
public float GetDamageTypeMultiplier(ECreatureType attackerType, ECreatureType targetType) { if (attackerType == ECreatureType.None || attackerType == ECreatureType.Count) { return(1.0f); } if (m_creaturesTypeChart.GetTypeAdvantages(attackerType).Contains(targetType)) { return(m_typeAdvantageDamageMultiplier); } if (m_creaturesTypeChart.GetTypeDisadvantages(attackerType).Contains(targetType)) { return(m_typeDisadvantageDamageMultiplier); } return(1.0f); }
public void AssignType(ECreatureType type, bool colored = true) { if (type == ECreatureType.None || type == ECreatureType.Count) { gameObject.SetActive(false); return; } if (GameManager.Instance.TypesManager.m_typesDataDict.TryGetValue(type, out TypeData value)) { gameObject.SetActive(true); if (m_background != null) { m_background.color = value.PrimaryColor; } if (m_frame != null) { m_frame.color = value.SecondaryColor; } m_icon.sprite = colored? value.Sprite : value.UncoloredSprite; return; } Debug.LogWarning("The creature type " + type + " has not been implemented yet in TypeData"); }
public List <ECreatureType> GetTypeDisadvantages(ECreatureType originalType) { return(TypeDisdvantageDictionary[originalType]); }