summaryrefslogtreecommitdiffstats
path: root/god/licht
diff options
context:
space:
mode:
Diffstat (limited to 'god/licht')
-rwxr-xr-xgod/licht136
1 files changed, 136 insertions, 0 deletions
diff --git a/god/licht b/god/licht
new file mode 100755
index 00000000..12e4555f
--- /dev/null
+++ b/god/licht
@@ -0,0 +1,136 @@
+#!/bin/bash
+#
+#SYNOPSIS
+# //god/licht [options] [0/1]
+#OPTIONS
+# all - toggles all lights
+# links - toggles all lights on the left hand side while looking towards the Auditorium
+# rechts - toggles all lights on the right hand side while looking towards the Auditorium
+# kuschel - toggles the lights in the pwnie corner
+# software - toggles the software corner
+# tische - toggles the lights on the window side of the long table
+# porsche - toggles the lights on the window side where the porsche cockpit is
+# ghetto - toggles the lights in the hallway
+# 0-7 - toggles individual lights
+
+TOGGLE=`echo "$2" | sed -n '/^[0-1]/p'`
+shorthelp() {
+ echo "Usage: $0 [OPTIONS] [0|1]"
+ echo "Toggle the lights in the shack."
+
+}
+longhelp(){
+ shorthelp
+
+cat <<EOF
+
+OPTIONS
+ all - toggles all lights
+ links - toggles all lights on the left hand side while looking towards the Auditorium
+ rechts - toggles all lights on the right hand side while looking towards the Auditorium
+ kuschel - toggles the lights in the pwnie corner
+ software - toggles the software corner
+ tische - toggles the lights on the window side of the long table
+ porsche - toggles the lights on the window side where the porsche cockpit is
+ ghetto - toggles the lights in the hallway
+ 0-7 - toggles individual lights
+EOF
+}
+toggle() {
+ LAMPE=`echo "$1" | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc`
+ if ! [ "$LAMPE" -a "$TOGGLE" ];then
+ longhelp
+ exit 1
+ fi
+ STRING="\\xA5\\x5A\\x$LAMPE\\x$TOGGLE"
+ if [ $# != 2 ]
+ then
+ longhelp
+ exit 1
+ else
+ echo "Toggle light $LAMPE ($TOGGLE)"
+ printf "$STRING" | nc -u -w1 licht.shack 1337
+ fi
+}
+
+toggle_all() {
+ for i in `seq 0 7`
+ do
+ toggle $i $TOGGLE
+ done
+ wait
+}
+
+kuschel(){
+ for i in 0 2
+ do
+ toggle $i $TOGGLE
+ done
+ wait
+}
+
+software(){
+ for i in 1 3
+ do
+ toggle $i $TOGGLE
+ done
+ wait
+}
+
+tische(){
+ for i in 4 6
+ do
+ toggle $i $TOGGLE
+ done
+ wait
+}
+
+ghetto(){
+ i=7
+ toggle $i $TOGGLE
+}
+
+porsche(){
+ i=5
+ toggle $i $TOGGLE
+}
+
+case "$1" in
+ (--help)
+ if [ "$2" == "--verbose" ]
+ then longhelp
+ else shorthelp
+ fi
+ ;;
+ all)
+ toggle_all
+ ;;
+ kuschel)
+ kuschel
+ ;;
+ software)
+ software
+ ;;
+ links)
+ kuschel
+ software
+ ;;
+ rechts)
+ tische
+ porsche
+ ghetto
+ ;;
+ tische)
+ tische
+ ;;
+ porsche)
+ porsche
+ ;;
+ ghetto)
+ ghetto
+ ;;
+ *)
+ toggle "$@"
+ ;;
+esac
+