Date: 2018/06/21 11:11:17 UTC-07:00
Type: Denizen Script
rng_spinner_guitask:
type: task
debug: false
speed: 0
prefix: '&ss0&ss4&ss8&ss5&ssr'
script:
# Create some cleared lists to work with
- define daily-display-list li@
- define daily-roll-list li@
- define pick li@
# A list of items, with their respective weights.
- define itemlist li@i@VeteranToken[quantity=32]/70|i@VeteranToken[quantity=64]/35|<mythicitem@ImbuedSword.get_item>/5|<mythicitem@ImbuedChest.get_item>/5|<mythicitem@ImbuedLegs.get_item>/5|<mythicitem@ImbuedHelm.get_item>/5
# Assemble a usable list to take from.
- foreach <def[itemlist]> {
- define daily-display-list <def[daily-display-list].pad_left[<def[daily-display-list].size.add[<def[value].after_last[/]>]>].with[<def[value].before_last[/]>]>
}
# Pick 60 random items from the weighted list
- define roll-size 60
- define daily-roll-list <def[daily-display-list].random[60]>
- note "in@generic[title=<script.yaml_key[prefix].unescaped><&6><&l>Lottery GUI;size=27;contents=li@i@air|i@air|i@air|i@air|i@emerald|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@air|i@emerald]" as:daily-spinner.<player.uuid>
- inventory open d:in@daily-spinner.<player.uuid>
# Roll
- repeat 50 {
- inventory set d:in@daily-spinner.<player.uuid> o:<def[daily-roll-list].get[<def[value]>].to[<def[value].add[8]>]> slot:10
- wait <util.e.power[<def[value].mul[0.125].sub[3]>].round_up>t
}
- wait 1s
- narrate '<&a>CONGRATULATIONS! You got a <&f><player.open_inventory.slot[14].display||<player.open_inventory.slot[14].formatted.to_titlecase>><&a>! Now go have fun and do something creative.'
- give <player.open_inventory.slot[14]>
- flag player can_close_inv
- inventory close