Paste #47957: yo yo yo

Date: 2018/06/21 11:11:17 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


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