public virtual LayerMask GetAbilityTargettingMask(uint ownerID, MixinTargetting targetting) { ushort num; ushort enemyCategory; LayerMask layerMask; if ((ownerID == 0x21800001) || (Singleton <RuntimeIDManager> .Instance.ParseCategory(ownerID) == 7)) { num = 4; enemyCategory = 3; } else { num = Singleton <RuntimeIDManager> .Instance.ParseCategory(ownerID); enemyCategory = this.GetEnemyCategory(num); } switch (targetting) { case MixinTargetting.None: return(0); case MixinTargetting.Allied: return(InLevelData.GetLayerMask(num)); case MixinTargetting.Enemy: layerMask = InLevelData.GetLayerMask(enemyCategory); if (num == 3) { layerMask |= ((int)1) << InLevelData.PROP_LAYER; } return(layerMask); case MixinTargetting.All: layerMask = InLevelData.GetLayerMask(num) | InLevelData.GetLayerMask(enemyCategory); if (num == 3) { layerMask |= ((int)1) << InLevelData.PROP_LAYER; } return(layerMask); } return(0); }