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: CONTRIBUTING.md
+22-21Lines changed: 22 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@
23
23
* Please provide detailed instructions on how to reproduce the bug, if possible.
24
24
* Provide a build share code for a build that is affected by the bug, if possible.
25
25
In the "Import/Export Build" tab, click "Generate", then "Share" and add the link to your post.
26
-
26
+
27
27
Build share codes allow us to reproduce bugs much more quickly.
28
28
29
29
## Requesting features
@@ -48,7 +48,7 @@ Feature requests are always welcome. Note that not all requests will receive an
48
48
### When submitting a pull request:
49
49
***Pull requests must be created against the `dev` branch**, as all changes to the code are staged there before merging to `master`.
50
50
* Make sure that the changes have been thoroughly tested!
51
-
* If you're updating mod parsing logic, make sure to reload PoB with `Ctrl` + `F5` to regenerate `./src/Data/ModCache.lua`. This is a very large, automatically generated file that can be used to verify your changes didn't affect any other mods inadvertently.
51
+
* If you're updating mod parsing logic, make sure to reload PoB with `Ctrl` + `F5` to regenerate `./src/Data/ModCache.lua`. This is a very large, automatically generated file that can be used to verify your changes didn't affect any other mods inadvertently. Make sure to commit `./src/Data/ModCache.lua` if your changes cause it to differ.
52
52
* There are many more files in the `./src/Data` directory that are automatically generated. This is indicated by the header
53
53
`-- This file is automatically generated, do not edit!`. To change these, instead change the scripts in the `./src/Export` directory and rerun the exporter.
54
54
For your PR, please include all relevant changes to both the scripts and data files.
@@ -158,7 +158,7 @@ To do this in VSCode find the Java installation folder on your computer as displ
158
158
-- This is the path to emmy_core.dll. The ?.dll at the end is intentional.
-- This port must match the Visual Studio Code configuration. Default is 9966.
161
+
-- This port must match the IDE configuration. Default is 9966.
162
162
dbg.tcpListen("localhost", 9966)
163
163
-- Uncomment the next line if you want Path of Building to block until the debugger is attached
164
164
--dbg.waitIDE()
@@ -196,38 +196,39 @@ Files in /Data /Export and /TreeData can be massive and cause the emmyLua langua
196
196
6. Attach the debugger
197
197
198
198
#### Miscellaneous tips
199
+
199
200
If you're on windows, consider downloading [git for windows](https://git-scm.com/downloads) and installing git bash. Git bash comes with a variety of typical linux tools such as grep that can make navigating the code base much easier.
200
201
201
202
If you're using linux you can run the ./runtime/Path{space}of{space}Building.exe executable with wine. You will need to provide a valid wine path to the emmy lua debugger directory.
PoB uses the [Busted](https://olivinelabs.com/busted/) framework to run its tests. Tests are stored under `spec/System` and run automatically when a PR is modified.
211
+
PoB uses the [Busted](https://olivinelabs.com/busted/) framework to run its tests. Tests are stored under `spec/System` and run automatically when a PR is modified.
207
212
More tests can be added to this folder to test specific functionality, or new test builds can be added to ensure nothing changed that wasn't intended.
208
213
209
214
### Running tests
210
-
1. Install [LuaRocks](https://luarocks.org/)
211
-
2. Run `luarocks install busted`
212
-
3. Run `busted --lua=luajit` from the command line. You may need to add `luajit` to your PATH
2. Run `docker-compose up -d` from the command line
218
-
3. View last results in `spec/test_results.log`
219
-
220
-
### Creating new test builds or fixing an existing build
217
+
2. Run `docker-compose up` from the command line
218
+
3. Review the results in the terminal
221
219
222
-
Sometimes a change will be made that intends to change the stats garnered by PoB, which will break our tests.
223
-
1. Add the new build XML (if applicable) to the `TestBuilds` folder
224
-
2. Run `busted --lua=luajit -r generate` to generate a LUA file that contains the current stats of that build
225
-
3. Run `busted --lua=luajit` and the tests should pass
220
+
Please try to include tests for your new features in your pull request. Additionally, if your pr breaks a test that should be passing please update it accordingly.
226
221
227
-
Docker alternative:
228
-
229
-
1. Add the new build XML (if applicable) to the `TestBuilds` folder
230
-
2. Run `docker-compose up -d` to generate a LUA file that contains the current stats of that build and run the tests
222
+
### Debugging tests
223
+
When running tests with a docker container it is possible to use emmylua for debugging. Paste in the following right under `function launch:OnInit()` in `./src/Launch.lua`:
-- This port must match the IDE Code configuration. Default is 9966.
228
+
dbg.tcpListen("localhost", 9966)
229
+
dbg.waitIDE()
230
+
```
231
+
After running `docker-compose up` the code will wait at the `dbg.waitIDE()` line until a debugger is attached. This will allow stepping through any code that is internal to POB but will not work for busted related code. Note that this only works for unit tests described above.
Copy file name to clipboardExpand all lines: README.md
+19-47Lines changed: 19 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,44 +1,12 @@
1
-
# Path of Building Community Fork
2
-
## Formerly known as LocalIdentity Fork
1
+
# Path of Building Community
2
+
## Welcome to Path of Building, an offline build planner for Path of Exile!
3
3
4
-
This is a fork of Openarl's Path Of Building that includes many extra features not in the base version of PoB
5
-
* Adds support for new and updated uniques from league 3.8 onwards
6
-
* Pantheon support
7
-
* Impale DPS support
8
-
* Enemy armour and physical damage reduction calculations
9
-
* Catalysts
10
-
* Dual influence crafting
11
-
* Search for all dropdown boxes
12
-
* Barrage Support skill gem
13
-
* Ensnaring Arrow support
14
-
* Thread of Hope support
15
-
* Crimson Dance support
16
-
* Void Shot support
17
-
* Delve helmet mod support
18
-
* Breakdown for aura and curse effect
19
-
* List of recently imported accounts to the Import/Export Build tab
20
-
* More tree highlighting options for node power
21
-
* Support for fossil mods in the crafting window. Including correct parsing for some mods that previously didn't work (e.g., 60% chance to deal 100% more poison/bleed damage)
22
-
* Add parsing for more nodes on the tree (i.e., Slayer, Champion, Berserker, Chieftain, Hierophant, Trickster, Assassin, Necromancer and Elementalist ascendancy nodes)
23
-
* Add oil combinations to notables on the passive tree
24
-
* Support for Elusive and Nightblade support gem
25
-
* Incremental shock values (not a locked 50%)
26
-
* Fixed Close Combat and Multistrike to have their correct damage values
27
-
* Logic for melee distance scaling attack multipliers (Close Combat and Slayer's Impact node)
28
-
* Withered now shows on the configuration screen
29
-
* Support for Ryslatha's Coil, Vaal Arc Lucky Buff, Perquil's Toe and more
0 commit comments