Fish_OddsCFG.h 1.6 KB

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