FarmMysterySeeLandEffectSeeder.php 4.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace Database\Seeders;
  3. use Illuminate\Database\Seeder;
  4. use Illuminate\Support\Facades\DB;
  5. use Carbon\Carbon;
  6. class FarmMysterySeeLandEffectSeeder extends Seeder
  7. {
  8. /**
  9. * Run the database seeds.
  10. */
  11. public function run(): void
  12. {
  13. $now = Carbon::now();
  14. // 神秘种子(ID=1)在不同土地类型上的产出概率调整
  15. // 假设基础产出配置:物品2(10%)、物品3(10%,默认)、物品4(10%)
  16. $effects = [
  17. // 普通土地:无影响
  18. ['seed_id' => 1, 'land_type_id' => 1, 'output_item_id' => 2, 'probability_modifier' => 0.0000, 'probability_override' => null, 'is_active' => true],
  19. ['seed_id' => 1, 'land_type_id' => 1, 'output_item_id' => 3, 'probability_modifier' => 0.0000, 'probability_override' => null, 'is_active' => true],
  20. ['seed_id' => 1, 'land_type_id' => 1, 'output_item_id' => 4, 'probability_modifier' => 0.0000, 'probability_override' => null, 'is_active' => true],
  21. // 红土地:提升物品2概率,降低物品4概率
  22. ['seed_id' => 1, 'land_type_id' => 2, 'output_item_id' => 2, 'probability_modifier' => 5.0000, 'probability_override' => null, 'is_active' => true],
  23. ['seed_id' => 1, 'land_type_id' => 2, 'output_item_id' => 3, 'probability_modifier' => 0.0000, 'probability_override' => null, 'is_active' => true],
  24. ['seed_id' => 1, 'land_type_id' => 2, 'output_item_id' => 4, 'probability_modifier' => -3.0000, 'probability_override' => null, 'is_active' => true],
  25. // 黑土地:进一步提升物品2概率
  26. ['seed_id' => 1, 'land_type_id' => 3, 'output_item_id' => 2, 'probability_modifier' => 10.0000, 'probability_override' => null, 'is_active' => true],
  27. ['seed_id' => 1, 'land_type_id' => 3, 'output_item_id' => 3, 'probability_modifier' => -2.0000, 'probability_override' => null, 'is_active' => true],
  28. ['seed_id' => 1, 'land_type_id' => 3, 'output_item_id' => 4, 'probability_modifier' => -5.0000, 'probability_override' => null, 'is_active' => true],
  29. // 金土地:大幅提升稀有物品概率,物品2使用覆盖值
  30. ['seed_id' => 1, 'land_type_id' => 4, 'output_item_id' => 2, 'probability_modifier' => 0.0000, 'probability_override' => 25.0000, 'is_active' => true],
  31. ['seed_id' => 1, 'land_type_id' => 4, 'output_item_id' => 3, 'probability_modifier' => -5.0000, 'probability_override' => null, 'is_active' => true],
  32. ['seed_id' => 1, 'land_type_id' => 4, 'output_item_id' => 4, 'probability_modifier' => 8.0000, 'probability_override' => null, 'is_active' => true],
  33. // 蓝土地:平衡提升所有稀有物品
  34. ['seed_id' => 1, 'land_type_id' => 5, 'output_item_id' => 2, 'probability_modifier' => 12.0000, 'probability_override' => null, 'is_active' => true],
  35. ['seed_id' => 1, 'land_type_id' => 5, 'output_item_id' => 3, 'probability_modifier' => -3.0000, 'probability_override' => null, 'is_active' => true],
  36. ['seed_id' => 1, 'land_type_id' => 5, 'output_item_id' => 4, 'probability_modifier' => 12.0000, 'probability_override' => null, 'is_active' => true],
  37. // 紫土地:极大提升最稀有物品概率,物品2和物品4使用覆盖值
  38. ['seed_id' => 1, 'land_type_id' => 6, 'output_item_id' => 2, 'probability_modifier' => 0.0000, 'probability_override' => 30.0000, 'is_active' => true],
  39. ['seed_id' => 1, 'land_type_id' => 6, 'output_item_id' => 3, 'probability_modifier' => -8.0000, 'probability_override' => null, 'is_active' => true],
  40. ['seed_id' => 1, 'land_type_id' => 6, 'output_item_id' => 4, 'probability_modifier' => 0.0000, 'probability_override' => 25.0000, 'is_active' => true],
  41. ];
  42. // 为每个配置添加时间戳
  43. foreach ($effects as &$effect) {
  44. $effect['created_at'] = $now;
  45. $effect['updated_at'] = $now;
  46. }
  47. // 批量插入数据
  48. DB::table('farm_mystery_seed_land_effects')->insert($effects);
  49. $this->command->info('神秘种子土地影响配置数据已插入完成!');
  50. $this->command->info('共插入 ' . count($effects) . ' 条配置记录');
  51. // 显示配置概览
  52. $this->command->info('配置概览:');
  53. $this->command->info('- 普通土地:无影响(基础概率)');
  54. $this->command->info('- 红土地:物品2 +5%,物品4 -3%');
  55. $this->command->info('- 黑土地:物品2 +10%,物品3 -2%,物品4 -5%');
  56. $this->command->info('- 金土地:物品2 覆盖25%,物品3 -5%,物品4 +8%');
  57. $this->command->info('- 蓝土地:物品2 +12%,物品3 -3%,物品4 +12%');
  58. $this->command->info('- 紫土地:物品2 覆盖30%,物品3 -8%,物品4 覆盖25%');
  59. }
  60. }