public float armor(ELimb limb, Player player) { if (limb == ELimb.LEFT_FOOT || limb == ELimb.LEFT_LEG || limb == ELimb.RIGHT_FOOT || limb == ELimb.RIGHT_LEG) { if (player.clothing.pants != 0) { ItemClothingAsset itemClothingAsset = (ItemClothingAsset)Assets.find(EAssetType.ITEM, player.clothing.pants); if (itemClothingAsset != null) { if (Provider.modeConfigData.Items.Has_Durability && player.clothing.pantsQuality > 0) { PlayerClothing clothing = player.clothing; clothing.pantsQuality -= 1; player.clothing.sendUpdatePantsQuality(); } return(itemClothingAsset.armor + (1f - itemClothingAsset.armor) * (1f - (float)player.clothing.pantsQuality / 100f)); } } } else if (limb == ELimb.LEFT_HAND || limb == ELimb.LEFT_ARM || limb == ELimb.RIGHT_HAND || limb == ELimb.RIGHT_ARM) { if (player.clothing.shirt != 0) { ItemClothingAsset itemClothingAsset2 = (ItemClothingAsset)Assets.find(EAssetType.ITEM, player.clothing.shirt); if (itemClothingAsset2 != null) { if (Provider.modeConfigData.Items.Has_Durability && player.clothing.shirtQuality > 0) { PlayerClothing clothing2 = player.clothing; clothing2.shirtQuality -= 1; player.clothing.sendUpdateShirtQuality(); } return(itemClothingAsset2.armor + (1f - itemClothingAsset2.armor) * (1f - (float)player.clothing.shirtQuality / 100f)); } } } else { if (limb == ELimb.SPINE) { float num = 1f; if (player.clothing.vest != 0) { ItemClothingAsset itemClothingAsset3 = (ItemClothingAsset)Assets.find(EAssetType.ITEM, player.clothing.vest); if (itemClothingAsset3 != null) { if (Provider.modeConfigData.Items.Has_Durability && player.clothing.vestQuality > 0) { PlayerClothing clothing3 = player.clothing; clothing3.vestQuality -= 1; player.clothing.sendUpdateVestQuality(); } num *= itemClothingAsset3.armor + (1f - itemClothingAsset3.armor) * (1f - (float)player.clothing.vestQuality / 100f); } } if (player.clothing.shirt != 0) { ItemClothingAsset itemClothingAsset4 = (ItemClothingAsset)Assets.find(EAssetType.ITEM, player.clothing.shirt); if (itemClothingAsset4 != null) { if (Provider.modeConfigData.Items.Has_Durability && player.clothing.shirtQuality > 0) { PlayerClothing clothing4 = player.clothing; clothing4.shirtQuality -= 1; player.clothing.sendUpdateShirtQuality(); } num *= itemClothingAsset4.armor + (1f - itemClothingAsset4.armor) * (1f - (float)player.clothing.shirtQuality / 100f); } } return(num); } if (limb == ELimb.SKULL && player.clothing.hat != 0) { ItemClothingAsset itemClothingAsset5 = (ItemClothingAsset)Assets.find(EAssetType.ITEM, player.clothing.hat); if (itemClothingAsset5 != null) { if (Provider.modeConfigData.Items.Has_Durability && player.clothing.hatQuality > 0) { PlayerClothing clothing5 = player.clothing; clothing5.hatQuality -= 1; player.clothing.sendUpdateHatQuality(); } return(itemClothingAsset5.armor + (1f - itemClothingAsset5.armor) * (1f - (float)player.clothing.hatQuality / 100f)); } } } return(1f); }
public float armor(ELimb limb, Zombie zombie) { if ((int)zombie.type < LevelZombies.tables.Count) { if (limb == ELimb.LEFT_FOOT || limb == ELimb.LEFT_LEG || limb == ELimb.RIGHT_FOOT || limb == ELimb.RIGHT_LEG) { if (zombie.pants != 255 && (int)zombie.pants < LevelZombies.tables[(int)zombie.type].slots[1].table.Count) { ItemClothingAsset itemClothingAsset = (ItemClothingAsset)Assets.find(EAssetType.ITEM, LevelZombies.tables[(int)zombie.type].slots[1].table[(int)zombie.pants].item); if (itemClothingAsset != null) { return(itemClothingAsset.armor); } } } else if (limb == ELimb.LEFT_HAND || limb == ELimb.LEFT_ARM || limb == ELimb.RIGHT_HAND || limb == ELimb.RIGHT_ARM) { if (zombie.shirt != 255 && (int)zombie.shirt < LevelZombies.tables[(int)zombie.type].slots[0].table.Count) { ItemClothingAsset itemClothingAsset2 = (ItemClothingAsset)Assets.find(EAssetType.ITEM, LevelZombies.tables[(int)zombie.type].slots[0].table[(int)zombie.shirt].item); if (itemClothingAsset2 != null) { return(itemClothingAsset2.armor); } } } else { if (limb == ELimb.SPINE) { float num = 1f; if (zombie.gear != 255 && (int)zombie.gear < LevelZombies.tables[(int)zombie.type].slots[3].table.Count) { ItemAsset itemAsset = (ItemAsset)Assets.find(EAssetType.ITEM, LevelZombies.tables[(int)zombie.type].slots[3].table[(int)zombie.gear].item); if (itemAsset != null && itemAsset.type == EItemType.VEST) { num *= ((ItemClothingAsset)itemAsset).armor; } } if (zombie.shirt != 255 && (int)zombie.shirt < LevelZombies.tables[(int)zombie.type].slots[0].table.Count) { ItemClothingAsset itemClothingAsset3 = (ItemClothingAsset)Assets.find(EAssetType.ITEM, LevelZombies.tables[(int)zombie.type].slots[0].table[(int)zombie.shirt].item); if (itemClothingAsset3 != null) { num *= itemClothingAsset3.armor; } } return(num); } if (limb == ELimb.SKULL && zombie.hat != 255 && (int)zombie.hat < LevelZombies.tables[(int)zombie.type].slots[2].table.Count) { ItemClothingAsset itemClothingAsset4 = (ItemClothingAsset)Assets.find(EAssetType.ITEM, LevelZombies.tables[(int)zombie.type].slots[2].table[(int)zombie.hat].item); if (itemClothingAsset4 != null) { return(itemClothingAsset4.armor); } } } } return(1f); }