From 97ffb67aa2e73a3f5df4e3dbd5c2a9e5f7e5dfb0 Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Wed, 30 Dec 2020 21:31:43 +0000 Subject: Initial commit --- iada.rb | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 iada.rb (limited to 'iada.rb') diff --git a/iada.rb b/iada.rb new file mode 100755 index 0000000..1714707 --- /dev/null +++ b/iada.rb @@ -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 -- cgit v1.2.3