Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "CCSWeaponInfo.h"
- namespace CSS
- {
- GetWeaponInfoFn pGetWeaponInfo = NULL;
- WeaponIDToAliasFn pWeaponIDToAlias = NULL;
- AliasToWeaponIDFn pAliasToWeaponID = NULL;
- void MaterialPenetration(char materialType, float& flPenetration, float& flDamage);
- void WeaponInfo_ObtainPointers()
- {
- if (IsBadCodePtr((FARPROC)pGetWeaponInfo))
- {
- pGetWeaponInfo = NULL;
- DevMsg("[WeaponInfo_ObtainPointers] pGetWeaponInfo: %p\n", pGetWeaponInfo);
- }
- if (IsBadCodePtr((FARPROC)pWeaponIDToAlias))
- {
- pWeaponIDToAlias = NULL;
- DevMsg("[WeaponInfo_ObtainPointers] pWeaponIDToAlias: %p\n", pWeaponIDToAlias);
- }
- if (IsBadCodePtr((FARPROC)pAliasToWeaponID))
- {
- pAliasToWeaponID = NULL;
- DevMsg("[WeaponInfo_ObtainPointers] pAliasToWeaponID: %p\n", pAliasToWeaponID);
- }
- if (IsBadCodePtr((FARPROC)pAliasToWeaponID) ||
- IsBadCodePtr((FARPROC)pWeaponIDToAlias) ||
- IsBadCodePtr((FARPROC)pAliasToWeaponID))
- Error("WeaponInfo_ObtainPointers invalid function pointers\n");
- }
- CCSWeaponInfo* GetWeaponInfo(const char* alias)
- {
- if (!pGetWeaponInfo || !pAliasToWeaponID)
- {
- WeaponInfo_ObtainPointers();
- }
- return pGetWeaponInfo(pAliasToWeaponID(alias));
- }
- const char* WeaponIDToAlias(int id)
- {
- if (!pWeaponIDToAlias)
- WeaponInfo_ObtainPointers();
- return pWeaponIDToAlias(id);
- }
- int AliasToWeaponID(const char* alias)
- {
- if (!pAliasToWeaponID)
- WeaponInfo_ObtainPointers();
- return pAliasToWeaponID(alias);
- }
- void MaterialPenetration(char materialType, float& flPenetration, float& flDamage)
- {
- switch ( materialType )
- {
- case 'D':
- case 'M':
- flPenetration = 0.5;
- flDamage = 0.300000011920929;
- break;
- case 'C':
- flPenetration = 0.4000000059604645;
- flDamage = 0.25;
- break;
- case 'G':
- flPenetration = 1.0;
- flDamage = 0.9900000095367432;
- break;
- case 'V':
- flPenetration = 0.5;
- flDamage = 0.449999988079071;
- break;
- case 'T':
- flPenetration = 0.6499999761581421;
- flDamage = 0.300000011920929;
- break;
- case 'P':
- flPenetration = 0.4000000059604645;
- flDamage = 0.449999988079071;
- break;
- case 'W':
- flPenetration = 1.0;
- flDamage = 0.6000000238418579;
- break;
- default:
- flPenetration = 1.0;
- flDamage = 0.5;
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment