public int GetUnitStatModifier(CUnit unit, String stat) { String type; if (Modifiers[FAKE_TYPE_ARCHER].Count > 0 && unit.Traits.Keys.Contains(TraitReference.TRAIT_RANGED)) { type = FAKE_TYPE_ARCHER; } else { type = unit.Type; } if (Modifiers[type] != null && Modifiers[type].Keys.Contains(stat)) { return(Modifiers[type][stat]); } else { return(0); } }