notfff 7 mesiacov pred
rodič
commit
25d546fea0

+ 4 - 3
app/Module/Farm/AdminControllers/FarmHouseConfigController.php

@@ -67,7 +67,7 @@ class FarmHouseConfigController extends AdminController
             $helper->columnId();
             $grid->column('level', '等级')->sortable();
             $grid->column('output_bonus', '产出加成')->display(function ($value) {
-                return ($value * 100) . '%';
+                return $value . '%';
             })->sortable();
             $grid->column('special_land_limit', '特殊土地上限')->sortable();
             $grid->column('upgrade_materials', '升级所需消耗组')->display(function ($materialsGroupId) {
@@ -109,7 +109,7 @@ class FarmHouseConfigController extends AdminController
             $show->field('id', 'ID');
             $show->field('level', '等级');
             $show->field('output_bonus', '产出加成')->as(function ($value) {
-                return ($value * 100) . '%';
+                return $value . '%';
             });
             $show->field('special_land_limit', '特殊土地上限');
             $show->field('upgrade_materials', '升级所需消耗组')->as(function ($materialsGroupId) {
@@ -137,7 +137,8 @@ class FarmHouseConfigController extends AdminController
 
             $form->display('id', 'ID');
             $form->number('level', '等级')->min(1)->max(12)->required();
-            $form->number('output_bonus', '产出加成')->min(0)->max(1)->step(0.05)->required()->help('输入小数值,如0.15表示15%的加成');
+            $form->number('output_bonus', '产出加成')
+                ->min(0)->max(100)->required()->help('输入百分比数值,如15表示15%的加成');
             $form->number('special_land_limit', '特殊土地上限')->min(0)->default(0)->required();
 
             // 添加消耗组选择(使用表格选择器)

+ 4 - 4
app/Module/Farm/AdminControllers/Helper/FormHelperTrait.php

@@ -163,7 +163,7 @@ trait FormHelperTrait
      */
     public function rateOutputBonus(string $field = 'output_bonus', string $label = '产量加成'): Field\Rate
     {
-        return $this->form->rate($field, $label)->max(1)->step(0.05)->required();
+        return $this->form->rate($field, $label)->max(1)->required();
     }
 
     /**
@@ -175,7 +175,7 @@ trait FormHelperTrait
      */
     public function rateDisasterResistance(string $field = 'disaster_resistance', string $label = '灾害抵抗'): Field\Rate
     {
-        return $this->form->rate($field, $label)->max(1)->step(0.05)->required();
+        return $this->form->rate($field, $label)->max(1)->required();
     }
 
     /**
@@ -205,7 +205,7 @@ trait FormHelperTrait
                 DISASTER_TYPE::PEST->value => DISASTER_TYPE::getName(DISASTER_TYPE::PEST->value),
                 DISASTER_TYPE::WEED->value => DISASTER_TYPE::getName(DISASTER_TYPE::WEED->value),
             ])->required();
-            $table->rate('resistance', '抵抗率')->max(1)->step(0.05)->required();
+            $table->rate('resistance', '抵抗率')->max(1)->required();
         });
     }
 
@@ -223,7 +223,7 @@ trait FormHelperTrait
             $table->text('item_name', '物品名称')->required();
             $table->number('min_quantity', '最小数量')->min(1)->default(1)->required();
             $table->number('max_quantity', '最大数量')->min(1)->default(1)->required();
-            $table->rate('probability', '概率')->max(1)->step(0.01)->required();
+            $table->rate('probability', '概率')->max(1)->required();
         });
     }
 

+ 1 - 1
app/Module/Farm/Listeners/CalculateHarvestOutputListener.php

@@ -42,7 +42,7 @@ class CalculateHarvestOutputListener
             $farmUser = $crop->user;
 //            dd($farmUser,$crop);
             $houseConfig      = $farmUser->houseConfig;
-            $houseOutputBonus = $houseConfig->output_bonus ?? 0;
+            $houseOutputBonus = ($houseConfig->output_bonus ?? 0) / 100; // 将百分比值转换为小数
 
             // 检查是否有丰收之神加持
             $hasHarvestBuff = $farmUser->buffs()

+ 1 - 1
app/Module/Game/Logics/HouseTemp.php

@@ -74,7 +74,7 @@ class HouseTemp
                 'old_level' => $oldLevel,
                 'new_level' => $newLevel,
                 'is_upgrade' => $isUpgrade,
-                'output_bonus' => $houseConfig ? $houseConfig->output_bonus : 0.0,
+                'output_bonus' => $houseConfig ? ($houseConfig->output_bonus / 100) : 0.0, // 将百分比值转换为小数
                 'special_land_limit' => $houseConfig ? $houseConfig->special_land_limit : 0,
                 'updated_at' => time(),
             ];

+ 0 - 1
app/Module/GameItems/AdminControllers/GroupItemController.php

@@ -99,7 +99,6 @@ class GroupItemController extends AdminController
             $helper->number('weight')
                 ->default(1.0)
                 ->min(0.001)
-                ->step(0.001)
                 ->required()
                 ->help('权重越高,随机选择时概率越大');
         });

+ 7 - 0
app/Module/GameItems/Casts/DisplayAttributesCast.php

@@ -27,6 +27,13 @@ class DisplayAttributesCast extends \UCore\Model\CastsAttributes
      */
     public string $wareHouse_type = '1';
 
+    /**
+     * 分类
+     * @var int $cate
+     */
+    public int $cate = 0;
+
+
 
 
 }

+ 1 - 0
app/Module/GameItems/Config/NumericAttributesWhitelist.php

@@ -22,6 +22,7 @@ class NumericAttributesWhitelist
         'pet_power',         // 增加宠物体力
         'pet_exp',           // 增加宠物经验
         'reward_group_id',   // 使用后随机奖励物品组
+        'fram_remove_reward_group',// 铲除奖励组
     ];
 
     /**

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 465 - 45
app/tree.md


+ 28 - 28
tests/Unit/HouseOutputBonusTest.php

@@ -8,7 +8,7 @@ use Illuminate\Foundation\Testing\RefreshDatabase;
 
 /**
  * 房屋产出加成测试
- * 
+ *
  * 验证房屋等级产出加成的数据一致性和计算正确性
  */
 class HouseOutputBonusTest extends TestCase
@@ -20,29 +20,29 @@ class HouseOutputBonusTest extends TestCase
      */
     public function testHouseConfigDataConsistency()
     {
-        // 期望的房屋等级产出加成配置
+        // 期望的房屋等级产出加成配置(百分比值)
         $expectedConfigs = [
-            1 => 0.00,  // 0%
-            2 => 0.05,  // 5%
-            3 => 0.10,  // 10%
-            4 => 0.15,  // 15%
-            5 => 0.20,  // 20%
-            6 => 0.25,  // 25%
-            7 => 0.30,  // 30%
-            8 => 0.35,  // 35%
-            9 => 0.40,  // 40%
-            10 => 0.45, // 45%
-            11 => 0.50, // 50%
-            12 => 0.60, // 60%
+            1 => 0,   // 0%
+            2 => 5,   // 5%
+            3 => 10,  // 10%
+            4 => 15,  // 15%
+            5 => 20,  // 20%
+            6 => 25,  // 25%
+            7 => 30,  // 30%
+            8 => 35,  // 35%
+            9 => 40,  // 40%
+            10 => 45, // 45%
+            11 => 50, // 50%
+            12 => 60, // 60%
         ];
 
         foreach ($expectedConfigs as $level => $expectedBonus) {
             $config = FarmHouseConfig::where('level', $level)->first();
-            
+
             $this->assertNotNull($config, "房屋等级 {$level} 的配置不存在");
             $this->assertEquals(
-                $expectedBonus, 
-                (float)$config->output_bonus, 
+                $expectedBonus,
+                (float)$config->output_bonus,
                 "房屋等级 {$level} 的产出加成应该是 {$expectedBonus},实际是 {$config->output_bonus}"
             );
         }
@@ -72,11 +72,11 @@ class HouseOutputBonusTest extends TestCase
 
         foreach ($testCases as $level => $expectedOutput) {
             $config = FarmHouseConfig::where('level', $level)->first();
-            $actualOutput = (int)($baseOutput * (1 + $config->output_bonus));
-            
+            $actualOutput = (int)($baseOutput * (1 + ($config->output_bonus / 100))); // 将百分比值转换为小数
+
             $this->assertEquals(
-                $expectedOutput, 
-                $actualOutput, 
+                $expectedOutput,
+                $actualOutput,
                 "房屋等级 {$level},基础产量 {$baseOutput},期望最终产量 {$expectedOutput},实际计算结果 {$actualOutput}"
             );
         }
@@ -104,11 +104,11 @@ class HouseOutputBonusTest extends TestCase
 
         foreach ($testCases as $level => $expectedPercentage) {
             $config = FarmHouseConfig::where('level', $level)->first();
-            $actualPercentage = round($config->output_bonus * 100) . '%';
-            
+            $actualPercentage = round($config->output_bonus) . '%'; // 直接使用百分比值
+
             $this->assertEquals(
-                $expectedPercentage, 
-                $actualPercentage, 
+                $expectedPercentage,
+                $actualPercentage,
                 "房屋等级 {$level} 的百分比显示应该是 {$expectedPercentage},实际是 {$actualPercentage}"
             );
         }
@@ -125,14 +125,14 @@ class HouseOutputBonusTest extends TestCase
         $disasterPenalty = 0.10; // 灾害10%减产
 
         $config = FarmHouseConfig::where('level', $houseLevel)->first();
-        $houseBonus = $config->output_bonus;
+        $houseBonus = $config->output_bonus / 100; // 将百分比值转换为小数
 
         // 计算最终产量:基础产量 × (1 + 土地加成) × (1 + 房屋加成) × (1 - 灾害减产)
         $expectedOutput = (int)($baseOutput * (1 + $landBonus) * (1 + $houseBonus) * (1 - $disasterPenalty));
-        
+
         // 手动计算验证:1000 * 1.25 * 1.30 * 0.90 = 1462.5 -> 1462
         $manualCalculation = (int)(1000 * 1.25 * 1.30 * 0.90);
-        
+
         $this->assertEquals(1462, $manualCalculation, "手动计算结果应该是1462");
         $this->assertEquals($manualCalculation, $expectedOutput, "复合加成计算结果不正确");
     }

+ 3 - 1
work/疑问.md

@@ -7,5 +7,7 @@
 宝箱开启的消耗问题
 
 房屋等级,影响产量
-土地等级,影响神秘种子的产出种类
+
+土地等级,影响`神秘种子`的产出种类 ,目前有这个功能么?
+
 

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov