Date: 2018/06/21 13:17:16 UTC-07:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
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