IngRRD/lib/medals
Vincent Riquer 86f243f15b * medals: 0% is 100% for the lower medal
* show currectly unreachable medals as transparent
2014-07-07 16:17:45 +02:00

58 lines
1.4 KiB
Bash

#!/bin/bash
medals() {
local \
stat \
for stat in "${medals[@]}"
do
if (( last["$stat"] >= bronze["$stat"] ))
then
(( bronzecount++ ))
bronzes+=( "$stat" )
else
upbronze[last["$stat"] * 100 / bronze["$stat"]]+="$stat "
fi
if (( last["$stat"] >= silver["$stat"] ))
then
(( silvercount++ ))
silvers+=( "$stat" )
elif (( last["$stat"] >= bronze["$stat"] ))
then
upsilver[( last["$stat"] - bronze["$stat"] ) * 100 / ( silver["$stat"] - bronze["$stat"] )]+="$stat "
else
nosilver["$stat"]=1
fi
if (( last["$stat"] >= gold["$stat"] ))
then
(( goldcount++ ))
golds+=( "$stat" )
elif (( last["$stat"] >= silver["$stat"] ))
then
upgold[( last["$stat"] - silver["$stat"] ) * 100 / ( gold["$stat"] - silver["$stat"] )]+="$stat "
else
nogold["$stat"]=1
fi
if (( last["$stat"] >= platinum["$stat"] ))
then
(( platinumcount++ ))
platinums+=( "$stat" )
elif (( last["$stat"] >= gold["$stat"] ))
then
upplatinum[( last["$stat"] - gold["$stat"] ) * 100 / ( platinum["$stat"] - gold["$stat"] )]+="$stat "
else
noplatinum["$stat"]=1
fi
if (( last["$stat"] >= black["$stat"] ))
then
(( blackcount++ ))
blacks+=( "$stat" )
elif (( last["$stat"] >= platinum["$stat"] ))
then
upblack[( last["$stat"] - platinum["$stat"] ) * 100 / ( black["$stat"] - platinum["$stat"] )]+="$stat "
else
noblack["$stat"]=1
fi
done
}