You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ PMD-Bot is a botting framework for _Pokémon Mystery Dungeon: Explorers of Sky_.
19
19
- If you need some help, here's a link to the [necessary Lua binaries](https://sourceforge.net/projects/luabinaries/files/5.1.5/Tools%20Executables/lua-5.1.5_Win64_bin.zip/download). Extract the archive and copy `lua5.1.dll` and `lua51.dll` into the same directory as your DeSmuME executable file. After doing this, you should be able to run Lua scripts on DeSmuME.
20
20
21
21
### Writing a bot
22
-
Most of the botting logic is written in the file [`Agent.lua`](Agent.lua). This repository comes with an example bot, but you can change the bot as you see fit. You'll mainly be modifying the `Agent:act()` method, which contains the main logic for the bot. You might also change `Agent:attackEnemy`, which holds attack selection logic, but this is really just a helper function; you could instead just cram this logic directly into `Agent:act()`. Additionally, if you want to set up state information for your bot, you can do so in `Agent:init()`, which is called only once at startup.
22
+
Most of the botting logic is written in the file [`Agent.lua`](Agent.lua). This repository comes with an example bot, but you can change the bot as you see fit. You'll mainly be modifying the `Agent:act()` method, which contains the main logic for the bot. You might also change `Agent:attackEnemy()`, which holds attack selection logic, but this is really just a helper function; you could instead just cram this logic directly into `Agent:act()`. Additionally, if you want to set up state information for your bot, you can do so in `Agent:init()`, which is called only once at startup.
23
23
24
24
The bot makes direct use of the following utilities:
Copy file name to clipboardexpand all lines: dynamicinfo/README.md
+6-6
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ The bot accesses the entire dungeon state as a single object (`stateinfo.state`)
47
47
-`money()`: Amount of money carried
48
48
-`bag()`: Ordered list of items currently in the bag
49
49
50
-
Nodes with parentheses after their names are `StateData` objects, whose value should be accessed by calling them). Otherwise, they're just normal table fields (accessed without a call).
50
+
Nodes with parentheses after their names are `StateData` objects, whose value should be accessed by calling them. Otherwise, they're just normal table fields (accessed without a call).
51
51
52
52
### Tiles
53
53
Returned in a grid by the `layout()` field. Tiles have the following fields:
@@ -58,7 +58,7 @@ Returned in a grid by the `layout()` field. Tiles have the following fields:
58
58
-`inMonsterHouse`: Flag for whether or not the tile is in a Monster House
59
59
-`isStairs`: Flag for whether or not the tile is a floor exit (includes normal stairs, hidden stairs, and Warp Zones)
60
60
-`visibleOnMap`: Flag for whether or not the tile is visible on the player's map
61
-
-`room`: The ID of the room the tile is in. Will be -1 if in a hallway
61
+
-`room`: The ID of the room the tile is in. Will be -1 if in a hallway.
62
62
63
63
### Monsters
64
64
Returned in a list by the `team()` and `enemies()` fields, and also returned by the `leader()` field. Monsters have the following structure:
@@ -89,14 +89,14 @@ Returned in a list by the `team()` and `enemies()` fields, and also returned by
89
89
-`defense`: The monster's Defense stat
90
90
-`specialDefense`: The monster's Special Defense stat
91
91
-`experience`: The amount of experience the monster has
92
-
-`modifiers`: Table of stat modifiers. For most stats (except speed), the normal value is 10, and it goes up to 20 and down to 0
92
+
-`modifiers`: Table of stat modifiers. For most stats (except speed), the normal value is 10, and it goes up to 20 and down to 0.
93
93
-`attackStage`: The monster's Attack stage
94
94
-`specialAttackStage`: The monster's Special Attack stage
95
95
-`defenseStage`: The monster's Defense stage
96
96
-`specialDefenseStage`: The monster's Special Defense stage
97
97
-`accuracyStage`: The monster's accuracy stage
98
98
-`evasionStage`: The monster's evasion stage
99
-
-`speedStage`: The monster's speed stage. The normal value is 1, and it goes up to 4 and down to 0
99
+
-`speedStage`: The monster's speed stage. The normal value is 1, and it goes up to 4 and down to 0.
100
100
-`speedCounters`: Lists of "speed counters" that tick down to 0. The current speed stage is equal to `(# nonzero up) - (# nonzero down)`, but kept in the range 0-4.
101
101
-`up`: List of the 5 "up" counters
102
102
-`down`: List of the 5 "down" counters
@@ -110,7 +110,7 @@ Stored in a list in a monster's `statuses` field. Statuses have the following (n
110
110
-`turnsLeft`: The number of turns left of the status
111
111
-`effectCountdown`: The number of turns left for a recurring effect of the status to occur, such as damage or healing
112
112
113
-
Note: the stockpile status is special, and has the field `stage` that holds the stockpile stage.
113
+
Note: the Stockpile status is special, and has the field `stage` that holds the stockpile stage.
114
114
115
115
#### Moves
116
116
Stored in a list in a monster's `moves` field. Moves have the following fields:
@@ -131,7 +131,7 @@ Returned in a list by the `items()` and `bag()` fields. Items have the following
131
131
-`isSticky`: Flag for whether or not the item is sticky
132
132
-`isSet`: Flag for whether or not the item is set, if in the bag
133
133
-`heldBy`: Index of the party member holding the item, if in the bag
134
-
-`amount`: Amount code, if applicable. Note: seems like for Poké this value doesn't correspond to the literal amount
134
+
-`amount`: Amount code, if applicable. Note: seems like for Poké this value doesn't correspond to the literal amount.
0 commit comments