Noqn Posted July 30 Author Share Posted July 30 On 7/20/2024 at 4:42 AM, BegrudgingDM said: Finally, when I click the "Help" button, it crashes the app! I don't know if that's the intended use or not haha. Btw @BegrudgingDM is this fixed for you now? Link to comment Share on other sites More sharing options...
BegrudgingDM Posted July 31 Share Posted July 31 6 hours ago, Noqn said: Btw @BegrudgingDM is this fixed for you now? Just tried it and it worked perfectly! 1 Link to comment Share on other sites More sharing options...
Kvellen Posted July 31 Share Posted July 31 15 hours ago, Noqn said: @Kvellen ah turns out I had time to go ahead and implemented your suggestions Thanks! I agree with restricting conditions on links to just exiting ones. Seemed like bad practice to me when I noticed them, and I couldn't really come up with any solid use cases. So wasn't going to push for it being implemented if it were a choice between it and ExternalVO field. Which while also niche has some additional uses I can think of beyond its original intention. 1 Link to comment Share on other sites More sharing options...
Cmushi Posted August 5 Share Posted August 5 (edited) When using conditionals in Progression Tables, the auto-complete lists all conditionals, including non-Progression Tables conditionals. I was made aware of this since some conditionals did not not work and saw that there are different conditionals category in https://eternity.obsidian.net/game-data-formats/conditionals. Would it be possible to restrict conditions to their usage? For example: "ProgressionTableHasAbility" appears only Progression Tables conditional auto-completes. "CanUseAbility" and "HasAbility" in RPG (conversations?). "HasActiveAbility" in Targeting Filter (status effects or AI commands?). Edited August 6 by Cmushi 1 Link to comment Share on other sites More sharing options...
Cmushi Posted August 10 Share Posted August 10 Is there a way to rename the "Subclass" title in paladin subclass selection menu and how do you make disposition automatically appear in custom subclasses ability through the editor? 1 Link to comment Share on other sites More sharing options...
Kvellen Posted August 14 Share Posted August 14 (edited) On 7/30/2024 at 10:50 PM, Noqn said: Users can now edit Exteral VO values in Conversation Talk Nodes. Uh-oh, new nodes default to the ExternalVO being checked and auto-fill with "null". Clicking on the field when this is the case crashes the editor This can be worked around by unchecking "ExternalVO", closing the conversation, and then reopening it. Not a problem for existing nodes from can tell. Edited August 14 by Kvellen 1 Link to comment Share on other sites More sharing options...
Noqn Posted August 17 Author Share Posted August 17 (edited) Gotten hold of a computer now, sorry for the late replies! On 8/5/2024 at 3:13 PM, Cmushi said: When using conditionals in Progression Tables, the auto-complete lists all conditionals, including non-Progression Tables conditionals. I was made aware of this since some conditionals did not not work and saw that there are different conditionals category in https://eternity.obsidian.net/game-data-formats/conditionals. Would it be possible to restrict conditions to their usage? Ooh, excellent idea! I've limited them like this: Progression Tables only: Spoiler "ProgressionTableHasAbility" "ProgressionTableIsAttribute" "ProgressionTableIsBackground" "ProgressionTableIsClass" "ProgressionTableIsCulture" "ProgressionTableIsPartyMember" "ProgressionTableIsPlayer" "ProgressionTableIsRace" "ProgressionTableIsRandomIndex" "ProgressionTableIsSubclass" "ProgressionTableIsSubrace" Won't show up in Progression Tables: Spoiler "HasAbility" "IsAttributeScoreValue" "IsBackground" "HasClass" "IsCulture" "IsPartyMember" "IsRace" "HasSubClass" "IsSubrace" RecipeData only: Spoiler "HasItemMod" "IsSoulbound" "IsUnique" Conversations marked ConversationDisplayType: ShipDuel Spoiler "CanFlee" "FullSailWillRam" "HalfSailWillRam" "HasCaptainPersonality" "HasOngoingAction" "HasOngoingActionOfType" "HasShipDuelAdvantage" "IsActionValid" "IsAtShipRetreatDistance" "IsCurrentHullHealthValue" "IsCurrentSailHealthValue" "IsInCombatEncounter" "IsLastVolleyDamageAmount" "IsLastVolleyHitCount" "IsLastVolleyMissCount" "IsLastVolleyShotCount" "IsShipDeathType" "IsShipDistance" "IsShipExploded" "IsShipType" "ShipDuelAIActionIs" "ShipDuelIsFirstTurn" "ShipDuelIsRelativeBearing" "ShipDuelIsTurn" On 8/10/2024 at 9:35 PM, Cmushi said: Is there a way to rename the "Subclass" title in paladin subclass selection menu and how do you make disposition automatically appear in custom subclasses ability through the editor? Gonna check this out On 8/14/2024 at 6:58 PM, Kvellen said: Uh-oh, new nodes default to the ExternalVO being checked and auto-fill with "null". Clicking on the field when this is the case crashes the editor ops, fixed now Anyhow, new release! 2024-08-17 Progression Table, Ship Duel and Recipe-related Conditional Calls are now only available in auto-completions when appropriate. Certain Conditionals are no longer available in Progression Table auto-completions to avoid confusion with PT variants (e.g. 'HasAbility' vs. 'ProgressionTableHasAbility') ExternalVO values in new Talk Nodes are now properly initialized as empty strings. Edited August 17 by Noqn 1 2 Link to comment Share on other sites More sharing options...
lalolalo9 Posted September 2 Share Posted September 2 Hi Hi Amazing work with Apotheosis, even the name is wonderfully chosen! I have been having a blast putting in more AI conditionals and stuff like that However as I am just an amateur at programming I'm not sure how to acces the names / string names of certain fields in the User scripts. For example I know I need string number 253, but idk how to get the localized name for this string. I am trying to see if I can add all spell buffs as a CustomAIConditionalScriptSet. This so I can realize my grand master plan AI first for my own party, then for mobs :D I know how to do it manually but doing it in an automated way sounds cool to try But first things first, making the spell CustomAIConditionalCategory for each class. However I am lost with the stringindextable and stuff like that, I can't solve an easy thing like the following: Where I just want to make an extra category for each existing class SetGameDataPath("ai.gamedatabundle"); foreach (var POEClass in Components<CharacterClassComponent>()) { CustomAIConditionalCategoryComponent test = new CustomAIConditionalCategoryComponent { CategoryName = POEClass.DisplayName }; } Sincerely lalolalo9 1 Link to comment Share on other sites More sharing options...
Noqn Posted September 7 Author Share Posted September 7 On 9/2/2024 at 2:54 PM, lalolalo9 said: I have been having a blast putting in more AI conditionals and stuff like that However as I am just an amateur at programming I'm not sure how to acces the names / string names of certain fields in the User scripts. Ok first of all I'm ridiculously excited that someone is using the User Script feature Your post has made me realize the API is severely lacking some features (like adding new GameDataObjects, editing/accessing StringTable text...) Besides that, I've started working on setting up User Scripts with an external editor, which I think would help tremendously: I'll make sure to write a new Wiki page for User Scripts as well, and instructions to configure VS Code properly for this. On 9/2/2024 at 2:54 PM, lalolalo9 said: Amazing work with Apotheosis, even the name is wonderfully chosen! YES Thanks I'm genuinely happy about the name, I liked how Fallout's G.E.C.K. modding kit was named after an in-universe thing and wanted something similar. 2 Link to comment Share on other sites More sharing options...
Hoo Posted September 15 Share Posted September 15 @Noqn, Hello. It seems that "Open in New Tab" in the Editor shows blank page after the latest update. Could you check this issue? Thanks in advane 2 Link to comment Share on other sites More sharing options...
Kvellen Posted September 19 Share Posted September 19 Getting a crash whenever I try altering a global expression if there is already a modified global expression in mod. Steps to reproduce: Go to the Global Conditionals tab, search for and open "ge_ability_holy_radiance" Remove the "_" in "Holy_Radiance", click accept, and then Save the mod. Close and restart the editor. Load the mod with the altered global expression. In the Global Conditionals tab search for and open "ge_ability_dazzling_lights" add a "or AreGuidsSameGameData(Arkemyrs_Dazzling_Lights_Trickster, oei_interactionSelectedGameData)" to the statement. Click Accept, and save. The editor crashes. 1 Link to comment Share on other sites More sharing options...
Cmushi Posted September 20 Share Posted September 20 Is there a way to arrange the order of abilities inside progression tables? I think they are sorted by ability ID as new abilities are added right off base abilities however they seem to be sorted randomly. 1 Link to comment Share on other sites More sharing options...
Noqn Posted September 20 Author Share Posted September 20 (edited) On 9/19/2024 at 12:59 PM, Kvellen said: Getting a crash whenever I try altering a global expression if there is already a modified global expression in mod. Fixed now! On 9/15/2024 at 4:09 AM, Hoo said: It seems that "Open in New Tab" in the Editor shows blank page after the latest update. Could you check this issue? Thanks in advane I forgot to write back after i patched this, sorry 2024-09-20 Fixed CTD when saving modified Global Conditionals Updates to User Script API 2024-09-15 Fixed regression causing some GameData pages not to be displayed. 2024-09-14 User Scripts can now be edited through an external editor and synced to Apotheosis. Extended User Script API. Users can now append new String Table entries directly from String Table tabs. Modded .stringtable files are now properly written indented again. Edited September 20 by Noqn 1 2 Link to comment Share on other sites More sharing options...
Noqn Posted September 20 Author Share Posted September 20 (edited) 11 hours ago, Cmushi said: Is there a way to arrange the order of abilities inside progression tables? I think they are sorted by ability ID as new abilities are added right off base abilities however they seem to be sorted randomly. I remember when I started trying to recreate the whole Progression Table view in Apotheosis that I couldn't make sense of what determines the in-game ability order. I double checked and the order is not consistent with IDs, not DebugNames, not in-game names, not the order the abilities were defined in abilities.gamedatabundle, and not the order their UnlockableAbility where in in the BaseProgressionTableComponent... Apotheosis orders based on the UnlockableAbility order, which will not necessarily reflect how it looks in-game. I wanted to make some drag-n-drop feature like what you ask for, but it would have to be consistent with in-game rendering first. If you're editing a Table directly, you can expand the AbilityUnlocks list, right-click and select Cut, then right-click the row where you want it and select Insert. That way it'll be rendered earlier/later in Apotheosis, but probably won't change the in-game order. Edited September 20 by Noqn 1 Link to comment Share on other sites More sharing options...
Noqn Posted September 20 Author Share Posted September 20 @lalolalo9 With these last patches User Scripts API got extended and cleaned up significantly, I'll start working tomorrow on the new documentation on general use cases, and how to set up script editing with VS Code 1 Link to comment Share on other sites More sharing options...
lalolalo9 Posted September 21 Share Posted September 21 Hurray for the updates!!! 1 Link to comment Share on other sites More sharing options...
Noqn Posted September 26 Author Share Posted September 26 A bit late, but I think I've covered most of what can be done with User Scripts in the documentation now! https://gitlab.com/noqn/apotheosis/-/wikis/User-Scripts 1 Link to comment Share on other sites More sharing options...
Hoo Posted October 5 Share Posted October 5 Hello. I have a question about Summons; Is there any way to put a new summoned creature type? For example, there is an incarnate summon creature, such as Incarnate (Berath), which summons 2 creatures; Pallid Knight and Usher. In attacks.gamebundle, we can see what SummonFileList is loaded by the spell (prefabs/characters/character_templates/creature/summons/cre_priest_planargate_berath_usher.prefab and so on). I want to copy the summon file to another and modify some stats such as name, equipments, and abilities. But it seems not doable, because the prefab file cannot be copied nor created. 1 Link to comment Share on other sites More sharing options...
Cmushi Posted October 22 Share Posted October 22 QOL Suggestion: Add a "Show Similar" option that creates a search query with the current field. 1 Link to comment Share on other sites More sharing options...
Noqn Posted October 25 Author Share Posted October 25 On 10/5/2024 at 8:50 AM, Hoo said: Hello. I have a question about Summons; Is there any way to put a new summoned creature type? No, I think the most you can do is find the corresponding CharacterStats object (under Characters) and edit some data of an existing summon from there. But you can't create a new one. Sorry as always for my late reply On 10/22/2024 at 5:25 PM, Cmushi said: QOL Suggestion: Add a "Show Similar" option that creates a search query with the current field. Great suggestion, will look at this 1 Link to comment Share on other sites More sharing options...
Noqn Posted October 25 Author Share Posted October 25 (edited) 2024-10-25 Right-clicking a value in a GameData tab and selecting "Find Similar" will open the Query sidebar and search for other objects that has a matching value. I think this is going to be insanely convenient, thanks for the idea @Cmushi Edited October 25 by Noqn 1 1 Link to comment Share on other sites More sharing options...
Cmushi Posted October 25 Share Posted October 25 (edited) You already added it, that's insane! Edit: Tried it out and it works perfectly. I hoped that I could search condition as well as I can't figure out how to input them in the search query. How do you search for empty, not empty and "IsHealthPercentage(This, LessThanOrEqualTo, 50)" ActivationPrequistes? I tried the following but none seem to work: *GenericAbility.ActivationPrerequisites=empty *GenericAbility.ActivationPrerequisites=null *GenericAbility.ActivationPrerequisites=" " *GenericAbility.ActivationPrerequisites!=empty not *GenericAbility.ActivationPrerequisites=empty *GenericAbility.ActivationPrerequisites=not empty *GenericAbility.ActivationPrerequisites=IsHealthPercentage(This, LessThanOrEqualTo, 50) *GenericAbility.ActivationPrerequisites="IsHealthPercentage(This, LessThanOrEqualTo, 50)" Edited October 25 by Cmushi 1 Link to comment Share on other sites More sharing options...
Noqn Posted October 25 Author Share Posted October 25 Agh, I hadn't thought about handling Conditionals in Queries at all... It's tricky because behind Apotheosis' scripting string representations there are some much more bothersome data models hidden away from the users. I really like this syntax: 22 minutes ago, Cmushi said: *GenericAbility.ActivationPrerequisites=empty *GenericAbility.ActivationPrerequisites="IsHealthPercentage(This, LessThanOrEqualTo, 50)" (I wonder if I could make the Scripts/Conditionals auto-completion and syntax highlighting features work within the query editor conditional strings... ) Link to comment Share on other sites More sharing options...
Noqn Posted October 25 Author Share Posted October 25 19 minutes ago, Noqn said: It's tricky because behind Apotheosis' scripting string representations there are some much more bothersome data models hidden away from the users. Nevermind, I could do it quick and dirty by comparing the parsed expression text... 2024-10-26 Users can now select "Find Similar" when clicking Conditional or Script rows. It can be written like this: *GenericAbility.ActivationPrerequisites != "" *GenericAbility.ActivationPrerequisites = "IsHealthPercentage(This, LessThanOrEqualTo, 50)" you can also use &= to find conditionals with partial matches (see more here https://gitlab.com/noqn/apotheosis/-/wikis/General-Instructions/Queries#string-selector) *GenericAbility.ActivationPrerequisites &= "IsHealthPercentage(" 1 1 Link to comment Share on other sites More sharing options...
Hoo Posted October 26 Share Posted October 26 1 hour ago, Noqn said: Nevermind, I could do it quick and dirty by comparing the parsed expression text... 2024-10-26 Users can now select "Find Similar" when clicking Conditional or Script rows. It can be written like this: *GenericAbility.ActivationPrerequisites != "" *GenericAbility.ActivationPrerequisites = "IsHealthPercentage(This, LessThanOrEqualTo, 50)" you can also use &= to find conditionals with partial matches (see more here https://gitlab.com/noqn/apotheosis/-/wikis/General-Instructions/Queries#string-selector) *GenericAbility.ActivationPrerequisites &= "IsHealthPercentage(" These are what exactly I really wanted to. Thank you indeed! 1 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