Svartypops Posted June 30, 2021 Share Posted June 30, 2021 (edited) 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": [ "e7e3e8a5-0c70-4099-9d39-041a49d64ff0" ], "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 June 30, 2021 by Svartypops Link to comment Share on other sites More sharing options...
Svartypops Posted June 30, 2021 Author Share Posted June 30, 2021 (edited) 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. WoohoO! Colours: Items.GameDataBundle, StatusEffects.GameDataBundle, Attacks.GameDataBundle Edited June 30, 2021 by Svartypops Link to comment Share on other sites More sharing options...
Grape_You_In_The_Mouth Posted July 3, 2021 Share Posted July 3, 2021 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 More sharing options...
Svartypops Posted July 4, 2021 Author Share Posted July 4, 2021 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now