Jump to content

Recommended Posts

I see that there are quite a few mentions of people adding enchants, but I'm struggling to find a guide. Here are some guesses that I've compiled.


BMac mentions in another thread that; Items file -> Recipes are used to do enchants. He also said that the recipe is automatically detected by the game (maybe?), if it's valid. You don't seem to link it with a GUID - at least I couldn't find that happening when I did a text search for a recipe's GUID in any of the files.


I note that the item qualities are mods that you put on items in the itemmods section of an item (simply paste the guid in there). What I don't understand is how the game knows you want to be able to enchant the item so the quality is improved or not. I'm drifting a little off-topic, so let's get back to it...


It seems that each box in the enchantment window has a recipe.

"CreationConditions": { Script }

Where it says Boolean HasItemMod(Guid)

- this means it's testing to see if an item has a specific GUID which is in the "Parameters" section, and will return a true or false (yes or no). I think the FunctionHash is that check. I'm not sure what ParameterHash is, though. So...

                                "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                                "Data": {
                                    "FullName": "Boolean HasItemMod(Guid)",
                                    "Parameters": [
                                    "Flags": "",
                                    "UnrealCall": "",
                                    "FunctionHash": 1518072523,
                                    "ParameterHash": -1645937910
                                "Not": true,
                                "Operator": 0

... would say "Does the item have this mod: "e7e3e8a5-0c70-4099-9d39-041a49d64ff0"?"

Then, I think the "Not": at the bottom is true, so you put a not operator on the result, i.e. flip it - true becomes false or false becomes true.
If it DOES have the mod, the output of this test is false. If it doesn't have the mod, then the output is true.

Because this section is called "CreationConditions" I'd assume that this means - DO create this recipe's output IF the result is true i.e. the item doesn't have that mod.

[edit] OH... are these sections for blanking out the boxes? So you can't click them?


How do we know which function to call? I don't know.


I guess "CanModifySpecificItemsIDs" is how the game links the recipe to the item.

The ingredient section seems very straightforward - itemID is the GUID for the ingredient (pyrite or jade or whatever).

At the bottom of the recipe you can see that it can remove/add mods - this is how you can upgrade a mod into another that's a fractionally better version of itself. The prerequisite allows you to make a series of mods.



TL;DR Questions

How does the game know if you don't want to enchant an item, but you use a fine or better mod? 

What are those hashes for, do we need to know them?


Edited by Svartypops
Link to comment
Share on other sites

Here's what I'm trying;


Item -> ItemMod -> StatusEffect -> Attack

That works for a simple item.

But then I want add one upgrade that upgrades again. So 1 -> 2 -> 3, no choices.

I added two recipes, one for each upgrade.

I added two new ItemMods, two new StatusEffects for ApplyOnEvents, and two new Attacks.

Do I just put the item in CanModifySpecificItemsIDs and then link the new itemmod at the bottom, prereq the previous one and remove it?

I didn't put any conditions. Yet.


Colours: Items.GameDataBundle, StatusEffects.GameDataBundle, Attacks.GameDataBundle

Edited by Svartypops
Link to comment
Share on other sites

Unfortunately you do need the conditionals to prevent being able to upgrade everything.  To answer your earlier question, that's what the conditionals there are for--limiting availability.  Something cool I just learned is that you can add your own item sketches in the top of the item data and just put the 300x240 png in that location: 

"PencilSketchTexture": "gui/itemsketches/sketch_solo_hero_back.png"
Link to comment
Share on other sites

For reference, I put my findings regarding conditionals in this thread here.


The conditional is used to check whether a null status effect has been applied (like a flag in programming) - the whole thing is better illustrated in that thread. As noqn said, the Function lines can be ignored/omitted.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...