blob: 28548d03f377854093755dd49cc34d3c70ec222a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
import random
import re
def get_help():
"""返回此规则包的帮助信息"""
return """
--- 克苏鲁的呼唤 (Call of Cthulhu) ---
.ra <技能值> : 对指定的技能值进行成功/失败检定。
示例: .ra 75
"""
def handle_command(command):
"""处理COC检定指令"""
command = command.lower().strip()
# 我们规定COC检定指令以 .ra 开头
match = re.match(r"^\.ra\s*(\d+)$", command)
if not match:
return None # 不是我的指令,我不处理
skill_value = int(match.group(1))
roll = random.randint(1, 100)
# 判断结果
if roll <= 1:
result_text = "大成功 (Critical Success)"
elif roll > 95: # COC 7版规则大失败
result_text = "大失败 (Fumble)"
elif roll <= skill_value / 5:
result_text = "极难成功 (Extreme Success)"
elif roll <= skill_value / 2:
result_text = "困难成功 (Hard Success)"
elif roll <= skill_value:
result_text = "成功 (Regular Success)"
else:
result_text = "失败 (Failure)"
return f"COC检定 (目标: {skill_value}) -> 掷骰: {roll} -> {result_text}"
|