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
+23-21Lines changed: 23 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -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.
@@ -66,7 +66,7 @@ The easiest way to make and test changes is by setting up a development installa
66
66
67
67
cd PathOfBuilding-PoE2
68
68
69
-
3. Start Path of Building from the repository by running `./runtime/Path{space}of{space}Building.exe`.
69
+
3. Start Path of Building from the repository by running `./runtime/Path{space}of{space}Building-PoE2.exe`.
70
70
71
71
You can now use the shortcut to run the program from the repository. Running the program in this manner automatically enables "Dev Mode", which has some handy debugging feature:
72
72
*`F5` restarts the program in-place (this is what usually happens when an update is applied).
@@ -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
221
-
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
217
+
2. Run `docker-compose up` from the command line
218
+
3. Review the results in the terminal
226
219
227
-
Docker alternative:
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.
228
221
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.
231
232
232
233
## Path of Building development tutorials
233
234
@@ -272,6 +273,7 @@ as well as some familiarity with build tools such as [CMake](https://cmake.org).
272
273
Example input for Steam:
273
274
274
275
C:\Program Files (x86)\Steam\steamapps\common\Path of Exile 2
276
+
275
277
If successful, you should see some cmd windows pop up as the files are unpacked, and then a list of the data tables in the GGPK file should appear.
276
278
6. Click `Scripts >>` to show the list of available export scripts. Double-clicking a script will run it, and the box to the right will show any output from the script.
277
279
7. If you run into any errors, update the code in `./src/Export` as necessary and try again.
Copy file name to clipboardExpand all lines: README.md
+15-43Lines changed: 15 additions & 43 deletions
Original file line number
Diff line number
Diff line change
@@ -1,43 +1,14 @@
1
-
# Path of Building Community Fork
2
-
## Formerly known as LocalIdentity Fork
1
+
# Path of Building 2 Community
2
+
## Welcome to Path of Building 2, an offline build planner for Path of Exile 2!
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
Head over to the [Releases](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/releases) page to download the install wizard or portable zip.
33
11
34
-
## Contribute
35
-
You can find instructions on how to contribute code and bug reports [here](CONTRIBUTING.md).
36
-
37
-
## Changelog
38
-
You can find the full version history [here](CHANGELOG.md).
39
-
40
-
Welcome to Path of Building, an offline build planner for Path of Exile!
41
12
## Features
42
13
* Comprehensive offence + defence calculations:
43
14
* Calculate your skill DPS, damage over time, life/mana/ES totals and much more!
@@ -47,8 +18,9 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
47
18
* Supports all skills and support gems, and most passives and item modifiers
48
19
* Throughout the program, supported modifiers will show in blue and unsupported ones in red
49
20
* Full support for minions
21
+
* Support for party play and support builds
50
22
* Passive skill tree planner:
51
-
* Support for jewels including most radius/conversion jewels
23
+
* Support for jewels including most radius/conversion and timeless jewels
52
24
* Features alternate path tracing (mouse over a sequence of nodes while holding shift, then click to allocate them all)
53
25
* Fully integrated with the offence/defence calculations; see exactly how each node will affect your character!
54
26
* Can import PathOfExile.com and PoEPlanner.com passive tree links; links shortened with PoEURL.com also work
@@ -60,6 +32,7 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
60
32
* Item planner:
61
33
* Add items from in game by copying and pasting them straight into the program!
62
34
* Automatically adds quality to non-corrupted items
35
+
* Search the trade site for the most impactful items
63
36
* Fully integrated with the offence/defence calculations; see exactly how much of an upgrade a given item is!
64
37
* Contains a searchable database of all uniques that are currently in game (and some that aren't yet!)
65
38
* You can choose the modifier rolls when you add a unique to your build
@@ -71,20 +44,19 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
71
44
* Also contains a database of rare item templates:
72
45
* Allows you to create rare items for your build to approximate the gear you will be using
73
46
* Choose which modifiers appear on each item, and the rolls for each modifier, to suit your needs
74
-
* Has templates that should cover the majority of builds (inb4 'why is there no coral amulet?')
47
+
* Has templates that should cover the majority of builds
75
48
* Other features:
76
49
* You can import passive tree, items, and skills from existing characters
77
50
* Share builds with other users by generating a share code
78
51
* Automatic updating; most updates will only take a couple of seconds to apply
79
-
* Somewhat more open source than usual (look in "%ProgramData%\Path of Building" if you're interested)
0 commit comments