Files
runelite/runelite-client/src/main/scripts/CommandScript.rs2asm
Adam 1ae01335b4 chat channel: add typing modes
This allows changing the target of typed messages via /f, /c, /g, and
/p. All further messages go to the given target until a new target is
specified.
2021-05-27 21:59:17 -04:00

641 lines
18 KiB
Plaintext

.id 73
.int_stack_count 2
.string_stack_count 0
.int_var_count 8
.string_var_count 0
iconst 10616885
if_gethide
iconst 1
if_icmpeq LABEL9
iconst 10616886
if_gethide
iconst 1
if_icmpeq LABEL9
jump LABEL10
LABEL9:
return
LABEL10:
get_varbit 8119
iconst 0
if_icmpeq LABEL19
iconst -1
iconst 162
invoke 1701
iconst 0
if_icmpeq LABEL19
jump LABEL20
LABEL19:
return
LABEL20:
get_varc_string 335
string_length
istore 2
iconst 0
istore 3
staffmodlevel
iconst 0
if_icmpgt LABEL29
jump LABEL60
LABEL29:
iconst 1
istore 3
sconst "`"
iload 1
string_indexof_char
iconst -1
if_icmpne LABEL37
jump LABEL42
LABEL37:
iload 2
iconst 0
if_icmpeq LABEL41
jump LABEL42
LABEL41:
return
LABEL42:
sconst ":"
iload 1
string_indexof_char
iconst -1
if_icmpne LABEL48
jump LABEL60
LABEL48:
get_varc_string 335
sconst "::"
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL55
jump LABEL60
LABEL55:
iload 2
iconst 2
if_icmpeq LABEL59
jump LABEL60
LABEL59:
return
LABEL60:
iconst 0
istore 4
iconst -1
istore 5
iconst 0
istore 6
iconst -1
istore 7
iload 0
iconst 84
if_icmpeq LABEL72
jump LABEL421
LABEL72:
invoke 1984
iload 2
iconst 0
if_icmpgt LABEL77
jump LABEL420
LABEL77:
iload 3
iconst 1
if_icmpeq LABEL81
jump LABEL148
LABEL81:
sconst "give"
iload 2
invoke 4481
iconst 1
if_icmpeq LABEL87
jump LABEL91
LABEL87:
get_varc_string 335
string_length
istore 2
jump LABEL148
LABEL91:
sconst "set"
iload 2
invoke 4481
iconst 1
if_icmpeq LABEL97
jump LABEL101
LABEL97:
get_varc_string 335
string_length
istore 2
jump LABEL148
LABEL101:
sconst "get"
iload 2
invoke 4481
iconst 1
if_icmpeq LABEL107
jump LABEL111
LABEL107:
get_varc_string 335
string_length
istore 2
jump LABEL148
LABEL111:
sconst "tele"
iload 2
invoke 4481
iconst 1
if_icmpeq LABEL117
jump LABEL121
LABEL117:
get_varc_string 335
string_length
istore 2
jump LABEL148
LABEL121:
sconst "~"
iload 2
invoke 4481
iconst 1
if_icmpeq LABEL127
jump LABEL131
LABEL127:
get_varc_string 335
string_length
istore 2
jump LABEL148
LABEL131:
get_varc_string 335
sconst "::"
iconst 0
string_indexof_string
istore 7
iload 7
iconst 0
if_icmpgt LABEL140
jump LABEL148
LABEL140:
get_varc_string 335
iload 7
iload 2
substring
set_varc_string 335
get_varc_string 335
string_length
istore 2
LABEL148:
get_varc_string 335
sconst "::"
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL155
jump LABEL158
LABEL155:
iconst 1
istore 4
jump LABEL171
LABEL158:
get_varc_int 41
iconst 5
if_icmpeq LABEL162
jump LABEL165
LABEL162:
iconst 41
istore 5
jump LABEL171
LABEL165:
get_varc_int 41
iconst 4
if_icmpeq LABEL169
jump LABEL171
LABEL169:
iconst 9
istore 5
LABEL171:
get_varc_string 335
sconst "///"
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL185
get_varc_string 335
lowercase
sconst "/g "
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL185
jump LABEL190
LABEL185:
iconst 3
iconst 44
istore 5
istore 6
jump LABEL226
LABEL190:
get_varc_string 335
sconst "//"
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL197
jump LABEL202
LABEL197:
iconst 2
iconst 41
istore 5
istore 6
jump LABEL226
LABEL202:
get_varc_string 335
lowercase
sconst "/c "
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL210
jump LABEL215
LABEL210:
iconst 3
iconst 41
istore 5
istore 6
jump LABEL226
LABEL215:
get_varc_string 335
sconst "/"
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL222
jump LABEL226
LABEL222:
iconst 1
iconst 9
istore 5
istore 6
LABEL226:
iload 6 ; prefix length
iload 5 ; chat type
sconst "preChatSendpublic"
runelite_callback
istore 5 ; chat type
istore 6 ; prefix length
get_varc_string 335 ; load input string
string_length ; get length
iconst 0 ; load 0
if_icmpeq LABEL420 ; if (%varcstring355 == 0) jump to script223 call
iload 5
iconst 44
if_icmpeq LABEL230
jump LABEL260
LABEL230:
activeclansettings_find_listened
iconst 1
if_icmpeq LABEL234
jump LABEL257
LABEL234:
activeclanchannel_find_listened
iconst 1
if_icmpeq LABEL238
jump LABEL257
LABEL238:
iload 2
iload 6
if_icmple LABEL242
jump LABEL243
LABEL242:
return
LABEL243:
activeclansettings_getallowunaffined
iconst 1
if_icmpeq LABEL247
jump LABEL254
LABEL247:
get_varc_string 335
iload 6
iload 2
substring
iconst 4
invoke 96
jump LABEL256
LABEL254:
sconst "Guests are not invited to speak in this clan's channel."
mes
LABEL256:
jump LABEL259
LABEL257:
sconst "You are not chatting as a guest in a clan channel at the moment."
mes
LABEL259:
jump LABEL416
LABEL260:
iload 5
iconst 41
if_icmpeq LABEL264
jump LABEL307
LABEL264:
iconst 0
activeclanchannel_find_affined
iconst 1
if_icmpeq LABEL269
jump LABEL304
LABEL269:
get_varbit 931
iconst 0
if_icmpeq LABEL273
jump LABEL301
LABEL273:
iload 2
iload 6
if_icmple LABEL277
jump LABEL278
LABEL277:
return
LABEL278:
chat_playername
removetags
activeclanchannel_getuserslot
istore 7
iload 7
iconst -1
if_icmpne LABEL286
jump LABEL298
LABEL286:
iload 7
activeclanchannel_getuserrank
activeclanchannel_getranktalk
if_icmpge LABEL291
jump LABEL298
LABEL291:
get_varc_string 335
iload 6
iload 2
substring
iconst 3
invoke 96
jump LABEL300
LABEL298:
sconst "You do not have the required rank to talk in the clan's channel."
mes
LABEL300:
jump LABEL303
LABEL301:
sconst "You have muted your clan's channel. Unmute it if you wish to talk in it."
mes
LABEL303:
jump LABEL306
LABEL304:
sconst "You are not chatting in the channel of your own clan at the moment."
mes
LABEL306:
jump LABEL416
LABEL307:
iload 5
iconst 9
if_icmpeq LABEL311
jump LABEL342
LABEL311:
clan_getchatcount
iconst 0
if_icmpgt LABEL315
jump LABEL338
LABEL315:
iload 2
iload 6
if_icmple LABEL319
jump LABEL320
LABEL319:
return
LABEL320:
get_varbit 4394
iconst 1
if_icmpeq LABEL324
jump LABEL326
LABEL324:
clan_leavechat
jump LABEL337
LABEL326:
iload 6
iconst 1
if_icmplt LABEL330
jump LABEL334
LABEL330:
sconst "/"
get_varc_string 335
append
set_varc_string 335
LABEL334:
get_varc_string 335
iconst 2
invoke 96
LABEL337:
jump LABEL341
LABEL338:
get_varc_string 335
iconst 0
invoke 96
LABEL341:
jump LABEL416
LABEL342:
iload 4
iconst 1
if_icmpeq LABEL346
jump LABEL413
LABEL346:
iload 2
iconst 2
if_icmpgt LABEL350
jump LABEL409
LABEL350:
get_varc_string 335
sconst "::toggleroof"
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL357
jump LABEL371
LABEL357:
getremoveroofs
iconst 1
if_icmpeq LABEL361
jump LABEL366
LABEL361:
iconst 0
setremoveroofs
sconst "Roofs will only be removed selectively."
mes
jump LABEL370
LABEL366:
iconst 1
setremoveroofs
sconst "Roofs are now all hidden."
mes
LABEL370:
jump LABEL408
LABEL371:
get_varc_string 335
sconst "::wiki "
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL383
get_varc_string 335
sconst "::wiki"
compare
iconst 0
if_icmpeq LABEL383
sconst "runeliteCommand" ; load callback name
runelite_callback ; invoke callback
jump LABEL386
LABEL383:
get_varc_string 335
invoke 3299
jump LABEL408
LABEL386:
get_varc_string 335
sconst "::bank"
iconst 0
string_indexof_string
iconst 0
if_icmpeq LABEL393
jump LABEL397
LABEL393:
sconst "Hey, everyone, I just tried to do something very silly!"
iconst 0
invoke 96
jump LABEL408
LABEL397:
get_varc_string 335
invoke 224
set_varc_string 335
get_varc_string 335
string_length
istore 2
get_varc_string 335
iconst 2
iload 2
substring
docheat
LABEL408:
jump LABEL412
LABEL409:
get_varc_string 335
iconst 0
invoke 96
LABEL412:
jump LABEL416
LABEL413:
get_varc_string 335
iconst 0
invoke 96
LABEL416:
get_varc_string 335
invoke 77
sconst ""
set_varc_string 335
LABEL420:
jump LABEL496
LABEL421:
iload 0
iconst 104
if_icmpeq LABEL425
jump LABEL431
LABEL425:
iload 3
iconst 1
if_icmpeq LABEL429
jump LABEL430
LABEL429:
invoke 75
LABEL430:
jump LABEL496
LABEL431:
iload 0
iconst 105
if_icmpeq LABEL435
jump LABEL441
LABEL435:
iload 3
iconst 1
if_icmpeq LABEL439
jump LABEL440
LABEL439:
invoke 76
LABEL440:
jump LABEL496
LABEL441:
iload 0
iconst 80
if_icmpeq LABEL445
jump LABEL490
LABEL445:
iconst 40697935
iconst 1
cc_find
iconst 1
if_icmpeq LABEL451
jump LABEL452
LABEL451:
return
LABEL452:
get_varc_string 356
string_length
iconst 0
if_icmpgt LABEL457
jump LABEL477
LABEL457:
get_varc_string 356
friend_test
iconst 1
if_icmpeq LABEL462
jump LABEL465
LABEL462:
get_varc_string 356
invoke 107
return
LABEL465:
get_varc_int 60
clientclock
if_icmpgt LABEL469
jump LABEL470
LABEL469:
return
LABEL470:
clientclock
iconst 50
add
set_varc_int 60
sconst "That player was not found on your Friends list."
mes
return
LABEL477:
get_varc_int 60
clientclock
if_icmpgt LABEL481
jump LABEL482
LABEL481:
return
LABEL482:
clientclock
iconst 50
add
set_varc_int 60
sconst "You haven't received any messages to which you can reply."
mes
return
jump LABEL496
LABEL490:
get_varc_string 335
iconst 0
iload 0
iload 1
invoke 74
iconst 1 ; check if we're ignoring input
iconst 0 ;
sconst "blockChatInput" ;
runelite_callback ;
if_icmpeq SKIPSETVARC ; skip setting varc with input
set_varc_string 335
jump LABEL496 ; jump over SKIPSETVARC
SKIPSETVARC:
pop_string ; pop message
LABEL496:
invoke 223
return