Fish_OddsCFG.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #pragma once
  2. #include <boost/unordered_map.hpp>
  3. #include <vector>
  4. struct Fish_OddsCFGData
  5. {
  6. //key
  7. int mID;
  8. //鱼名字
  9. std::string mFishName;
  10. //基本命中几率(1/1000000)
  11. std::vector<int> mHitRate;
  12. //新手buff命中(1/1000000)
  13. std::vector<int> mHitRateHeaven;
  14. //充值buff命中(1/1000000)
  15. std::vector<int> mHitRateHeavenBuff;
  16. //大水池buff命中(1/1000000)
  17. std::vector<int> mHitRateBuff;
  18. //大水池dbuff命中(1/1000000)
  19. std::vector<int> mHitRateDBuff;
  20. //个人buff命中(1/1000000)
  21. std::vector<int> mHitRatePersonalBuff;
  22. //新手dbuff命中(1/1000000)
  23. std::vector<int> mHitRateHell;
  24. //充值dbuff命中(1/1000000)
  25. std::vector<int> mHitRateHellBuff;
  26. //首次击杀命中(1/1000000)
  27. std::vector<int> mFirstHitBuff;
  28. //星星掉落率(万分比)
  29. int mStarRate;
  30. //掉落物品(只能配置捕鱼道具)
  31. std::vector<int> mDropItems;
  32. //额外掉落(鱼掉落概率*(当前炮倍/最大炮倍)
  33. std::vector<int> mExtraDrop;
  34. //大水池(大水池1 其他池0)
  35. int mBigPool;
  36. //玩法池(玩法池1 其他池0)
  37. int mPlayPool;
  38. //新手buff(普通buff 1 特殊鱼2)
  39. int mNoviceBuff;
  40. //充值buff(普通buff 1 特殊鱼2)
  41. int mRechargeBuff;
  42. //首杀加成
  43. std::vector<int> mFirstBuff;
  44. //分组
  45. std::vector<int> mGroup;
  46. //掉落对应的活动ID
  47. int mActivityId;
  48. //活动掉落--道具,概率
  49. std::vector<int> mActivityDropItems;
  50. //积分倍率(中级场)
  51. std::vector<int> mrate;
  52. //龙鳞分数
  53. int mSquama;
  54. };
  55. class Fish_OddsCFG
  56. {
  57. public:
  58. private:
  59. static std::auto_ptr<Fish_OddsCFG> msSingleton;
  60. public:
  61. int GetCount();
  62. const Fish_OddsCFGData* GetData(int ID);
  63. boost::unordered_map<int, Fish_OddsCFGData>& GetMapData();
  64. void Reload();
  65. void Load(const std::string& path);
  66. void Load();
  67. static Fish_OddsCFG* GetSingleton();
  68. private:
  69. boost::unordered_map<int, Fish_OddsCFGData> mMapData;
  70. };