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