Paste #47959: Untitled Paste

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

View Raw Paste Download This Paste
Copy Link


VeteranBox:
    type: item
    material: blue_shulker_box[flags=li@HIDE_ENCHANTS;nbt=li@BonusBox/Veteran]
    display name: "<&9>Veteran Bonus Box"
    lore:
    - "<&6>A bonus box containing powerful gear!"
    enchantments:
    - MENDING:1

EliteBox:
    type: item
    material: pink_shulker_box[flags=li@HIDE_ENCHANTS;nbt=li@BonusBox/Elite]
    display name: "<&d>Elite Bonus Box"
    lore:
    - "<&6>A bonus box containing powerful gear!"
    enchantments:
    - MENDING:1

daily-login-spinner:
    type: task
    debug: false
    speed: 0
    script:
    # Create some cleared lists to work with
    - define daily-display-list li@
    - define daily-roll-list li@
    - define pick li@
    - flag player cannot_close_inv

    # Create your list of weighted items

    # Days 1-6
    - if <server.flag[daily-login-count.<player.uuid>]> >= 1 && <server.flag[daily-login-count.<player.uuid>]> <= 6
    {
        # A list of items, with their respective weights.
        - define itemlist li@i@VeteranToken[quantity=32]/100|i@VeteranToken[quantity=64]/20|i@VeteranBox/3

        # 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[/]>]>
        }
    }
    else if <server.flag[daily-login-count.<player.uuid>]> == 7
    {
        - define itemlist li@i@VeteranToken[quantity=64]/100|
    }
    else if <server.flag[daily-login-count.<player.uuid>]> >= 8 && <server.flag[daily-login-count.<player.uuid>]> <= 13
    {
        # A list of items, with their respective weights.
        - define itemlist li@i@VeteranToken[quantity=32]/95|i@VeteranToken[quantity=64]/30|i@VeteranBox/6

        # 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[/]>]>
        }
    }
    else if <server.flag[daily-login-count.<player.uuid>]> == 14
    {
    }
    else if <server.flag[daily-login-count.<player.uuid>]> >= 15 && <server.flag[daily-login-count.<player.uuid>]> <= 20
    {
        # A list of items, with their respective weights.
        - define itemlist li@i@VeteranToken[quantity=32]/90|i@VeteranToken[quantity=64]/40|i@VeteranBox/9

        # 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[/]>]>
        }
    }
    else if <server.flag[daily-login-count.<player.uuid>]> == 21
    {
    }
    else if <server.flag[daily-login-count.<player.uuid>]> >= 22 && <server.flag[daily-login-count.<player.uuid>]> <= 27
    {
        # A list of items, with their respective weights.
        - define itemlist li@i@VeteranToken[quantity=32]/85|i@VeteranToken[quantity=64]/50|i@VeteranBox/100

        # 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[/]>]>
        }
    }
    else if <server.flag[daily-login-count.<player.uuid>]> == 28
    {
    }

    # 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=<&6><&l>Daily Login Reward;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
    }
    - if <player.open.inventory.slot[14]> == i@VeteranBox
    {
        - run Veteran-Spinner
        - queue clear
    }
    else
    {
        - wait 1s
        - narrate '<&a>You got <&f><player.open_inventory.slot[14].display||<player.open_inventory.slot[14].formatted.to_titlecase>><&a>!'
        - give <player.open_inventory.slot[14]>
        - flag player cannot_close_inv:!
        - inventory close
    }

Veteran-Spinner:
    type: task
    debug: false
    speed: 0
    script:
    # Create some cleared lists to work with
    - define veteran-display-list li@
    - define veteran-roll-list li@
    - define pick li@
    - flag player cannot_close_inv
    - define itemlist li@<mythicitem@ImbuedSword.get_item>/20|<mythicitem@ImbuedHelm.get_item>/20|<mythicitem@ImbuedChest.get_item>/20|<mythicitem@ImbuedLegs.get_item>/20|<mythicitem@ImbuedBoots.get_item>/20
    - foreach <def[itemlist]>
    {
        - define veteran-display-list <def[veteran-display-list].pad_left[<def[veteran-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 veteran-roll-list "<def[veteran-display-list].random[60]>"
    - note "in@generic[title=<&6><&l>Veteran BONUS ROUND!;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:veteran-spinner.<player.uuid>
    - inventory open "d:in@veteran-spinner.<player.uuid>"
    # Roll
    - repeat 50
    {
        - inventory set d:in@veteran-spinner.<player.uuid> o:<def[veteran-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
    }
    - if <player.open.inventory.slot[14]> == i@EliteBox
    {
        - run Elite-Spinner
    }
    else
    {
        - wait 1s
        - narrate '<&a>You got <&f><player.open_inventory.slot[14].display||<player.open_inventory.slot[14].formatted.to_titlecase>><&a>!'
        - give <player.open_inventory.slot[14]>
        - flag player cannot_close_inv:!
        - inventory close
    }

Elite-Spinner:
    type: task
    debug: false
    speed: 0
    script:
    # Create some cleared lists to work with
    - define elite-display-list li@
    - define elite-roll-list li@
    - define pick li@
    - flag player cannot_close_inv
    - define itemlist li@<mythicitem@BurnishedSword.get_item>/20|<mythicitem@BurnishedHelm.get_item>/20|<mythicitem@BurnishedChest.get_item>/20|<mythicitem@BurnishedLegs.get_item>/20|<mythicitem@BurnishedBoots.get_item>/20
    - foreach <def[itemlist]>
    {
        - define elite-display-list <def[elite-display-list].pad_left[<def[elite-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 elite-roll-list "<def[elite-display-list].random[60]>"
    - note "in@generic[title=<&6><&l>Elite BONUS ROUND!;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:elite-spinner.<player.uuid>
    - inventory open "d:in@elite-spinner.<player.uuid>"
    # Roll
    - repeat 50
    {
        - inventory set d:in@elite-spinner.<player.uuid> o:<def[elite-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>You got <&f><player.open_inventory.slot[14].display||<player.open_inventory.slot[14].formatted.to_titlecase>><&a>!'
    - give <player.open_inventory.slot[14]>
    - flag player cannot_close_inv:!
    - inventory close