1.优化抽奖券的抽奖逻辑

This commit is contained in:
2026-06-03 17:23:13 +08:00
parent 51105dd1e0
commit 307a942b8e
9 changed files with 136 additions and 60 deletions

View File

@@ -8,6 +8,7 @@
"poolType": "Pool Type",
"placeholderPoolType": "Please select pool type",
"poolTypeNormal": "Normal",
"poolTypeFree": "Free",
"poolTypeKill": "Kill",
"poolTypeT1": "T1 High",
"safetyLine": "Safety Line",
@@ -25,7 +26,7 @@
"realtime": "Live",
"profitCalcHint": "Accumulated on name=default (Normal) pool: paid += win_coin paid_amount (ante×1); free += win_coin. Compared with safety line to decide paid-draw kill switch. Refreshes every 2s while open.",
"tierRuleTitle": "Paid draw tier rule",
"tierRuleContent": "Compares default pool profit_amount (not per-player profit). Below safety line or kill off: use player T*_weight; at or above safety line with kill on: use killScore pool T*_weight. Free draws always use killScore weights (safety line N/A).",
"tierRuleContent": "Compares default pool profit_amount (not per-player profit). Below safety line or kill off: paid uses player T*_weight; at/above safety line with kill on: paid uses killScore pool. Free draws always use channel name=free pool weights (fallback default if missing); safety line N/A.",
"enableKillScore": "Enable kill score",
"killScoreWeights": "Kill weights (killScore)",
"killWeightNote": "Edit killScore (Force Kill) row in the list for kill weights. This dialog only configures default pool safety line and kill switch.",
@@ -57,6 +58,7 @@
"placeholderName": "Please enter name",
"placeholderPoolType": "Please select pool type",
"poolTypeNormal": "Normal",
"poolTypeFree": "Free",
"poolTypeKill": "Force Kill",
"poolTypeT1": "T1 High Rate"
},

View File

@@ -54,11 +54,14 @@
"weightTest": {
"title": "One-Click Weight Test",
"alertTitle": "Bonus pool logic",
"alertBody": "Test mode is non-kill by default. You can enable kill mode below with switch + safety line: once simulated player cumulative profit reaches the line, paid draws switch to killScore.",
"alertBody": "Test mode is non-kill by default. When test kill mode is enabled, rules match production: compare default pool profit_amount to the safety line, with kill_enabled on and a killScore config present.",
"chainModeHint": "Simulation: set paid spin counts only (CW/CCW). If a paid draw hits “play again” (or T5), the next draw is free with the same ante, lottery type free, paid amount 0. Free-draw tier odds are configured below (including chained free plays).",
"killModeHint": "When test kill mode is enabled: use simulated player cumulative profit as trigger; once cumulative profit >= safety line, subsequent paid draws use killScore. Free draws still follow the configured free settings.",
"killModeHint": "When test kill mode is on: start from default pool profit_amount and accumulate each spin (paid: win_coin - paid_amount; free: win_coin). Once profit >= safety line and kill_enabled is on, subsequent paid draws use killScore; free draws still use the name=free pool.",
"labelKillModeEnabled": "Enable test kill mode",
"labelTestSafetyLine": "Test safety line",
"labelTestSafetyLine": "default safety line",
"killEnabledOn": "kill on",
"killEnabledOff": "kill off",
"poolProfitPrefix": "pool profit ",
"sectionPaid": "Paid draws",
"sectionFreeAfterPlayAgain": "Free draw tier odds (after play-again)",
"tierProbHintFreeChain": "When using custom tier odds: T1T5 below apply when a free draw runs (tier roll; combined with dice_reward row weights).",
@@ -69,7 +72,7 @@
"labelAnte": "Ante",
"placeholderAnte": "Select ante config",
"placeholderPaidPool": "Leave empty for custom tier odds below (default: default)",
"placeholderFreePool": "Leave empty for custom tier odds below (default: killScore)",
"placeholderFreePool": "Leave empty for custom tier odds below (default: free pool)",
"tierProbHint": "Custom tier odds (T1T5), each 0100%, sum of five must not exceed 100%",
"tierFieldLabel": "Tier {tier} (%)",
"tierSumError": "Current sum of five tiers is {sum}%, cannot exceed 100%",

View File

@@ -8,6 +8,7 @@
"poolType": "奖池类型",
"placeholderPoolType": "请选择奖池类型",
"poolTypeNormal": "正常",
"poolTypeFree": "免费",
"poolTypeKill": "强制杀猪",
"poolTypeT1": "T1高倍率",
"safetyLine": "安全线",
@@ -25,7 +26,7 @@
"realtime": "实时",
"profitCalcHint": "累计在 name=default正常奖池上付费每局 += win_coin paid_amountante×1免费每局 += win_coin。用于与安全线比较判定付费抽奖是否切换杀分。弹窗打开期间每 2 秒自动刷新。",
"tierRuleTitle": "付费抽奖档位规则",
"tierRuleContent": "比较对象为 default 奖池的 profit_amount非单个玩家盈利。当 profit_amount 低于安全线或未开启杀分时,按玩家 T*_weight 抽档;当 profit_amount 高于或等于安全线且已开启杀分时,按 killScore 奖池的 T*_weight 抽档。免费抽奖始终按 killScore 权重(与安全线无关。",
"tierRuleContent": "比较对象为 default 奖池的 profit_amount非单个玩家盈利。当 profit_amount 低于安全线或未开启杀分时,付费按玩家 T*_weight 抽档;当 profit_amount 高于或等于安全线且已开启杀分时,付费按 killScore 奖池抽档。免费抽奖始终按本渠道 name=free 奖池权重(无 free 时回退 default与安全线无关。",
"enableKillScore": "开启杀分",
"killScoreWeights": "杀分权重killScore",
"killWeightNote": "杀分权重请在列表中编辑 name=killScore强制杀猪记录本弹窗仅配置 default 奖池的安全线与杀分开关。",
@@ -57,6 +58,7 @@
"placeholderName": "请输入名称",
"placeholderPoolType": "请选择奖池类型",
"poolTypeNormal": "正常",
"poolTypeFree": "免费",
"poolTypeKill": "强制杀猪",
"poolTypeT1": "T1高倍率"
},

View File

@@ -54,11 +54,14 @@
"weightTest": {
"title": "一键测试权重",
"alertTitle": "彩金池逻辑说明",
"alertBody": "测试模式默认不启用杀分切换;可通过下方“杀分开关 + 安全线”在测试内启用:当模拟玩家累计盈利达到安全线后,付费抽奖切换到 killScore。",
"alertBody": "测试模式默认不启用杀分切换;开启「测试内杀分」后,判定规则与线上一致:以 default 彩金池累计盈利profit_amount对比安全线且需 kill_enabled=开启、存在 killScore 配置。",
"chainModeHint": "模拟方式:只配置付费抽奖次数(顺/逆时针)。付费抽到「再来一次」或 T5 时,下一局自动为免费抽奖,底注与触发局相同,抽奖类型记为免费、付费金额记为 0。免费抽奖的档位概率由下方「免费抽奖」配置决定含通过再来一次触发的后续免费局。",
"killModeHint": "杀分开关开启后:以“模拟玩家累计盈利”作为判定值;当累计盈利 >= 安全线时,后续付费抽奖 killScore 配置抽取;免费抽奖仍按“免费抽奖配置”执行。",
"killModeHint": "杀分开关开启后:从 default 奖池当前 profit_amount 起步,测试内逐局累加(付费=win_coin-paid_amount免费=win_coin;当累计盈利 安全线且 kill_enabled 开启时,后续付费抽奖 killScore免费抽奖仍走 name=free 奖池。",
"labelKillModeEnabled": "开启测试内杀分",
"labelTestSafetyLine": "测试安全线",
"labelTestSafetyLine": "default 安全线",
"killEnabledOn": "杀分已开启",
"killEnabledOff": "杀分已关闭",
"poolProfitPrefix": "当前池盈利 ",
"sectionPaid": "付费抽奖",
"sectionFreeAfterPlayAgain": "免费抽奖(再来一次后的档位概率)",
"tierProbHintFreeChain": "当使用自定义档位时:以下为「免费抽奖」时 T1T5 的档位概率(仅在有免费局时参与摇档,与 dice_reward 格子权重共同决定结果)。",
@@ -69,7 +72,7 @@
"labelAnte": "底注",
"placeholderAnte": "请选择底注配置",
"placeholderPaidPool": "不选则下方自定义档位概率(默认 default",
"placeholderFreePool": "不选则下方自定义档位概率(默认 killScore",
"placeholderFreePool": "不选则下方自定义档位概率(默认 free 免费奖池",
"tierProbHint": "自定义档位概率T1T5每档 0-100%,五档之和不能超过 100%",
"tierFieldLabel": "档位 {tier}%",
"tierSumError": "当前五档之和为 {sum}%,不能超过 100%",