]> Pileus Git - ~andy/rhawk/blobdiff - rhawk
Save game after flipping the table
[~andy/rhawk] / rhawk
diff --git a/rhawk b/rhawk
index b2173fc1a7d05d169a2d5324004e4fe0c98aa932..0bc31a3ceadaf1512ed2ac9837a26ef77773f8b9 100755 (executable)
--- a/rhawk
+++ b/rhawk
@@ -4,6 +4,7 @@
 @include "json.awk"
 @include "spades.awk"
 @include "email.awk"
+@include "remind.awk"
 @include "sfvlug.awk"
 
 # Initialization
@@ -27,6 +28,8 @@ BEGIN {
                join("#rhspades")
                join("#sfvlug")
        }
+
+       PROCINFO["sorted_in"] = "@ind_str_asc";
 }
 
 # Admin
@@ -424,10 +427,29 @@ tolower($0) ~ /\<nuclear launch detected\>/ {
 }
 
 # Vote relay
-DST != "#rhnoise" && /\<[a-zA-Z0-9_]{3,16}(\+\+|--)/ {
+DST != "#rhnoise" && DST != NICK &&
+/\<[a-zA-Z0-9_]{3,16}(\+\+|--)/ {
        say("#rhnoise", "(" DST ") " FROM ": " MSG);
 }
 
+# Fun operators
+function bang(a, b) {
+       if (a=="nan") return "nan";
+       if (b=="nan") return "nan";
+       if (a==b)     return "nan";
+       if (a==0)     return "+0";
+       if (b==0)     return "-0";
+       return 1/(1/a - 1/b);
+}
+
+/^ *[+-]?[0-9]*\.?[0-9]+( *\? *[+-]?[0-9]*\.?[0-9]+)+ *$/ {
+       gsub(/?/, " ");
+       _num = $1+0;
+       for (_i=2; _i<=NF; _i++)
+               _num = bang(_num, $_i+0);
+       reply(_num);
+}
+
 # Misc
 { fflush("") }