2026-03-01 20:17:18 +08:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 文件功能:游戏默认配置数据填充器
|
|
|
|
|
|
*
|
|
|
|
|
|
* 初始化所有娱乐游戏的默认参数,管理员可在后台修改。
|
|
|
|
|
|
* 所有游戏默认关闭,需要管理员手动开启。
|
|
|
|
|
|
*
|
|
|
|
|
|
* @author ChatRoom Laravel
|
|
|
|
|
|
*
|
|
|
|
|
|
* @version 1.0.0
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
namespace Database\Seeders;
|
|
|
|
|
|
|
|
|
|
|
|
use App\Models\GameConfig;
|
|
|
|
|
|
use Illuminate\Database\Seeder;
|
|
|
|
|
|
|
|
|
|
|
|
class GameConfigSeeder extends Seeder
|
|
|
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 填充所有游戏默认配置。
|
|
|
|
|
|
*/
|
|
|
|
|
|
public function run(): void
|
|
|
|
|
|
{
|
|
|
|
|
|
$games = [
|
|
|
|
|
|
// ─── 百家乐(大小押注)────────────────────────────────────
|
|
|
|
|
|
[
|
|
|
|
|
|
'game_key' => 'baccarat',
|
|
|
|
|
|
'name' => '百家乐',
|
|
|
|
|
|
'icon' => '🎲',
|
|
|
|
|
|
'description' => '系统每隔一段时间自动开一局,玩家在倒计时内押注大/小/豹子,骰子结果决定胜负。',
|
|
|
|
|
|
'enabled' => false,
|
|
|
|
|
|
'params' => [
|
|
|
|
|
|
'interval_minutes' => 2, // 多少分钟开一局
|
|
|
|
|
|
'bet_window_seconds' => 60, // 每局押注窗口(秒)
|
|
|
|
|
|
'min_bet' => 100, // 最低押注金币
|
|
|
|
|
|
'max_bet' => 50000, // 最高押注金币
|
|
|
|
|
|
'payout_big' => 1, // 大:1:1 赔率
|
|
|
|
|
|
'payout_small' => 1, // 小:1:1 赔率
|
|
|
|
|
|
'payout_triple' => 24, // 豹子:1:24 赔率
|
|
|
|
|
|
'kill_points' => [3, 18], // 庄家收割点数(全灭)
|
|
|
|
|
|
],
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// ─── 老虎机 ──────────────────────────────────────────────
|
|
|
|
|
|
[
|
|
|
|
|
|
'game_key' => 'slot_machine',
|
|
|
|
|
|
'name' => '老虎机',
|
|
|
|
|
|
'icon' => '🎰',
|
|
|
|
|
|
'description' => '消耗金币转动老虎机,三列图案匹配可获得不同倍率奖励,三个7大奖全服广播。',
|
|
|
|
|
|
'enabled' => false,
|
|
|
|
|
|
'params' => [
|
|
|
|
|
|
'cost_per_spin' => 100, // 每次旋转消耗
|
|
|
|
|
|
'house_edge_percent' => 15, // 庄家边际(%)
|
|
|
|
|
|
'daily_limit' => 100, // 每日最多转动次数(0=不限)
|
|
|
|
|
|
'jackpot_payout' => 100, // 三个7 赔率
|
|
|
|
|
|
'triple_payout' => 50, // 三个💎 赔率
|
|
|
|
|
|
'same_payout' => 10, // 其他三同 赔率
|
|
|
|
|
|
'pair_payout' => 2, // 两同 赔率
|
|
|
|
|
|
'curse_enabled' => true, // 是否开启诅咒(三💀扣双倍)
|
|
|
|
|
|
],
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// ─── 神秘箱子 ────────────────────────────────────────────
|
|
|
|
|
|
[
|
|
|
|
|
|
'game_key' => 'mystery_box',
|
|
|
|
|
|
'name' => '神秘箱子',
|
|
|
|
|
|
'icon' => '📦',
|
|
|
|
|
|
'description' => '管理员随时投放或系统定时自动投放神秘箱,最快发送暗号的用户开箱获得奖励。',
|
|
|
|
|
|
'enabled' => false,
|
|
|
|
|
|
'params' => [
|
|
|
|
|
|
'auto_drop_enabled' => false, // 是否自动定时投放
|
|
|
|
|
|
'auto_interval_hours' => 2, // 自动投放间隔(小时)
|
|
|
|
|
|
'claim_window_seconds' => 60, // 领取窗口(秒)
|
|
|
|
|
|
'min_reward' => 500, // 普通箱最低奖励
|
|
|
|
|
|
'max_reward' => 2000, // 普通箱最高奖励
|
|
|
|
|
|
'rare_min_reward' => 5000, // 稀有箱最低奖励
|
|
|
|
|
|
'rare_max_reward' => 20000, // 稀有箱最高奖励
|
|
|
|
|
|
'trap_chance_percent' => 10, // 黑化箱触发概率(%)
|
|
|
|
|
|
],
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// ─── 赛马竞猜 ────────────────────────────────────────────
|
|
|
|
|
|
[
|
|
|
|
|
|
'game_key' => 'horse_racing',
|
|
|
|
|
|
'name' => '赛马竞猜',
|
|
|
|
|
|
'icon' => '🐎',
|
|
|
|
|
|
'description' => '系统定期举办赛马,用户在倒计时内下注,按注池赔率结算,跑马过程 WebSocket 实时播报。',
|
|
|
|
|
|
'enabled' => false,
|
|
|
|
|
|
'params' => [
|
|
|
|
|
|
'interval_minutes' => 30, // 多少分钟一场
|
|
|
|
|
|
'bet_window_seconds' => 90, // 押注窗口(秒)
|
|
|
|
|
|
'race_duration' => 30, // 跑马动画时长(秒)
|
|
|
|
|
|
'horse_count' => 4, // 参赛马匹数量
|
|
|
|
|
|
'min_bet' => 100, // 最低押注
|
|
|
|
|
|
'max_bet' => 100000, // 最高押注
|
|
|
|
|
|
'house_take_percent' => 5, // 庄家抽水(%)
|
|
|
|
|
|
],
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// ─── 神秘占卜 ────────────────────────────────────────────
|
|
|
|
|
|
[
|
|
|
|
|
|
'game_key' => 'fortune_telling',
|
|
|
|
|
|
'name' => '神秘占卜',
|
|
|
|
|
|
'icon' => '🔮',
|
|
|
|
|
|
'description' => '每日一次免费占卜,系统生成玄学签文并赋予当日加成效果(幸运/倒霉)。额外占卜消耗金币。',
|
|
|
|
|
|
'enabled' => false,
|
|
|
|
|
|
'params' => [
|
|
|
|
|
|
'free_count_per_day' => 1, // 每日免费次数
|
|
|
|
|
|
'extra_cost' => 500, // 额外次数消耗金币
|
|
|
|
|
|
'buff_duration_hours' => 24, // 加成效果持续时间
|
|
|
|
|
|
'jackpot_chance' => 5, // 上上签概率(%)
|
|
|
|
|
|
'good_chance' => 20, // 上签概率(%)
|
|
|
|
|
|
'bad_chance' => 20, // 下签概率(%)
|
|
|
|
|
|
'curse_chance' => 5, // 大凶签概率(%)
|
|
|
|
|
|
],
|
|
|
|
|
|
],
|
2026-03-03 16:46:36 +08:00
|
|
|
|
|
|
|
|
|
|
// ─── 钓鱼小游戏 ──────────────────────────────────────────────
|
|
|
|
|
|
[
|
|
|
|
|
|
'game_key' => 'fishing',
|
|
|
|
|
|
'name' => '钓鱼小游戏',
|
|
|
|
|
|
'icon' => '🎣',
|
|
|
|
|
|
'description' => '消耗金币抛竿,等待浮漂下沉后点击收竿,随机获得奖励或惩罚。持有自动钓鱼卡可自动循环。',
|
|
|
|
|
|
'enabled' => false,
|
|
|
|
|
|
'params' => [
|
|
|
|
|
|
'fishing_cost' => 5, // 每次抛竿消耗金币
|
|
|
|
|
|
'fishing_wait_min' => 8, // 浮漂等待最短秒数
|
|
|
|
|
|
'fishing_wait_max' => 15, // 浮漂等待最长秒数
|
|
|
|
|
|
'fishing_cooldown' => 300, // 收竿后冷却秒数
|
|
|
|
|
|
],
|
|
|
|
|
|
],
|
2026-03-01 20:17:18 +08:00
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($games as $game) {
|
|
|
|
|
|
GameConfig::updateOrCreate(
|
|
|
|
|
|
['game_key' => $game['game_key']],
|
|
|
|
|
|
$game,
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|