hlsdk

More CSS Stuff

Dec 31st, 2010
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.29 KB | None | 0 0
  1. #include "CCSWeaponInfo.h"
  2.  
  3. namespace CSS
  4. {
  5.     GetWeaponInfoFn pGetWeaponInfo = NULL;
  6.     WeaponIDToAliasFn pWeaponIDToAlias = NULL;
  7.     AliasToWeaponIDFn pAliasToWeaponID = NULL;
  8.  
  9.     void MaterialPenetration(char materialType, float& flPenetration, float& flDamage);
  10.  
  11.     void WeaponInfo_ObtainPointers()
  12.     {
  13.         if (IsBadCodePtr((FARPROC)pGetWeaponInfo))
  14.         {
  15.             pGetWeaponInfo = NULL;
  16.             DevMsg("[WeaponInfo_ObtainPointers] pGetWeaponInfo: %p\n", pGetWeaponInfo);
  17.         }
  18.         if (IsBadCodePtr((FARPROC)pWeaponIDToAlias))
  19.         {
  20.             pWeaponIDToAlias = NULL;
  21.             DevMsg("[WeaponInfo_ObtainPointers] pWeaponIDToAlias: %p\n", pWeaponIDToAlias);
  22.         }
  23.         if (IsBadCodePtr((FARPROC)pAliasToWeaponID))
  24.         {
  25.             pAliasToWeaponID = NULL;
  26.             DevMsg("[WeaponInfo_ObtainPointers] pAliasToWeaponID: %p\n", pAliasToWeaponID);
  27.         }
  28.         if (IsBadCodePtr((FARPROC)pAliasToWeaponID) ||
  29.             IsBadCodePtr((FARPROC)pWeaponIDToAlias) ||
  30.             IsBadCodePtr((FARPROC)pAliasToWeaponID))
  31.             Error("WeaponInfo_ObtainPointers invalid function pointers\n");
  32.     }
  33.  
  34.     CCSWeaponInfo* GetWeaponInfo(const char* alias)
  35.     {
  36.         if (!pGetWeaponInfo || !pAliasToWeaponID)
  37.         {
  38.             WeaponInfo_ObtainPointers();
  39.         }
  40.  
  41.         return pGetWeaponInfo(pAliasToWeaponID(alias));
  42.     }
  43.  
  44.     const char* WeaponIDToAlias(int id)
  45.     {
  46.         if (!pWeaponIDToAlias)
  47.             WeaponInfo_ObtainPointers();
  48.  
  49.         return pWeaponIDToAlias(id);
  50.     }
  51.  
  52.     int AliasToWeaponID(const char* alias)
  53.     {
  54.         if (!pAliasToWeaponID)
  55.             WeaponInfo_ObtainPointers();
  56.  
  57.         return pAliasToWeaponID(alias);
  58.     }
  59.  
  60.     void MaterialPenetration(char materialType, float& flPenetration, float& flDamage)
  61.     {
  62.         switch ( materialType )
  63.         {
  64.         case 'D':
  65.         case 'M':
  66.             flPenetration = 0.5;
  67.             flDamage = 0.300000011920929;
  68.             break;
  69.         case 'C':
  70.             flPenetration = 0.4000000059604645;
  71.             flDamage = 0.25;
  72.             break;
  73.         case 'G':
  74.             flPenetration = 1.0;
  75.             flDamage = 0.9900000095367432;
  76.             break;
  77.         case 'V':
  78.             flPenetration = 0.5;
  79.             flDamage = 0.449999988079071;
  80.             break;
  81.         case 'T':
  82.             flPenetration = 0.6499999761581421;
  83.             flDamage = 0.300000011920929;
  84.             break;
  85.         case 'P':
  86.             flPenetration = 0.4000000059604645;
  87.             flDamage = 0.449999988079071;
  88.             break;
  89.         case 'W':
  90.             flPenetration = 1.0;
  91.             flDamage = 0.6000000238418579;
  92.             break;
  93.         default:
  94.             flPenetration = 1.0;
  95.             flDamage = 0.5;
  96.             break;
  97.         }
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment