View difference between Paste ID: u1Zuef2M and jXKmGCf8
SHOW: | | - or go back to the newest paste.
1
options:
2
	SYSTEM_PREFIX: &7》 
3
	GAME_PREFIX: &9》 
4
	MATCH_TIME: 120
5
	STICK_TIME: 30
6
	SHOWDOWN_TIME: 60
7
	DEATHMATCH_TIME: 90
8
	CHEST_ROWS: 6
9
10
command /sumoadm [<text>] [<text>]:
11
	permission: admin
12
	permission message: §7》 §c必要な権限を持っていません
13
	trigger:
14
		if arg 1 is "waitingpoint":
15
			set {stage.waitingPoint} to location of player
16
			message "{@SYSTEM_PREFIX}&7待機場所を&a%location of player%&7に設定しました"
17
		else if arg 1 is "lobby":
18
			set {lobby} to location of player
19
			message "{@SYSTEM_PREFIX}&7ロビーを&a%location of player%&7に設定しました"
20
		else if arg 1 is "standpoint":
21
			if arg 2 is "A":
22
				set {stage.standPoint::A} to location of player
23
				message "{@SYSTEM_PREFIX}&7プレイヤー&eA&7のスタート地点を&a%location of player%&7に設定しました"
24
			else if arg 2 is "B":
25
				set {stage.standPoint::B} to location of player
26
				message "{@SYSTEM_PREFIX}&7プレイヤー&eB&7のスタート地点を&a%location of player%&7に設定しました"
27
			else:
28
				message "&c使用方法: /sumoadm standpoint <A / B>"
29
		else if arg 1 is "start":
30
			clear {game.result::*}
31
			clear {game.firstJoiners::*}
32
			clear {game.totalRateChange::*}
33
			clear {game.matchTime}
34
			set {game.isStarted} to true
35
			clear inventory of {game.joiners::*}
36
			teleport {game.joiners::*} to {stage.waitingpoint}
37
			set {game.mode} to "RANKED"
38
			loop {game.joiners::*}:
39
				add loop-value to {game.firstJoiners::*}
40
				set slot 4 of player to nether star named "&e総当たり表を確認する"
41
				loop {game.joiners::*}:
42
					if loop-value-1 is not loop-value-2:
43
						set {game.result::%loop-value-1%::%loop-value-2%} to "NONE"
44
					else:
45
						set {game.result::%loop-value-1%::%loop-value-2%} to "MYSELF"
46
			gameLoop()
47
		else if arg 1 is "stop":
48
			loop {game.joiners::*}:
49
				clear inventory of loop-value
50
				set slot 4 of loop-value to slimeball named "&a参加する"
51
			teleport {game.joiners::*} to {lobby}
52
			clear {game.joiners::*}
53
			clear {game.firstJoiners::*}
54
			clear {game.result::*}
55
			clear {game.totalRateChange::*}
56
			set {game.isStarted} to false
57
58
command /join:
59
	trigger:
60
		if {game.joiners::*} doesn't contain player:
61
			if {game.isStarted} is false:
62
				add player to {game.joiners::*}
63
				play sound "UI_BUTTON_CLICK" to player with volume 1 and pitch 8
64
				broadcast "{@GAME_PREFIX}&e%player%&7がゲームに参加しました"
65
			else:
66
				message "{@GAME_PREFIX}&c既に開始しています"
67
		else:
68
			message "{@GAME_PREFIX}&c既に参加しています"
69
70
command /evaluate <text>:
71
	permission: admin
72
	trigger:
73
		evaluate "%arg%"
74
75
command /oi <text> <integer> <integer>:
76
	executable by: console
77
	trigger:
78
		openTable(arg 1 parsed as player, arg 2, arg 3)
79
80
on drop:
81
	cancel event
82
83
on damage:
84
	if {game.isStarted} is false:
85
		cancel event
86
	else if {game.joiners::*} doesn't contain victim:
87
		cancel event
88
	else if {game.isMatching::%attacker%} is false:
89
		cancel event
90
	else if {game.isMatching::%victim%} is false:
91
		cancel event
92
	else if "%damage cause%" is "void":
93
		set {_list::*} to getMatchingPlayers()
94
		remove victim from {_list::*}
95
		finishMatch(getSinglePlayer({_list::*}), victim, "O")
96
	else if {game.moveable} is false:
97
		cancel event
98
	else if {game.harmable} is false:
99
		heal victim
100
	else:
101
		if damage cause is projectile:
102
			set damage to damage * 0.3
103
		else if damage cause is attack:
104
			set damage to damage * 0.6
105
		else:
106
			cancel event
107
108
on death:
109
	if {game.isMatching::%victim%} is true:
110
		heal victim
111
		set {_list::*} to getMatchingPlayers()
112
		remove victim from {_list::*}
113
		finishMatch(getSinglePlayer({_list::*}), victim, "O")
114
115
on quit:
116
	set the quit message to "{@SYSTEM_PREFIX}&6%player%&7が退出しました"
117
	if {game.joiners::*} contains player:
118
		if {game.isStarted} is true:
119
			remove player from {game.joiners::*}
120
			if {game.isMatching::%player%} is true:
121
				set {_list::*} to getMatchingPlayers()
122
				remove player from {_list::*}
123
				finishMatch(getSinglePlayer({_list::*}), player, "O")
124
			loop {game.result::%player%::*}:
125
				set {game.result::%player%::%loop-index%} to "LOSE"
126
				set {game.result::%loop-index%::%player%} to "WIN"
127
128
on join:
129
	set the join message to "{@SYSTEM_PREFIX}&6%player%&7がサーバーに参加しました"
130
	if {stats.rate::%uuid of player%} is not set:
131
		set {stats.rate::%uuid of player%} to 5000
132
	if {stats.playedTimes::%uuid of player%} is not set:
133
		set {stats.playedTimes::%uuid of player%} to 0
134
	clear player's inventory
135
	set slot 4 of player to 1 of slimeball named "&a参加する"
136
137
on chat:
138
	cancel event
139
	broadcast "&e%player%&f》 %message%"
140
141
on rightclick:
142
	if tool of player is nether star named "&e総当たり表を確認する":
143
		if {game.joiners::*} contains player:
144
			openTable(player, 1, 1)
145
		else:
146
			message "{@GAME_PREFIX}&cそのアイテムは参加者以外は使えません"
147
	else if tool of player is slimeball:
148
		make player execute command "join"
149
150
function getSinglePlayer(p: players) :: player:
151
	loop {_p::*}:
152
		if loop-value is set:
153
			return loop-value
154
155
function openTable(player: player, pageX: integer, pageY: integer):
156
	open chest with {@CHEST_ROWS} rows named "総当たり表(%{_pageX}%, %{_pageY}%)" to {_player}
157
	wait a tick
158
	set {_a} to 0
159
	loop {game.firstJoiners::*}:
160
		add 1 to {_a}
161
		if floor(({_a} - 1) / 6) + 1 is {_pageX}:
162
			set {_slot} to mod(({_a} - 1), 6) + 2
163
			format slot {_slot} of {_player} with skull of loop-value named "&c%loop-value%" with lore "&f" and "&7レート: &a%{stats.rate::%uuid of loop-value%}%" to be unstealable
164
		if floor(({_a} - 1) / ({@CHEST_ROWS} - 1)) + 1 is {_pageY}:
165
			set {_slot} to ((mod(({_a} - 1), ({@CHEST_ROWS} - 1)) + 1) * 9) + 1
166
			format slot {_slot} of {_player} with skull of loop-value named "&e%loop-value%" with lore "&f" and "&7レート: &a%{stats.rate::%uuid of loop-value%}%" to be unstealable
167
			set {_b} to 0
168
			loop {game.firstJoiners::*}:
169
				add 1 to {_b}
170
				set {_value2} to loop-value-2
171
				set {_value1} to loop-value-1
172
				if floor(({_b} - 1) / 6) + 1 is {_pageX}:
173
					set {_slot} to (mod({_a} - 1, {@CHEST_ROWS} - 1) + 1) * 9 + 2 + mod({_b} - 1, 6)
174
					#broadcast "1: %loop-value-1% 2: %loop-value-2% slot: %{_slot}%"
175
					if loop-value-1 is not loop-value-2:
176
						if {game.result::%loop-value-1%::%loop-value-2%} is "WIN":
177
							format slot {_slot} of {_player} with 1 of white stained glass pane named "&e%loop-value-1%" with lore "&f" and "&f&l勝利" to be unstealable
178
						else if {game.result::%loop-value-1%::%loop-value-2%} is "LOSE":
179
							format slot {_slot} of {_player} with 1 of black stained glass pane named "&e%loop-value-1%" with lore "&f" and "&0&l敗北" to be unstealable
180
						else if {game.result::%loop-value-1%::%loop-value-2%} is "DRAW":
181
							format slot {_slot} of {_player} with 1 of light gray stained glass pane named "&e%loop-value-1%" with lore "&f" and "&7&l引き分け" to be unstealable
182
						else if {game.result::%loop-value-1%::%loop-value-2%} is "NONE":
183
							format slot {_slot} of {_player} with 1 of glass pane named "&e%loop-value-1%" with lore "&f" and "&7&lまだ試合が行われていません" to be unstealable
184
						else:
185
							format slot {_slot} of {_player} with 1 of barrier named "&c" to be unstealable
186
					else:
187
						format slot {_slot} of {_player} with 1 of barrier named "&c" to be unstealable
188
	if {_pageY} > 1:
189
		format slot 0 of {_player} with 1 arrow named "&e上ページへ行く" to run "oi %{_player}% %{_pageX}% %{_pageY} - 1%"
190
	if {_pageX} > 1:
191
		format slot 27 of {_player} with 1 arrow named "&e左ページへ行く" to run "oi %{_player}% %{_pageX} - 1% %{_pageY}%"
192
	if {_pageY} < floor((size of {game.firstJoiners::*} - 1) / ({@CHEST_ROWS} - 1)) + 1:
193
		format slot 53 of {_player} with 1 arrow named "&e下ページへ行く" to run "oi %{_player}% %{_pageX}% %{_pageY} + 1%"
194
	if {_pageX} < floor((size of {game.firstJoiners::*} - 1) / 6) + 1:
195
		format slot 26 of {_player} with 1 arrow named "&e右ページへ行く" to run "oi %{_player}% %{_pageX} + 1% %{_pageY}%"
196
197
function gameLoop():
198
	set {_isGameFinished} to true
199
	loop {game.joiners::*}:
200
		if {game.result::%loop-value%::*} contains "NONE":
201
			set {_isGameFinished} to false
202
			exit a loop
203
	if {_isGameFinished} is true:
204
		wait 1 second
205
		finishGame()
206
	else:
207
		makeMatch()
208
209
function finishGame():
210
	message "{@GAME_PREFIX}&7すべての試合が終了しました" to {game.joiners::*}
211
	play sound "ENTITY_ENDERDRAGON_AMBIENT" to {game.joiners::*} with volume 1 and pitch 7
212
	clear {_data::*}
213
	loop {game.firstJoiners::*}:
214
		set {_wins} to 0
215
		set {_loses} to 0
216
		loop {game.result::%loop-value%::*}:
217
			if loop-value-2 is "WIN":
218
				add 1 to {_wins}
219
			else if loop-value-2 is "LOSE":
220
				add 1 to {_loses}
221
		set {_data::%loop-value%::wins} to {_wins}
222
		set {_data::%loop-value%::loses} to {_loses}
223
	loop {game.firstJoiners::*}:
224
		set {_point} to {_data::%loop-value%::wins} - {_data::%loop-value%::loses}
225
		broadcast "%loop-value% : %{_point}%"
226
		set {_place} to 1
227
		loop {game.firstJoiners::*}:
228
			set {_comparedPoint} to {_data::%loop-value-2%::wins} - {_data::%loop-value-2%::loses}
229
			if {_point} < {_comparedPoint}:
230
				add 1 to {_place}
231
		set {_data::%loop-value%::place} to {_place}
232
	loop {game.joiners::*}:
233
		send loop-value title "&a---- GAME END ----" with subtitle "&eあなたは &6&l##%{_data::%loop-value%::place}%&eでした" for 3 seconds
234
	message "&7----------------------------" to {game.joiners::*}
235
	message "&f" to {game.joiners::*}
236
	message "{@GAME_PREFIX}&a&l最終結果" to {game.joiners::*}
237
	message "&f" to {game.joiners::*}
238
	set {_number} to 1
239
	loop size of {game.firstJoiners::*} times:
240
		loop {game.firstJoiners::*}:
241
			if {_number} is {_data::%loop-value-2%::place}:
242
				message "{@GAME_PREFIX}&e&l##%{_number}% &6%loop-value-2% &7(&f%{_data::%loop-value-2%::wins}%&7勝 &0%{_data::%loop-value-2%::loses}%&7敗)" to {game.joiners::*}
243
		add 1 to {_number}
244
	message "&f" to {game.joiners::*}
245
	message "&7----------------------------" to {game.joiners::*}
246
	if {game.mode} is "RANKED":
247
		message "&7----------------------------" to {game.joiners::*}
248
		message "&f" to {game.joiners::*}
249
		message "{@GAME_PREFIX}&a&lレート変動" to {game.joiners::*}
250
		message "&f" to {game.joiners::*}
251
		loop {game.firstJoiners::*}:
252
			if {game.totalRateChange::%loop-value%} < 0:
253
				message "{@GAME_PREFIX}&6%loop-value% &e%{stats.rate::%uuid of loop-value%}% &f> &c%{game.totalRateChange::%loop-value%}% &f> &4&l%{stats.rate::%uuid of loop-value%} + {game.totalRateChange::%loop-value%}%" to {game.joiners::*}
254
			else if {game.totalRateChange::%loop-value%} > 0:
255
				message "{@GAME_PREFIX}&6%loop-value% &e%{stats.rate::%uuid of loop-value%}% &f> &b+%{game.totalRateChange::%loop-value%}% &f> &9&l%{stats.rate::%uuid of loop-value%} + {game.totalRateChange::%loop-value%}%" to {game.joiners::*}
256
			else:
257
				message "{@GAME_PREFIX}&6%loop-value% &e%{stats.rate::%uuid of loop-value%}% &f> &a±0 &f> &f&l%{stats.rate::%uuid of loop-value%} + {game.totalRateChange::%loop-value%}%" to {game.joiners::*}
258
			add {game.totalRateChange::%loop-value%} to {stats.rate::%uuid of loop-value%}
259
			add 1 to {stats.playedTimes::%uuid of loop-value%}
260
		message "&f" to {game.joiners::*}
261
		message "&7----------------------------" to {game.joiners::*}
262
	command "sumoadm stop"
263
264
function makeMatch():
265
	set {_a} to random element out of {game.joiners::*}
266
	while {game.result::%{_a}%::*} doesn't contain "NONE":
267
		set {_a} to random element out of {game.joiners::*}
268
	while 1 is 1:
269
		if {_a} is not {_b}:
270
			if {game.result::%{_b}%::%{_a}%} is "NONE":
271
				exit a loop
272
			else:
273
				set {_b} to random element out of {game.joiners::*}
274
		else:
275
			set {_b} to random element out of {game.joiners::*}
276
	loop random integer between 5 and 20 times:
277
		play sound "ENTITY_EXPERIENCE_ORB_PICKUP" to {game.joiners::*} with volume 1 and pitch 8
278
		send {game.joiners::*} title "&e%random element out of {game.joiners::*}% &8> vs < &e%random element out of {game.joiners::*}%" with subtitle "&7抽選中です..." for 2 seconds
279
		wait 4 ticks
280
	set {_list::*} to {game.joiners::*}
281
	remove {_a} and {_b} from {_list::*}
282
	play sound "ENTITY_PLAYER_LEVELUP" to {game.joiners::*} with volume 1 and pitch 1
283
	send {_a} title "&6&l%{_a}% &8> vs < &e%{_b}%" with subtitle "&a試合に出場します" for 4 seconds
284
	message "{@GAME_PREFIX}&6&l%{_a}% &8> vs < &e%{_b}%" to {_a}
285
	send {_b} title "&e%{_a}% &8> vs < &6&l%{_b}%" with subtitle "&a試合に出場します" for 4 seconds
286
	message "{@GAME_PREFIX}&e%{_a}% &8> vs < &6&l%{_b}%" to {_b}
287
	send {_list::*} title "&e%{_a}% &8> vs < &e%{_b}%" with subtitle "&7試合を観戦します" for 4 seconds
288
	message "{@GAME_PREFIX}&e%{_a}% &8> vs < &e%{_b}%" to {_list::*}
289
	wait 3 seconds
290
	startMatch({_a}, {_b})
291
292
function changeTablist(p: player):
293
	set {_u} to uuid of {_p}
294
	set tablist name of {_p} to "&7[%{stats.rate::%{_u}%}%]"
295
296
function startMatch(a: player, b: player):
297
	set {game.isMatching::%{_a}%} to true
298
	set {game.isMatching::%{_b}%} to true
299
	set {game.matching} to false
300
	set {game.harmable} to false
301
	set {game.moveable} to false
302
	set {game.stopMatch} to false
303
	set {game.matchTime} to 0
304
	teleport {_a} to {stage.standPoint::A}
305
	teleport {_b} to {stage.standPoint::B}
306
	clear inventory of getMatchingPlayers()
307
	set {_str} to "%random number between 0.9 and 4.0% seconds"
308
	set {_wait} to {_str} parsed as time span
309
	send getMatchingPlayers() title "&8---- &8&lREADY &8----" with subtitle "&f" for {_wait}
310
	wait {_wait}
311
	send getMatchingPlayers() title "&8---! &6&lFIGHT &8!---" with subtitle "&f" for {_wait}
312
	set {game.moveable} to true
313
	loop {@MATCH_TIME} times:
314
		wait 1 second
315
		add 1 to {game.matchTime}
316
		if {game.matchTime} is {@STICK_TIME}:
317
			giveStick()
318
		else if {game.matchTime} is {@SHOWDOWN_TIME}:
319
			showDown()
320
		else if {game.matchTime} is {@DEATHMATCH_TIME}:
321
			deathMatch()
322
		if {game.stopMatch} is true:
323
			stop
324
	finishMatch({_a}, {_b}, "X")
325
326
function giveStick():
327
	give stick of sharpness 2 and knockback 1 named "&6タオルの腕" to be unbreakable to getMatchingPlayers()
328
329
function showDown():
330
	send {game.joiners::*} title "&8--!! &c&lSHOWDOWN &8!!--" with subtitle "&7弓矢が使用可能になった" for 2 seconds
331
	message "{@GAME_PREFIX}&cショーダウン!!" to {game.joiners::*}
332
	give bow of infinity 1 and punch 1 named "&6タオルの胸" to be unbreakable to getMatchingPlayers()
333
	give arrow named "&7タオルの脚" to getMatchingPlayers()
334
335
function deathMatch():
336
	send {game.joiners::*} title "&8-!!! &4&lDEATHMATCH &8!!!-" with subtitle "&7ダメージを受けるようになった" for 2 seconds
337
	message "{@GAME_PREFIX}&4デスマッチ!!!" to {game.joiners::*}
338
	set {game.harmable} to true
339
340
function finishMatch(winner: player, loser: player, xo: text):
341
	if {_xo} is "X":
342
		send {game.joiners::*} title "&8--- &a&lDRAW &8---" with subtitle "&7時間切れ" for 4 seconds
343
		set {game.result::%{_winner}%::%{_loser}%} to "DRAW"
344
		set {game.result::%{_loser}%::%{_winner}%} to "DRAW"
345
	else if {_xo} is "O":
346
		send {game.joiners::*} title "&8--- &7WINNER: &6&l%{_winner}% &8---" with subtitle "&7試合時間: &6%{game.matchTime}%&7秒" for 4 seconds
347
		message "{@SYSTEM_PREFIX}&6%{_winner}% &e》 勝利 》 &8%{_loser}%" to {game.joiners::*}
348
		set {_UUIDOfWinner} to uuid of {_winner}
349
		set {_UUIDOfLoser} to uuid of {_loser}
350
		set {game.result::%{_winner}%::%{_loser}%} to "WIN"
351
		set {game.result::%{_loser}%::%{_winner}%} to "LOSE"
352
		add 1 to {stats.aganist::%{_UUIDOfLoserWinner}%::%{_UUIDOfLoser}%::wins}
353
		add 1 to {stats.aganist::%{_UUIDOfLoser}%::%{_UUIDOfLoserWinner}%::loses}
354
		if {game.mode} is "RANKED":
355
			set {_x} to {stats.rate::%{_UUIDOfWinner}%} - {stats.rate::%{_UUIDOfLoser}%}
356
			add getRateChange({_x}) * 1 to {game.totalRateChange::%{_winner}%}
357
			add getRateChange({_x}) * -1 to {game.totalRateChange::%{_loser}%}
358
	set {game.matching} to false
359
	set {game.moveable} to false
360
	set {game.harmable} to false
361
	set {game.stopMatch} to true
362
	loop getMatchingPlayers():
363
		heal loop-value
364
		clear loop-value's inventory
365
		set slot 4 of loop-value to nether star named "&e総当たり表を確認する"
366
		teleport loop-value to {stage.waitingPoint}
367
		set {game.isMatching::%loop-value%} to false
368
	wait 1.5 seconds
369
	gameLoop()
370
371
function getMatchingPlayers() :: players:
372
	clear {_temp::*}
373
	loop {game.joiners::*}:
374
		if {game.isMatching::%loop-value%} is true:
375
			add loop-value to {_temp::*}
376
	return {_temp::*}
377
378
function getRateChange(val: number) :: integer:
379
	if {_val} > 6590:
380
		return 0
381
	else if {_val} > 4999:
382
		return 1
383
	else if {_val} > 3963:
384
		return 2
385
	else if {_val} > 3233:
386
		return 3
387
	else if {_val} > 2671:
388
		return 4
389
	else if {_val} > 2212:
390
		return 5
391
	else if {_val} > 1819:
392
		return 6
393
	else if {_val} > 1476:
394
		return 7
395
	else if {_val} > 1168:
396
		return 8
397
	else if {_val} > 889:
398
		return 9
399
	else if {_val} > 633:
400
		return 10
401
	else if {_val} > 395:
402
		return 11
403
	else if {_val} > 174:
404
		return 12
405
	else if {_val} > -34:
406
		return 13
407
	else if {_val} > -231:
408
		return 14
409
	else if {_val} > -418:
410
		return 15
411
	else if {_val} > -596:
412
		return 16
413
	else if {_val} > -767:
414
		return 17
415
	else if {_val} > -931:
416
		return 18
417
	else if {_val} > -1090:
418
		return 19
419
	else if {_val} > -1243:
420
		return 20
421
	else if {_val} > -1392:
422
		return 21
423
	else if {_val} > -1536:
424
		return 22
425
	else if {_val} > -1676:
426
		return 23
427
	else if {_val} > -1813:
428
		return 24
429
	else if {_val} > -1946:
430
		return 25
431
	else if {_val} > -2076:
432
		return 26
433
	else if {_val} > -2203:
434
		return 27
435
	else if {_val} > -2329:
436
		return 28
437
	else if {_val} > -2450:
438
		return 29
439
	else if {_val} > -2569:
440
		return 30
441
	else if {_val} > -2687:
442
		return 31
443
	else if {_val} > -2803:
444
		return 32
445
	else if {_val} > -2915:
446
		return 33
447
	else if {_val} > -3027:
448
		return 34
449
	else if {_val} > -3136:
450
		return 35
451
	else if {_val} > -3245:
452
		return 36
453
	else if {_val} > -3353:
454
		return 37
455
	else if {_val} > -3456:
456
		return 38
457
	else if {_val} > -3557:
458
		return 39
459
	else if {_val} > -3682:
460
		return 40
461
	else if {_val} > -3760:
462
		return 41
463
	else if {_val} > -3861:
464
		return 42
465
	else if {_val} > -3959:
466
		return 43
467
	else if {_val} > -4055:
468
		return 44
469
	else if {_val} > -4150:
470
		return 45
471
	else if {_val} > -4252:
472
		return 46
473
	else if {_val} > -4344:
474
		return 47
475
	else if {_val} > -4443:
476
		return 48
477
	else if {_val} > -4525:
478
		return 49
479
	else if {_val} > -4608:
480
		return 50 
481
	else if {_val} > -4697:
482
		return 51
483
	else if {_val} > -4804:
484
		return 52
485
	else if {_val} > -4895:
486
		return 53
487
	else if {_val} > -4958:
488
		return 54
489
	else if {_val} > -5050:
490
		return 55
491
	else if {_val} > -5133:
492
		return 56
493
	else if {_val} > -5252:
494
		return 57
495
	else if {_val} > -5301:
496
		return 58
497
	else if {_val} > -5419:
498
		return 59
499
	else if {_val} > -5487:
500
		return 60
501
	else if {_val} > -5551:
502
		return 61
503
	else if {_val} > -5641:
504
		return 62
505
	else if {_val} > -5723:
506
		return 63
507
	else if {_val} > -5793:
508
		return 64
509
	else if {_val} > -5882:
510
		return 65
511
	else if {_val} > -5966:
512
		return 66
513
	else if {_val} > -6046:
514
		return 67
515
	else if {_val} > -6117:
516
		return 68
517
	else if {_val} > -6208:
518
		return 69
519
	else if {_val} > -6299:
520
		return 70
521
	else if {_val} > -6341:
522
		return 71
523
	else if {_val} > -6420:
524
		return 72
525
	else if {_val} > -6504:
526
		return 73
527
	else if {_val} > -6596:
528
		return 74
529
	else if {_val} > -6691:
530
		return 75
531
	else if {_val} > -6728:
532
		return 76
533
	else if {_val} > -6834:
534
		return 77
535
	else if {_val} > -6912:
536
		return 78
537
	else if {_val} > -7017:
538
		return 79
539
	else if {_val} > -7066:
540
		return 80
541
	else if {_val} > -7204:
542
		return 81
543
	else if {_val} > -7286:
544
		return 82
545
	else if {_val} > -7324:
546
		return 83
547
	else if {_val} > -7427:
548
		return 84
549
	else if {_val} > -7495:
550
		return 85
551
	else if {_val} > -7534:
552
		return 86
553
	else if {_val} > -7631:
554
		return 87
555
	else if {_val} > -7708:
556
		return 88
557
	else if {_val} > -7784:
558
		return 89
559
	else if {_val} > -7834:
560
		return 90
561
	else if {_val} > -8011:
562
		return 91
563
	else if {_val} > -8109:
564
		return 92
565
	else if {_val} > -8133:
566
		return 93
567
	else if {_val} > -8216:
568
		return 94
569
	else if {_val} > -8275:
570
		return 95
571
	else if {_val} > -8411:
572
		return 96
573
	else if {_val} > -8505:
574
		return 97
575
	else if {_val} > -8615:
576
		return 98
577
	else if {_val} > -8764:
578
		return 99
579
	else if {_val} > -8844:
580
		return 100
581
	else if {_val} > -8936:
582
		return 101
583
	else if {_val} > -9054:
584
		return 102
585
	else if {_val} > -9144:
586
		return 103
587
	else if {_val} > -9240:
588
		return 104
589
	else if {_val} > -9349:
590
		return 105
591
	else if {_val} > -9472:
592
		return 106
593
	else if {_val} > -9582:
594
		return 107
595
	else if {_val} > -9693:
596
		return 108
597
	else if {_val} > -9845:
598
		return 109
599
	else if {_val} > -9959:
600
		return 110
601
	else:
602
		return 111