diff options
author | Nat Lasseter <user@4574.co.uk> | 2020-12-30 21:31:43 +0000 |
---|---|---|
committer | Nat Lasseter <user@4574.co.uk> | 2020-12-30 21:31:43 +0000 |
commit | 97ffb67aa2e73a3f5df4e3dbd5c2a9e5f7e5dfb0 (patch) | |
tree | a32697174b66c8f7bea73be830eaf16ca188b703 /iada.rb |
Initial commit
Diffstat (limited to 'iada.rb')
-rwxr-xr-x | iada.rb | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -0,0 +1,36 @@ +#!/usr/bin/env ruby + +require 'discordrb' + +bot = Discordrb::Commands::CommandBot.new token: ENV['DISCORD_TOKEN'], client_id: ENV['DISCORD_ID'], prefix: '!' + +bot.command :vs do |event, vs, *fr| + vs = vs.to_i + + roll = rand(100) + + case roll + when 0 + crit = true + success = true + diff = max(vs - roll, 0) + when 99 + crit = true + success = false + diff = (vs - roll).abs + else + crit = roll.to_s[0] == roll.to_s[1] + success = roll <= vs + diff = (vs - roll).abs + end + + res = "#{event.author.display_name} rolled `#{roll}` against `#{vs}`" + + "#{fr.empty? ? "" : " for \"#{fr.join(' ')}\""}. " + + "That is a _#{crit ? "**critical** " : ""}#{success ? "success" : "failure"}_ " + + "by `#{diff}` (#{diff / 10} Mo#{success ? "S" : "F"})." + + puts res + res +end + +bot.run |