Additional functionality rs2scripts. (#2957)

Co-authored-by: Your Name <you@example.com>
This commit is contained in:
ReeeMan
2021-03-01 15:57:46 +00:00
committed by GitHub
parent 2f2d09d31a
commit 94212d6d9c
4 changed files with 1119 additions and 0 deletions

View File

@@ -0,0 +1 @@
F4729C2DE16BB31A779316E5D5080A9B5E6871C752BB4534863E0790D5F35154

View File

@@ -0,0 +1,870 @@
.id 2611
.int_stack_count 11
.string_stack_count 2
.int_var_count 30
.string_var_count 2
sconst "startSpellRedraw"
runelite_callback
iconst 190
istore 11
iconst 261
istore 12
iconst 0
istore 13
iload 10
iconst 1
if_icmpeq LABEL10
jump LABEL76
LABEL10:
iconst 6
iconst 240
iconst 1
iconst 0
iload 3
if_setsize
iconst 190
iconst 6
sub
iconst 240
istore 12
istore 11
iconst 0
iconst 0
iconst 1
iconst 0
iload 3
if_setposition
iconst 0
iload 4
if_sethide
sload 0
iconst 190
iconst 494
parawidth
sload 1
iconst 190
iconst 494
parawidth
invoke 1045
iconst 14
add
istore 13
iload 13
iconst 0
iconst 0
iconst 1
iload 5
if_setsize
iload 13
iconst 0
iconst 0
iconst 1
iload 6
if_setsize
iconst 190
iload 13
iconst 2
multiply
sub
iconst 3
div
istore 13
iload 13
iconst 0
iconst 0
iconst 1
iload 5
if_setposition
iload 13
iconst 0
iconst 2
iconst 1
iload 6
if_setposition
jump LABEL147
LABEL76:
get_varbit 6718
iconst 1
if_icmpeq LABEL80
jump LABEL109
LABEL80:
iconst 0
iconst 0
iconst 1
iconst 1
iload 3
if_setsize
iconst 0
iconst 0
iconst 1
iconst 1
iload 3
if_setposition
iconst 1
iload 4
if_sethide
iconst -1
iload 10
iload 5
iload 6
iload 0
iload 1
iload 7
iload 8
iload 9
iload 2
sload 0
sload 1
invoke 2603
jump LABEL147
LABEL109:
iconst 6
iconst 240
iconst 1
iconst 0
iload 3
if_setsize
iconst 190
iconst 6
sub
iconst 240
istore 12
istore 11
iconst 0
iconst 0
iconst 1
iconst 0
iload 3
if_setposition
iconst 0
iload 4
if_sethide
sload 1
iconst 190
iconst 494
parawidth
iconst 14
add
iconst 0
iconst 0
iconst 1
iload 6
if_setsize
iconst 0
iconst 0
iconst 1
iconst 1
iload 6
if_setposition
LABEL147:
iload 0
cc_deleteall
iload 1
cc_deleteall
iload 2
cc_deleteall
iconst 105
iconst 103
iconst 1981
get_varbit 4070
enum
istore 14
iload 14
iconst 1982
if_icmpne LABEL163
jump LABEL165
LABEL163:
iconst 1982
invoke 2618
LABEL165:
iload 14
iconst 1983
if_icmpne LABEL169
jump LABEL171
LABEL169:
iconst 1983
invoke 2618
LABEL171:
iload 14
iconst 1984
if_icmpne LABEL175
jump LABEL177
LABEL175:
iconst 1984
invoke 2618
LABEL177:
iload 14
iconst 1985
if_icmpne LABEL181
jump LABEL183
LABEL181:
iconst 1985
invoke 2618
LABEL183:
iload 14
iconst -1
if_icmpeq LABEL187
jump LABEL188
LABEL187:
return
LABEL188:
iload 14
enum_getoutputcount
istore 15
iload 15
define_array 105
iconst 0
istore 16
iconst -1
istore 17
iconst 0
istore 18
iload 10
iconst 0
if_icmpeq LABEL203
jump LABEL242
LABEL203:
get_varbit 6718
iconst 1
if_icmpeq LABEL207
jump LABEL242
LABEL207:
iload 18
iload 15
if_icmplt LABEL211
jump LABEL241
LABEL211:
iconst 105
iconst 111
iload 14
iload 18
enum
istore 17
invoke 3160
iconst 1
if_icmpeq LABEL221
jump LABEL224
LABEL221:
iload 17
invoke 3159
istore 17
LABEL224:
iconst 0
iload 17
iconst 596
oc_param
if_sethide
iload 16
iload 18
set_array_int
iload 16
iconst 1
add
istore 16
iload 18
iconst 1
add
istore 18
jump LABEL207
LABEL241:
jump LABEL287
LABEL242:
iload 18
iload 15
if_icmplt LABEL246
jump LABEL287
LABEL246:
iconst 105
iconst 111
iload 14
iload 18
enum
istore 17
invoke 3160
iconst 1
if_icmpeq LABEL256
jump LABEL259
LABEL256:
iload 17
invoke 3159
istore 17
LABEL259:
iload 17
invoke 2619
iconst 1
if_icmpeq FILTER_SPELL
jump LABEL277
FILTER_SPELL:
iconst 1 ; boolean the callback modifies
iload 17
iconst 596 ; widgetID, to populate config
oc_param
iload 17
iconst 601 ; spell_name
oc_param ; look up from object composition
sconst "shouldFilterSpell"
runelite_callback
pop_string ; pop the name
pop_int ; and the widgetID
iconst 1 ; default true, so the script still functions without plugin on
if_icmpeq LABEL264
jump LABEL277
LABEL264:
iconst 0
iload 17
iconst 596
oc_param
if_sethide
iload 16
iload 18
set_array_int
iload 16
iconst 1
add
istore 16
jump LABEL282
LABEL277:
iconst 1
iload 17
iconst 596
oc_param
if_sethide
LABEL282:
iload 18
iconst 1
add
istore 18
jump LABEL242
LABEL287:
iload 16
iconst 2
if_icmpge LABEL291
jump LABEL299
LABEL291:
iconst 0
iconst 0
iload 16
iconst 1
sub
iload 14
invoke 2621
jump LABEL330
LABEL299:
iload 16
iconst 0
if_icmple LABEL303
jump LABEL330
LABEL303:
iload 0
iconst 4
iconst 0
cc_create
iconst 0
iconst 0
iconst 1
iconst 1
cc_setsize
iconst 0
iconst 0
iconst 1
iconst 1
cc_setposition
iconst 16750623
cc_setcolour
iconst 495
cc_settextfont
iconst 1
cc_settextshadow
iconst 1
iconst 1
iconst 0
cc_settextalign
sconst "No spells match your selected filters."
cc_settext
return
LABEL330:
iconst 24
istore 19
iconst 0
istore 20
iconst 0
istore 21
iconst 0
istore 22
iconst 0
istore 23
iload 12
istore 24
iconst 0
sconst "isMobileSpellbookEnabled"
runelite_callback
iconst 1
if_icmpeq LABEL346
jump LABEL436
LABEL346:
iload 16
iconst 15
if_icmple LABEL350
jump LABEL355
LABEL350:
iconst 40
iconst 3
sconst "resizeSpell"
runelite_callback
istore 20
istore 19
jump LABEL374
LABEL355:
iload 16
iconst 20
if_icmple LABEL359
jump LABEL364
LABEL359:
iconst 40
iconst 4
istore 20
istore 19
jump LABEL374
LABEL364:
iconst 4
iconst 7
iload 16
iconst 8
add
iconst 9
div
invoke 1046
invoke 1045
istore 20
LABEL374:
iconst 0
iconst 5
iconst 7
iload 19
scale
iload 11
iload 19
iload 20
multiply
sub
iload 20
iconst 1
sub
div
invoke 1046
invoke 1045
istore 23
iconst 1
iload 16
iload 20
iconst 1
sub
add
iload 20
div
invoke 1045
istore 21
iload 21
iconst 2
if_icmpge LABEL405
jump LABEL419
LABEL405:
iconst 0
iload 23
iload 12
iload 19
iload 21
multiply
sub
iload 21
iconst 1
sub
div
invoke 1046
invoke 1045
istore 22
LABEL419:
iload 21
iload 19
multiply
iload 21
iconst 1
sub
iload 22
multiply
add
istore 24
iconst 0
iconst 0
iconst 1
iconst 1
iload 0
if_setposition
jump LABEL591
LABEL436:
get_varbit 6718
iconst 1
if_icmpeq LABEL440
jump LABEL512
LABEL440:
get_varbit 4070
switch
1: LABEL457
2: LABEL472
3: LABEL487
iconst 7
iconst 10
iconst 0
iconst 0
istore 22
istore 23
istore 21
istore 20
iconst 1
iconst 15
iconst 1
iconst 0
iload 0
if_setposition
jump LABEL501
LABEL457:
iconst 4
iconst 7
iconst 20
iconst 4
istore 22
istore 23
istore 21
istore 20
iconst 2
iconst 8
iconst 1
iconst 0
iload 0
if_setposition
jump LABEL501
LABEL472:
iconst 6
iconst 8
iconst 6
iconst 5
istore 22
istore 23
istore 21
istore 20
iconst 0
iconst 8
iconst 1
iconst 0
iload 0
if_setposition
jump LABEL501
LABEL487:
iconst 4
iconst 9
iconst 21
iconst 5
istore 22
istore 23
istore 21
istore 20
iconst 0
iconst 3
iconst 1
iconst 0
iload 0
if_setposition
LABEL501:
iload 21
iload 19
multiply
iload 21
iconst 1
sub
iload 22
multiply
add
istore 24
jump LABEL591
LABEL512:
iload 16
iconst 28
if_icmple LABEL516
jump LABEL519
LABEL516:
iconst 4
istore 20
jump LABEL529
LABEL519:
iconst 4
iconst 7
iload 16
iconst 8
add
iconst 9
div
invoke 1046
invoke 1045
istore 20
LABEL529:
iconst 0
iload 19
iload 11
iload 19
iload 20
multiply
sub
iload 20
iconst 1
sub
div
invoke 1046
invoke 1045
istore 23
iconst 1
iload 16
iload 20
iconst 1
sub
add
iload 20
div
invoke 1045
istore 21
iload 21
iconst 2
if_icmpge LABEL557
jump LABEL571
LABEL557:
iconst 0
iload 23
iload 12
iload 19
iload 21
multiply
sub
iload 21
iconst 1
sub
div
invoke 1046
invoke 1045
istore 22
LABEL571:
iload 21
iload 19
multiply
iload 21
iconst 1
sub
iload 22
multiply
add
iload 12
iconst 30
sub
invoke 1045
istore 24
iconst 0
iconst 0
iconst 1
iconst 1
iload 0
if_setposition
LABEL591:
iload 20
iload 19
multiply
iload 20
iconst 1
sub
iload 23
multiply
add ; start of the label until here calcs total width
iload 24 ; total height
sconst "setSpellAreaSize"
runelite_callback
iconst 0
iconst 0
iload 0
if_setsize
iconst -1
istore 25
iload 19
iload 23
add
istore 26
iload 19
iload 22
add
istore 27
iconst 0
istore 28
iconst 0
istore 29
iconst 0
istore 18
LABEL621:
iload 18
iload 16
if_icmplt LABEL625
jump LABEL762
LABEL625:
iconst 105
iconst 111
iload 14
iload 18
get_array_int
enum
istore 17
invoke 3160
iconst 1
if_icmpeq LABEL636
jump LABEL639
LABEL636:
iload 17
invoke 3159
istore 17
LABEL639:
iload 17
iconst 596
oc_param
istore 25
iload 19
iload 19
iload 25
sconst "resizeIndividualSpells"
runelite_callback
pop_int
iconst 0
iconst 0
iload 25
if_setsize
iload 18
iload 20
mod
iload 26
multiply
iload 18
iload 20
div
iload 27
multiply
istore 29
istore 28
iload 28
iload 29
iconst 0
iconst 0
iload 25
sconst "setSpellPosition"
runelite_callback
if_setposition
iload 17
iload 25
invoke 2614
iconst 1
if_icmpeq LABEL673
jump LABEL689
LABEL673:
iload 19
iconst 40
if_icmpge LABEL677
jump LABEL683
LABEL677:
iload 17
iconst 599
oc_param
iload 25
if_setgraphic
jump LABEL688
LABEL683:
iload 17
iconst 597
oc_param
iload 25
if_setgraphic
LABEL688:
jump LABEL704
LABEL689:
iload 19
iconst 40
if_icmpge LABEL693
jump LABEL699
LABEL693:
iload 17
iconst 600
oc_param
iload 25
if_setgraphic
jump LABEL704
LABEL699:
iload 17
iconst 598
oc_param
iload 25
if_setgraphic
LABEL704:
iload 25
invoke 2615
iload 10
iconst 1
if_icmpeq LABEL710
jump LABEL737
LABEL710:
iload 1
iconst 5
iload 18
cc_create
iload 19
iload 19
iconst 0
iconst 0
cc_setsize
iload 28
iload 29
iconst 0
iconst 0
cc_setposition
iload 17
iconst 1
cc_setobject
iconst 255
cc_settrans
iconst 2612
iload 17
iload 1
iload 2
iload 12
sconst "oIIi"
cc_setonclick
jump LABEL757
LABEL737:
iconst 2622
iconst 1
iload 17
iconst -2147483645
iconst -1
iload 2
iload 12
sconst "1oIiIi"
iload 25
if_setonmouserepeat
iconst 2622
iconst 0
iload 17
iconst -2147483645
iconst -1
iload 2
iload 12
sconst "1oIiIi"
iload 25
if_setonmouseleave
LABEL757:
iload 18
iconst 1
add
istore 18
jump LABEL621
LABEL762:
return

View File

@@ -0,0 +1 @@
1EDA8CA79506CC62A192A844B88AC924BAD3060D9E32150C43458E135908329B

View File

@@ -0,0 +1,247 @@
.id 187
.int_stack_count 1
.string_stack_count 0
.int_var_count 5
.string_var_count 1
iconst 0
istore 1
map_members
iconst 1
if_icmpeq LABEL9
get_varbit 5314
iconst 1
if_icmpeq LABEL9
jump LABEL14
LABEL9:
iconst 94
iconst 3
inv_getobj
invoke 3648
istore 1
LABEL14:
iload 1
iconst 0
if_icmple LABEL18
jump LABEL28
LABEL18:
iconst 1 ; What we compare the boolean with
iconst 0 ; Boolean
sconst "drawSpecbarAnyway"
runelite_callback
if_icmpeq LABEL38
iconst 1
iconst 38862883
if_sethide
iconst 190
iconst 28
iconst 0
iconst 0
iconst 38862850
if_setsize
return
LABEL28:
invoke 1972
iconst 1
if_icmpeq LABEL32
jump LABEL38
LABEL32:
iconst 190
iconst 16
iconst 0
iconst 0
iconst 38862850
if_setsize
LABEL38:
iconst 0
istore 2
iconst 38862883
if_gethide
iconst 1
if_icmpeq LABEL45
jump LABEL47
LABEL45:
iconst 1
istore 2
LABEL47:
iconst 0
iconst 38862883
if_sethide
get_varp 301
iconst 0
if_icmpgt LABEL54
jump LABEL58
LABEL54:
iconst 16776960
iconst 38862888
if_setcolour
jump LABEL61
LABEL58:
iconst 16
iconst 38862888
if_setcolour
LABEL61:
get_varp 300
istore 3
iload 3
iconst 0
if_icmplt LABEL67
jump LABEL69
LABEL67:
iconst 0
istore 3
LABEL69:
sconst "Special Attack: "
iload 3
iconst 10
div
tostring
sconst "%"
join_string 3
iconst 38862888
if_settext
iload 0
iload 3
iload 2
invoke 189
iconst 38862884
iconst 0
invoke 835
pop_int ; Specbar is fully built here
iload 1
iconst 0
if_icmple RETURN ; Return if the weapon isn't supposed to have a spec
jump CONTINUE ; Idk why I'm doing it like this but it's the jagex way
RETURN:
return
CONTINUE:
iload 3
iload 1
if_icmpge LABEL86
jump LABEL90
LABEL86:
iconst 3767611
iconst 38862887
if_setcolour
jump LABEL93
LABEL90:
iconst 12907
iconst 38862887
if_setcolour
LABEL93:
iconst 38862884
iconst 0
invoke 835
pop_int
iconst 94
iconst 3
inv_getobj
istore 4
iconst 111
iconst 115
iconst 1739
iload 4
enum
sconst " ("
iload 4
invoke 3648
iconst 10
div
tostring
sconst "%)"
join_string 4
sstore 0
iload 4
switch
22737: LABEL118
22740: LABEL118
22743: LABEL118
22731: LABEL118
22734: LABEL118
jump LABEL126
LABEL118:
iconst 111
iconst 115
iconst 1739
iload 4
enum
sconst " 5-100% "
join_string 2
sstore 0
LABEL126:
get_varbit 5712
iconst 0
if_icmpeq LABEL130
jump LABEL192
LABEL130:
iload 4
iconst 11235
if_icmpeq LABEL146
iload 4
iconst 20408
if_icmpeq LABEL146
iload 4
iconst 12765
if_icmpeq LABEL146
iload 4
iconst 12768
if_icmpeq LABEL146
iload 4
iconst 12767
if_icmpeq LABEL146
jump LABEL176
LABEL146:
iconst 94
iconst 13
inv_getobj
iconst 11212
if_icmpeq LABEL167
iconst 94
iconst 13
inv_getobj
iconst 11227
if_icmpeq LABEL167
iconst 94
iconst 13
inv_getobj
iconst 11228
if_icmpeq LABEL167
iconst 94
iconst 13
inv_getobj
iconst 11229
if_icmpeq LABEL167
jump LABEL176
LABEL167:
sconst "Descent of Dragons: Deal a double attack with dragon arrows that inflicts up to 50% more damage (minimum damage of 8 per hit). ("
iload 4
invoke 3648
iconst 10
div
tostring
sconst "%)"
join_string 3
sstore 0
LABEL176:
iconst 526
iconst -2147483645
iconst -1
iconst 38862890
sload 0
iconst 25
iconst 160
sconst "IiIsii"
iconst 38862883
if_setonmouserepeat
iconst 40
iconst 38862890
sconst "I"
iconst 38862883
if_setonmouseleave
jump LABEL196
LABEL192:
iconst -1
sconst ""
iconst 38862883
if_setonmouserepeat
LABEL196:
return