diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/toy.groovy | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/toy.groovy b/scripts/toy.groovy index 5828903..68d7114 100644 --- a/scripts/toy.groovy +++ b/scripts/toy.groovy @@ -153,12 +153,23 @@ def localTime = { return wallclock; }; def getDay = { (int)(getTime() / DAY) * DAY }; +def getProp = {i, f, d = null -> + final v = f("toy.$i".toString()); + if (v == null) return d; + return v; +}; +def loadB = { p -> loadBoolean(p)}; +def loadI = { p -> loadInteger(p)}; +def loadS = { p -> loadString(p)}; +def setProp = {i, v -> save("toy.$i".toString(), v)}; def has = {i -> loadBoolean("toys.$i") == true}; def likes = {i -> loadBoolean("fetish.$i") == true}; def can = {i -> loadBoolean("toy.permission.$i") == true}; def perm = can; -def givePermission = {i -> save("toy.permission.$i", true)}; -def revokePermission = {i -> save("toy.permission.$i", false)}; +def getPermission = {i -> getProp("permission.$i", loadB)}; +def setPermission = {i, v -> setProp("permission.$i", v)}; +def givePermission = {i -> setPermission(i, true)}; +def revokePermission = {i -> setPermission(i, false)}; def is = {i -> loadBoolean("toy.state.$i") == true}; def set = {i, s -> save("toy.state.$i", s)}; def positioned = { i -> loadString("toy.position") == i }; |