That was quick !! Thanks, but there’s still a problem.
When you craft a badge of mastery you have a suffix and a prefix (+X to a skill) but when I use your tool it doesn’t.
I actually use the file editor cause it’s really too annoying to craft this item hoping for the good roll. I already crafted more than 50 of those without any good result.
The grim tools item database says there are “unique” affixes for this item. I don’t think the editor has a simple way of showing you all these unique affixes for you to choose from. But, if you know the name of the affix, you should be able to get the editor to create the item for you just with the “set” command.
For example,
set inv/2/items “<prefix name> badge of mastery of <suffix name>”
If the editor can find an affix with a similar name, it will set them on the item. The editor tries to respect item creation rules if it can, but it will break those rules and put whatever affix you want on the item if that’s the only way to create the item.
If you’re looking for a specific affix, but doesn’t know the name, you’ll have to resort to using the “q(uery)” and “db” command to sift through the game db.
Thanks for the answer.
So I just changed the prefix-name and the suffix-name of my item.
The prefixes are there : records/items/lootaffixes/prefixunique/d001_badgeofmastery*
The suffixes : records/items/lootaffixes/suffixunique/d001_badgeofmastery*
Cool, glad you found what you were looking for. It’s a bit unfortunate that those affixes do not seem to have a name. That means the “set” command can’t help you construct the correct item for you. =\
Honestly, your tool is really great. so if we have to work a bit by ourselves to make it works, don’t worry pal, you did such a great work, we can’t complain about it. Thanks again. Cheers.
First (minor) : the .bin can’t update correctly. The binary is downloaded, the old binary is moved to .bak, but there’s a error “error moving file” and there is no new file. Updating manually work.
Second : At launch, there’s some error :
gd-edit 0.1.7-SNAPSHOT [build 6900d1d]
save directories:
/media/Data/Jeux/Grim Dawn/drive_c/Mes documents _ Grim Dawn/save/main
game directory:
/media/Data/Jeux/Grim Dawn/drive_c/Jeux/steamapps/common/Grim Dawn
Need help? Check the docs!
https://odie.github.io/gd-edit-docs/faq/
Please choose a character to load:
1) __Weigelia (local save)
2) _Julia (local save)
3) _kapoue (local save)
4) _trazoom (local save)
5) _Mubatsiri (local save)
6) _Breandan (local save)
7) __Mubatsiri (local save)
8) __Julia (local save)
9) _Weigelia (local save)
10) _Gilford (local save)
[ERROR] Failed to construct terminal; falling back to unsupported
java.lang.NumberFormatException: For input string: "0x100"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
at jline.internal.InfoCmp.parseInfoCmp(InfoCmp.java:59)
at jline.UnixTerminal.parseInfoCmp(UnixTerminal.java:242)
at jline.UnixTerminal.<init>(UnixTerminal.java:65)
at jline.UnixTerminal.<init>(UnixTerminal.java:50)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:211)
at jline.TerminalFactory.create(TerminalFactory.java:102)
at jline.TerminalFactory.get(TerminalFactory.java:186)
at jline.TerminalFactory.get(TerminalFactory.java:192)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:243)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:235)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:223)
at gd_edit.jline$initialize.invokeStatic(jline.clj:7)
at gd_edit.jline$initialize.invoke(jline.clj:7)
at gd_edit.jline$readline.invokeStatic(jline.clj:26)
at gd_edit.jline$readline.invoke(jline.clj:12)
at gd_edit.core$repl_read.invokeStatic(core.clj:47)
at gd_edit.core$repl_read.invoke(core.clj:43)
at gd_edit.core$repl_iter.invokeStatic(core.clj:207)
at gd_edit.core$repl_iter.invoke(core.clj:201)
at gd_edit.core$repl$fn__17714.invoke(core.clj:215)
at gd_edit.core$repl.invokeStatic(core.clj:214)
at gd_edit.core$repl.invoke(core.clj:210)
at gd_edit.core$start_editor.invokeStatic(core.clj:512)
at gd_edit.core$start_editor.invoke(core.clj:504)
at gd_edit.core$_main.invokeStatic(core.clj:539)
at gd_edit.core$_main.doInvoke(core.clj:521)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at gd_edit.core.main(Unknown Source)
>
So! The new version comes with minor fixes, mostly for those who are running the editor on unix-like OSes.
This is fixed in the new version and tested both on osx and ubuntu artful64. You’ll need to manually download the editor one more time though. The older version still has the bug and will not be able to move the binary correctly.
This error originates from the “jline2” library that the editor uses to deal with command history and cross-platform console colors. It looks like in the older version of the library, it had trouble with parsing the output of “infocmp” to determine terminal capabilities. It fails when it encounters and attempts to parse hexadecimal values. The new version of the editor has an updated version of the library that should deal with this properly. Note that I did not verify if the fix actually stops the exception from being thrown.
The exact effects of the affix is determined by a piece of static data in the game’s database. This means there is no way to tweak the effects of a prefix to some exact specification, short of changing the game database itself.
Another minor bug : under linux, there is a “classic” shortcut for all console like tools : ctrl+d => same as typing exit or quit. With the editor, a java error appear :
Looks like, when trying to figure out valid affixes for a type of item, the editor sometimes encounter db record references that do not exist. Well, the important thing is, this is now fixed! Yay!
Please grab the latest version. Do let me know it still isn’t working!
Could somebody tell me how to reset one of my mastery choices (Arcanist) and refund fully the skillpoints so I can select a new mastery in game and spend those points?
EDIT: I figured it out: I had to set my “Arcanist” skill (the main bar) to zero, then add that point to my available skillpoints as I previously unlearned all points from my Arcanist, only one point remaind in the mastery bar which you cannot unlearn via the in game skill retrainer.
EDIT: Never mind, the item was created successfully, as you can see, the “of the Slayer” contained a typo, it worked with “Of the Slayer”. Notice the upper case of the first letter “O”.
The error message seem to indicate the editor encountered some kind of failure when it was trying find the bitmap to the item so it can figure out dimensions to fit the item in your inventory. I’m not quite sure why it isn’t able to find the bitmap here.
I’m doubly stumped that you eventually got it to work when you replaced “of” with “Of” in the name. The editor really doesn’t take the letter casing into consideration when looking at the item names. In fact, the editor is supposed to be able to ignore simple typos altogether.
When I attempted to generate the item, this is the output:
> set inv/1/items "Officer's Dermapteran Slicer of the Slayer"
Item placed in inventory-sacks/1/inventory-items/22
Officer's Dermapteran Slicer of the Slayer
augment-name : ""
augment-seed : 0
basename : records/items/gearweapons/swords1h/b012f_sword.dbr
<... omitted ...>
In any case, you may want to run the “diag” command to make sure the editor is able to find all the files it requires to work properly. This includes:
database/database.arz
resources/Text_EN.arc
resources/Items.arc
Not sure how helpful this advice is though, since you already got it to work. x)
Yeah, it’s likely that you’ve found a bug. I reviewed the code that does this, it looks like it really doesn’t really look at the number of shrines you’ve unlocked. Instead, it looks at the number of skills on your character that references db records in the “records/skills/devotion” path. This should work, as the game gives you an invisible “skill” record per devotion taken.
Looking at this now, counting this way might be problematic when the game awards you with an actual usable skill when you take the entire constellation. The respec command would accidentally give you back too many devotion points.
Anyway! Thanks for finding this! I’ll try to fix this soon!