Skip to content

Commit 823fdd7

Browse files
committed
add CS+ Steam and KAGE commands
1 parent 9aa329b commit 823fdd7

File tree

6 files changed

+211
-13
lines changed

6 files changed

+211
-13
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Set up Go 1.x
1616
uses: actions/setup-go@v2
1717
with:
18-
go-version: ^1.13
18+
go-version: ^1.16
1919
id: go
2020

2121
- name: Checkout

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up Go
1818
uses: actions/setup-go@v2
1919
with:
20-
go-version: 1.15
20+
go-version: 1.16
2121

2222
- name: Import PGP key
2323
run: echo -e "${{ secrets.PGP_SIGNING_KEY }}" | gpg --import

config/.tscrc.json

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,33 @@
1212
},
1313

1414
"tsc": {
15+
"<2MV": {
16+
"label": "<2MV",
17+
"detail": "2nd player MoVe",
18+
"documentation": "Move the other player next to the player who had executed the command (Switch).",
19+
"format": "<2MV",
20+
"insertText": "<2MV"
21+
},
22+
"<2PJ": {
23+
"label": "<2PJ",
24+
"detail": "2-Player Jump",
25+
"documentation": "Jump to event X if in multiplayer mode (Switch).",
26+
"format": "<2MVXXXX",
27+
"insertText": "2PJ${1:0000}",
28+
"argtype": [
29+
"number"
30+
]
31+
},
32+
"<ACH": {
33+
"label": "<ACH",
34+
"detail": "ACHievement",
35+
"documentation": "Trigger Steam achievement X. No-op in the EGS/Humble Bundle version of the game.",
36+
"format": "<ACHXXXX",
37+
"insertText": "ACH${1:0000}",
38+
"argtype": [
39+
"number"
40+
]
41+
},
1542
"<AE+": {
1643
"label": "<AE+",
1744
"detail": "Arms Energy +",
@@ -271,6 +298,17 @@
271298
"direction"
272299
]
273300
},
301+
"<FF-": {
302+
"label": "<FF-",
303+
"detail": "First Flag - (false)",
304+
"documentation": "Set first flag in range X-Y to false (Switch).",
305+
"format": "<FF-XXXX:YYYY",
306+
"insertText": "FF-${1:0000}:${2:0000}",
307+
"argtype": [
308+
"number",
309+
"number"
310+
]
311+
},
274312
"<FL+": {
275313
"label": "<FL+",
276314
"detail": "FLag +",
@@ -348,6 +386,13 @@
348386
"number"
349387
]
350388
},
389+
"<FR2": {
390+
"label": "<FR2",
391+
"detail": "FRee 2",
392+
"documentation": "Free game action and PCs (Switch multiplayer).",
393+
"format": "<FR2",
394+
"insertText": "FR2"
395+
},
351396
"<FRE": {
352397
"label": "<FRE",
353398
"detail": "FREe",
@@ -365,6 +410,13 @@
365410
"item"
366411
]
367412
},
413+
"<HM2": {
414+
"label": "<HM2",
415+
"detail": "Hide My character 2",
416+
"documentation": "Hide the player who executed the event (Switch).",
417+
"format": "<HM2",
418+
"insertText": "HM2"
419+
},
368420
"<HMC": {
369421
"label": "<HMC",
370422
"detail": "Hide My Character",
@@ -379,6 +431,18 @@
379431
"format": "<INI",
380432
"insertText": "INI"
381433
},
434+
"<INJ": {
435+
"label": "<INJ",
436+
"detail": "Item Number Jump",
437+
"documentation": "Jump to event Z if amount of item X equals Y (Switch).",
438+
"format": "<INJXXXX:YYYY:ZZZZ",
439+
"insertText": "INJ${1:0000}:${2:0000}:${3:0000}",
440+
"argtype": [
441+
"item",
442+
"number",
443+
"number"
444+
]
445+
},
382446
"<INP": {
383447
"label": "<INP",
384448
"detail": "[Initialize?] NPc",
@@ -422,6 +486,24 @@
422486
"number"
423487
]
424488
},
489+
"<I+N": {
490+
"label": "<I+N",
491+
"detail": "Item + N",
492+
"documentation": "Adds item X with maximum amount of Y (Switch).",
493+
"format": "<I+NXXXX:YYYY",
494+
"insertText": "I+N${1:0000}:${2:0000}",
495+
"argtype": [
496+
"item",
497+
"number"
498+
]
499+
},
500+
"<KE2": {
501+
"label": "<KE2",
502+
"detail": "KEY lock for multiplayer",
503+
"documentation": "Lock player controls and hide status bars until <END (Switch multiplayer).",
504+
"format": "<KE2",
505+
"insertText": "KE2"
506+
},
425507
"<KEY": {
426508
"label": "<KEY",
427509
"detail": "KEY lock",
@@ -590,13 +672,30 @@
590672
"number"
591673
]
592674
},
675+
"<POP": {
676+
"label": "<POP",
677+
"detail": "POP text script state",
678+
"documentation": "Restore text script state from stack and resume previous event (Switch).",
679+
"format": "<POP",
680+
"insertText": "POP"
681+
},
593682
"<PRI": {
594683
"label": "<PRI",
595684
"detail": "PRevent Interaction",
596685
"documentation": "Lock player controls and freeze game action until KEY or END.",
597686
"format": "<PRI",
598687
"insertText": "PRI"
599688
},
689+
"<PSH": {
690+
"label": "<PSH",
691+
"detail": "PuSH text script state",
692+
"documentation": "Push the current script state onto the stack and start event X (Switch).",
693+
"format": "<PSHXXXX",
694+
"insertText": "PSH${1:0000}",
695+
"argtype": [
696+
"number"
697+
]
698+
},
600699
"<PS+": {
601700
"label": "<PS+",
602701
"detail": "Portal Slot +",

config/config_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ func TestNew(t *testing.T) {
99
t.Run("should return the default configuration", func(t *testing.T) {
1010
config := New()
1111

12-
// default config has 91 TSC command definitions
13-
if len(config.TSC) != 91 {
14-
t.Errorf("config.New(): got %v, want %v", len(config.TSC), 91)
12+
// default config has 102 TSC command definitions
13+
if len(config.TSC) != 102 {
14+
t.Errorf("config.New(): got %v, want %v", len(config.TSC), 102)
1515
}
1616
})
1717
}
@@ -45,13 +45,13 @@ func TestGetTSCDefinition(t *testing.T) {
4545
}
4646

4747
ok = definition.Label == targetDefinition.Label
48-
ok = definition.Detail == targetDefinition.Detail
49-
ok = definition.Documentation == targetDefinition.Documentation
50-
ok = definition.Format == targetDefinition.Format
51-
ok = definition.GetInsertText() == targetDefinition.InsertText
52-
ok = definition.Nargs() == targetDefinition.Nargs()
53-
ok = len(definition.ArgType) == len(targetDefinition.ArgType)
54-
ok = definition.ArgType[0] == targetDefinition.ArgType[0]
48+
ok = ok && definition.Detail == targetDefinition.Detail
49+
ok = ok && definition.Documentation == targetDefinition.Documentation
50+
ok = ok && definition.Format == targetDefinition.Format
51+
ok = ok && definition.GetInsertText() == targetDefinition.InsertText
52+
ok = ok && definition.Nargs() == targetDefinition.Nargs()
53+
ok = ok && len(definition.ArgType) == len(targetDefinition.ArgType)
54+
ok = ok && definition.ArgType[0] == targetDefinition.ArgType[0]
5555

5656
if !ok {
5757
t.Errorf("config.Config#GetTSCDefinition(\"<AM-\") got %v, want %v", definition, targetDefinition)

config/default.go

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,33 @@ var DefaultConfig = []byte(`{
1919
},
2020
2121
"tsc": {
22+
"<2MV": {
23+
"label": "<2MV",
24+
"detail": "2nd player MoVe",
25+
"documentation": "Move the other player next to the player who had executed the command (Switch).",
26+
"format": "<2MV",
27+
"insertText": "<2MV"
28+
},
29+
"<2PJ": {
30+
"label": "<2PJ",
31+
"detail": "2-Player Jump",
32+
"documentation": "Jump to event X if in multiplayer mode (Switch).",
33+
"format": "<2MVXXXX",
34+
"insertText": "2PJ${1:0000}",
35+
"argtype": [
36+
"number"
37+
]
38+
},
39+
"<ACH": {
40+
"label": "<ACH",
41+
"detail": "ACHievement",
42+
"documentation": "Trigger Steam achievement X. No-op in the EGS/Humble Bundle version of the game.",
43+
"format": "<ACHXXXX",
44+
"insertText": "ACH${1:0000}",
45+
"argtype": [
46+
"number"
47+
]
48+
},
2249
"<AE+": {
2350
"label": "<AE+",
2451
"detail": "Arms Energy +",
@@ -278,6 +305,17 @@ var DefaultConfig = []byte(`{
278305
"direction"
279306
]
280307
},
308+
"<FF-": {
309+
"label": "<FF-",
310+
"detail": "First Flag - (false)",
311+
"documentation": "Set first flag in range X-Y to false (Switch).",
312+
"format": "<FF-XXXX:YYYY",
313+
"insertText": "FF-${1:0000}:${2:0000}",
314+
"argtype": [
315+
"number",
316+
"number"
317+
]
318+
},
281319
"<FL+": {
282320
"label": "<FL+",
283321
"detail": "FLag +",
@@ -355,6 +393,13 @@ var DefaultConfig = []byte(`{
355393
"number"
356394
]
357395
},
396+
"<FR2": {
397+
"label": "<FR2",
398+
"detail": "FRee 2",
399+
"documentation": "Free game action and PCs (Switch multiplayer).",
400+
"format": "<FR2",
401+
"insertText": "FR2"
402+
},
358403
"<FRE": {
359404
"label": "<FRE",
360405
"detail": "FREe",
@@ -372,6 +417,13 @@ var DefaultConfig = []byte(`{
372417
"item"
373418
]
374419
},
420+
"<HM2": {
421+
"label": "<HM2",
422+
"detail": "Hide My character 2",
423+
"documentation": "Hide the player who executed the event (Switch).",
424+
"format": "<HM2",
425+
"insertText": "HM2"
426+
},
375427
"<HMC": {
376428
"label": "<HMC",
377429
"detail": "Hide My Character",
@@ -386,6 +438,18 @@ var DefaultConfig = []byte(`{
386438
"format": "<INI",
387439
"insertText": "INI"
388440
},
441+
"<INJ": {
442+
"label": "<INJ",
443+
"detail": "Item Number Jump",
444+
"documentation": "Jump to event Z if amount of item X equals Y (Switch).",
445+
"format": "<INJXXXX:YYYY:ZZZZ",
446+
"insertText": "INJ${1:0000}:${2:0000}:${3:0000}",
447+
"argtype": [
448+
"item",
449+
"number",
450+
"number"
451+
]
452+
},
389453
"<INP": {
390454
"label": "<INP",
391455
"detail": "[Initialize?] NPc",
@@ -429,6 +493,24 @@ var DefaultConfig = []byte(`{
429493
"number"
430494
]
431495
},
496+
"<I+N": {
497+
"label": "<I+N",
498+
"detail": "Item + N",
499+
"documentation": "Adds item X with maximum amount of Y (Switch).",
500+
"format": "<I+NXXXX:YYYY",
501+
"insertText": "I+N${1:0000}:${2:0000}",
502+
"argtype": [
503+
"item",
504+
"number"
505+
]
506+
},
507+
"<KE2": {
508+
"label": "<KE2",
509+
"detail": "KEY lock for multiplayer",
510+
"documentation": "Lock player controls and hide status bars until <END (Switch multiplayer).",
511+
"format": "<KE2",
512+
"insertText": "KE2"
513+
},
432514
"<KEY": {
433515
"label": "<KEY",
434516
"detail": "KEY lock",
@@ -597,13 +679,30 @@ var DefaultConfig = []byte(`{
597679
"number"
598680
]
599681
},
682+
"<POP": {
683+
"label": "<POP",
684+
"detail": "POP text script state",
685+
"documentation": "Restore text script state from stack and resume previous event (Switch).",
686+
"format": "<POP",
687+
"insertText": "POP"
688+
},
600689
"<PRI": {
601690
"label": "<PRI",
602691
"detail": "PRevent Interaction",
603692
"documentation": "Lock player controls and freeze game action until KEY or END.",
604693
"format": "<PRI",
605694
"insertText": "PRI"
606695
},
696+
"<PSH": {
697+
"label": "<PSH",
698+
"detail": "PuSH text script state",
699+
"documentation": "Push the current script state onto the stack and start event X (Switch).",
700+
"format": "<PSHXXXX",
701+
"insertText": "PSH${1:0000}",
702+
"argtype": [
703+
"number"
704+
]
705+
},
607706
"<PS+": {
608707
"label": "<PS+",
609708
"detail": "Portal Slot +",

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ func main() {
1212
app := cli.NewApp()
1313
app.Name = "tsc-ls"
1414
app.Usage = "language Server for the TSC scripting language"
15-
app.Version = "0.1.5"
15+
app.Version = "0.1.6"
1616

1717
app.Commands = []*cli.Command{
1818
{

0 commit comments

Comments
 (0)