Commands¶
The commands a human acts on. A pad command is a number the matcher makes from a player's
buttons each update, through the nine trigger kinds; global.lua binds them with
AddCommand(command, trigger, buttons, extra) and scripts switch them per human with EnableCommand.
AI humans write the same numbers. A Warrior command is an order the war chief gives the crew from
the command menu (WCIssueCommand, WCEnableCommand). How buttons are matched:
Combat: commands; the orders:
AI: Warrior commands; the buttons: Controls.
What is complete
Every trigger kind, every pad command the scripts bind or switch and all seven Warrior commands are listed. What 1, 2, 9, 11, 21, 22 and 37-44 do is not traced, nor the command menu's layout; pad commands the code tests but no script binds are not listed.
50 entries. Data: research/references/commands.yaml.
trigger¶
9 entries.
| Number | Name |
|---|---|
| 1 | held |
| 2 | pressed |
| 3 | released |
| 4 | pad query |
| 5 | tapped |
| 6 | long hold |
| 7 | history hold |
| 8 | combination held |
| 9 | combination press |
pad command¶
34 entries.
| Number | Hex | Name | Bound to | Action | Switched in |
|---|---|---|---|---|---|
| 1 | 0x0001 |
R2 held | held: R2 |
level60.lua, level61.lua, level62.lua, level63.lua, level64.lua, level64_cyrus.lua, level80.lua, level80_chapter1.lua, ... 6 more |
|
| 2 | 0x0002 |
R2 released | released: R2 |
level80.lua, level80_chapter1.lua, level83_c1_fightpen.lua, level83_c2_alleys.lua, level87_chap1_tutorial.lua |
|
| 3 | 0x0003 |
R1 pressed | pressed: R1 |
Spins or reverses a grab; for an AI human, the counter to a grab or tackle. | |
| 4 | 0x0004 |
R1 held | held: R1 |
Block. The dispatcher reads R1 from the pad, so an AI's command 4 does nothing. | |
| 5 | 0x0005 |
L2 held | held: L2 |
Nothing by itself: the sprint reads L2 from the pad. | level60.lua, level61.lua, level62.lua, level63.lua, level64.lua, level64_cyrus.lua, level80_chapter3.lua |
| 6 | 0x0006 |
L1 held | held: L1 |
Fight stance: picks a target and locks on where the level allows. | level87_chap5_club.lua, level99_combat.lua |
| 7 | 0x0007 |
L1 pressed | pressed: L1 |
As 6. | level80_chapter3.lua, level87_chap5_club.lua |
| 8 | 0x0008 |
L1 released | released: L1 |
Drops the lock; a second tap within 264 ms locks again. | level87_chap5_club.lua, level99_combat.lua |
| 9 | 0x0009 |
select + L3 | combination held: L3 + SELECT |
||
| 10 | 0x000a |
triangle pressed | pressed: triangle |
Climb, context action or jump. | level80_chapter3.lua, level87_chap5_club.lua |
| 11 | 0x000b |
triangle held | history hold: triangle |
||
| 13 | 0x000d |
circle tapped | tapped: circle |
Grab. | level80_chapter3.lua, level99_combat.lua |
| 14 | 0x000e |
circle held | history hold: circle |
Tackle. | level80_chapter3.lua, level99_combat.lua |
| 15 | 0x000f |
square pressed | pressed: square |
Square attack. | |
| 16 | 0x0010 |
cross long hold | long hold: cross |
Cross attack (on the release of a short press). | level80_chapter3.lua, level87_chap5_club.lua |
| 18 | 0x0012 |
cross pressed | pressed: cross |
Buffered as the next attack inside a chain. | |
| 21 | 0x0015 |
square held | held: square |
||
| 22 | 0x0016 |
cross held | held: cross |
||
| 30 | 0x001e |
circle pressed | pressed: circle |
Made on the press; a tap then gives 13 on the release. | |
| 31 | 0x001f |
L1 + R1 / L1 + L2 | combination held: L1 + L2, combination held: L1 + R1 |
Starts rage when the meter is full. | level99_combat.lua |
| 32 | 0x0020 |
L2 + cross | combination press: L2 + cross |
Charge. | level80_chapter3.lua |
| 33 | 0x0021 |
L2 + square | combination press: L2 + square |
Dive. | level80_chapter3.lua |
| 34 | 0x0022 |
cross + square | combination press: cross + square |
Outside a grab, the special attack 653 (645 raging), needing and spending a quarter of the power meter; in a grab, the power strike. | level93_chapter6.lua |
| 35 | 0x0023 |
circle + cross | combination held: circle + cross |
Strong grapple: a grab that connects with the strike 657 (649 raging; 659 / 651 from behind), deals its damage as the hold starts and keeps the hold; no power cost. In a grab, the power strike 63. | level80_chapter3.lua, level93_chapter6.lua |
| 36 | 0x0024 |
circle + triangle | combination press: circle + triangle |
Sprays a tag (664) where the player may tag. | level93_chapter6.lua |
| 37 | 0x0025 |
d-pad down | pressed: d-pad down |
level99.lua |
|
| 38 | 0x0026 |
d-pad up | pressed: d-pad up |
level99.lua, level99_lesson1.lua, level99_lesson2.lua |
|
| 39 | 0x0027 |
d-pad left | pressed: d-pad left |
||
| 40 | 0x0028 |
d-pad right | pressed: d-pad right |
level95_flashrage.lua, level99.lua, level99_combat.lua, level99_lesson1.lua, level99_lesson2.lua |
|
| 41 | 0x0029 |
select + d-pad up | combination held: d-pad up + SELECT |
||
| 42 | 0x002a |
select + d-pad right | combination held: d-pad right + SELECT |
||
| 43 | 0x002b |
select + d-pad down | combination held: d-pad down + SELECT |
||
| 44 | 0x002c |
select + d-pad left | combination held: d-pad left + SELECT |
||
| 45 | 0x002d |
chase button | pressed: set at run time |
Level 84's chase: the script picks the button; each press keeps the chase speed up. |
Warrior command¶
7 entries.
| Number | Name | Action | Says | Used in |
|---|---|---|---|---|
| 0 | follow | The crew follows the war chief. | follow (follow_hide while hiding) |
36763710, brawl.lua, level3_chase.lua, level11.lua, level11_chapter1.lua, level11_chapter6.lua, level31_gclub.lua, level31_platform.lua, ... 16 more |
| 1 | attack | The crew attacks the war chief's target. | attack |
brawl.lua, level3_balcony.lua, level3_chase.lua, level5_chapter3.lua, level11_chapter6.lua, level31_birdie.lua, level80_chapter4.lua, level81_chatterbox.lua, ... 10 more |
| 2 | defend | The crew defends the war chief (a defend tactic around him). | defend |
brawl.lua, level3_balcony.lua, level3_chase.lua, level5_chapter3.lua, level80_chapter4.lua, level81_chatterbox.lua, level84_final.lua, level87_chap5_club.lua, ... 4 more |
| 3 | hold | The crew holds its position. | hold (holdhide while hiding) |
brawl.lua, level3_chase.lua, level31_gclub.lua, level51_chapter5.lua, level54_boss.lua, level80_chapter1.lua, level80_chapter3.lua, level80_chapter4.lua, ... 6 more |
| 4 | scatter | The crew scatters. | scatter |
brawl.lua, level2.lua, level3_balcony.lua, level3_chase.lua, level5_chapter3.lua, level11_chapter6.lua, level31_birdie.lua, level51_chapter1.lua, ... 13 more |
| 5 | wreck | The crew wrecks or steals from what is near. | steal near a thing to steal, else vandal |
brawl.lua, level3_chase.lua, level11_chapter6.lua, level80_chapter3.lua, level80_chapter4.lua, level84_final.lua, level87_chap5_club.lua, level93_chapter6.lua, ... 3 more |
| 6 | Recorded as the last command; starts no tactic and says nothing. |
Sources and evidence¶
Evidence levels used: confirmed-code, confirmed-runtime, inferred.
- AddCommand (0x00147430), matched by 0x00147940
- Player_Special (0x00287730)
- Player_Special (0x00287730), Player_SpecialAttack (0x00263c90)
- Player_Special (0x00287730), Player_SpecialAttack (0x00263c90), Grab_ConnectEnd (0x0026bad8)
- global.lua AddCommand; EnableCommand, WCEnableCommand and WCIssueCommand in the scripts
- global.lua AddCommand; Player_UpdateActions (0x0027c120)
- the Warrior command dispatcher (0x0041c4e0) and its lines (0x0041cc40)
Fields¶
| Field | Type | Hand-written | Meaning |
|---|---|---|---|
id |
str | Our stable id: trigger:<n>, pad:<n> or warrior:<n>. |
|
kind |
str | Trigger kind, pad command or Warrior command. | |
number |
int | The number scripts pass: AddCommand's trigger, its command id (1-57), or the Warrior command (WCIssueCommand, 0-6). |
|
hex |
hex | A pad command's id in hex, as the research pages write it. | |
name |
str | yes | Our short name for it. |
bound |
list | How the scripts bind a pad command: trigger: buttons. |
|
action |
str | yes | What it does. |
speech |
str | yes | The speech command a war chief says when giving a Warrior command. |
bound_in |
list | The scripts that bind it. | |
toggled_in |
list | The scripts that switch a pad command per human (EnableCommand). |
|
used_in |
list | The scripts that enable, disable or issue a Warrior command. | |
source |
str | yes | Where the entry comes from: a script and binding, an address, a chunk. |
evidence |
str | yes | How we know: confirmed-code, confirmed-runtime, inferred or speculative (evidence levels). |
notes |
str | yes | Our own short notes. |