NumericAttributesCast.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace App\Module\GameItems\Casts;
  3. use UCore\Model\CastsAttributes;
  4. /**
  5. * 物品数值属性类型转换器
  6. *
  7. * 用于将数据库中存储的JSON格式的物品数值属性转换为PHP对象,以及将PHP对象转换回JSON格式。
  8. * 物品数值属性包含用于游戏逻辑计算的属性,如宝箱掉落数量、宠物属性加成、奖励物品组等。
  9. * 这些属性直接影响游戏玩法和平衡性,是物品系统的核心数据。
  10. */
  11. class NumericAttributesCast extends CastsAttributes
  12. {
  13. /**
  14. * 宝箱最小数量
  15. *
  16. * @var int $min_drop_count
  17. */
  18. public int $min_drop_count = 0;
  19. /**
  20. * 宝箱最大数量
  21. *
  22. * @var int $max_drop_count
  23. */
  24. public int $max_drop_count = 0;
  25. /**
  26. * 减少作物生长时间
  27. *
  28. * @var int $intd
  29. */
  30. public int $crop_growth_time = 0;
  31. /**
  32. * 增加宠物体力
  33. *
  34. * @var int $pet_power
  35. */
  36. public int $pet_power = 0;
  37. /**
  38. * 使用后随即奖励物品组
  39. *
  40. * @var int $reward_group_id
  41. */
  42. public int $reward_group_id = 0;
  43. /**
  44. * 增加宠物经验
  45. *
  46. * @var int $pet_exp
  47. */
  48. public int $pet_exp = 0;
  49. /**
  50. * 除虫概率(百分比格式,100=100%)
  51. *
  52. * @var int $fram_pesticide_rate
  53. */
  54. public int $fram_pesticide_rate = 0;
  55. /**
  56. * 解决干旱概率(百分比格式,100=100%)
  57. *
  58. * @var int $fram_drought_rate
  59. */
  60. public int $fram_drought_rate = 0;
  61. /**
  62. * 除草概率(百分比格式,100=100%)
  63. *
  64. * @var int $fram_weedicide_rate
  65. */
  66. public int $fram_weedicide_rate = 0;
  67. /**
  68. * 农场铲除奖励属性,关联奖励组ID
  69. * 当使用该道具进行铲除作物操作时,会根据此属性值关联的奖励组给予玩家额外奖励
  70. * 0表示无奖励,大于0的值表示奖励组ID
  71. *
  72. * @var int $fram_remove_reward_group
  73. */
  74. public int $fram_remove_reward_group = 0;
  75. /**
  76. * 神像时间(秒),用以标识该物品可以开启神像
  77. *
  78. * @var int $god_duration_seconds
  79. */
  80. public int $god_duration_seconds = 0;
  81. /**
  82. * 神像种类,用以标识该物品可以开启的神像种类
  83. * 1=丰收之神, 2=雨露之神, 3=屠草之神, 4=拭虫之神
  84. *
  85. * @var int $god_type
  86. */
  87. public int $god_type = 0;
  88. /**
  89. * 宠物种类,用以标识该物品使用后可以获取的宠物种类
  90. * 对应PetConfig表中的pet_type字段
  91. *
  92. * @var string $pet_type
  93. */
  94. public string $pet_type = '';
  95. }