aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/examples/rule_packs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/rule_packs')
-rw-r--r--examples/rule_packs/basic_roller.py49
-rw-r--r--examples/rule_packs/coc.py40
2 files changed, 0 insertions, 89 deletions
diff --git a/examples/rule_packs/basic_roller.py b/examples/rule_packs/basic_roller.py
deleted file mode 100644
index b12607cb..00000000
--- a/examples/rule_packs/basic_roller.py
+++ /dev/null
@@ -1,49 +0,0 @@
-import random
-import re
-
-
-def get_help():
- """返回此规则包的帮助信息"""
- return """
---- 基础掷骰 (Basic Roller) ---
-.r <表达式> : 执行一个掷骰表达式。
- 示例: .r 2d6
- .r d100+10
- .r 1d20-2
-"""
-
-
-def handle_command(command):
- """处理基础掷骰指令"""
- # 我们规定基础指令以 .r 开头
- if not command.lower().startswith(".r "):
- return None # 不是我的指令,我不处理
-
- expression = command[3:].strip() # 获取 .r 后面的内容
-
- # 清理表达式中的空格
- expression = expression.lower().replace(" ", "")
-
- # 正则表达式来匹配 XdY+/-Z
- match = re.match(r"(\d*)d(\d+)([+-]\d+)?", expression)
- if not match:
- return f"基础掷骰格式错误: {expression}"
-
- num_dice_str, num_sides_str, modifier_str = match.groups()
-
- num_dice = int(num_dice_str) if num_dice_str else 1
- num_sides = int(num_sides_str)
- modifier = int(modifier_str) if modifier_str else 0
-
- if num_dice <= 0 or num_sides <= 0:
- return "骰子数量和面数必须大于0。"
-
- rolls = [random.randint(1, num_sides) for _ in range(num_dice)]
- base_total = sum(rolls)
- final_total = base_total + modifier
-
- roll_details = f"({'+'.join(map(str, rolls))})"
- if modifier != 0:
- return f"掷骰: {expression} -> {final_total} [{roll_details}{modifier:+}]"
- else:
- return f"掷骰: {expression} -> {final_total} {roll_details}"
diff --git a/examples/rule_packs/coc.py b/examples/rule_packs/coc.py
deleted file mode 100644
index 28548d03..00000000
--- a/examples/rule_packs/coc.py
+++ /dev/null
@@ -1,40 +0,0 @@
-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}"