47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/bcdice/game_system/Warhammer4.rb', line 47
def result_1d100(total, _dice_total, cmp_op, target)
return Result.nothing if target == '?'
return nil unless cmp_op == :<=
t10 = total / 10
d10 = target / 10
sl = d10 - t10
if total <= 5 && sl < 1
sl = 1
elsif total >= 96 && sl > -1
sl = -1
end
result =
if total <= 5
Result.success("自動成功")
elsif total >= 96
Result.failure("自動失敗")
elsif total <= target
Result.success("成功")
else
Result.failure("失敗")
end
sl_text = format("(SL%+d)", sl)
if (sl == 0) && (total > target)
sl_text = "(SL-0)"
end
result.text += "#{sl_text} > #{result_detail(sl, total, target)}"
return result
end
|