-
Posts
489 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Blogs
Everything posted by Noqn
-
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("
-
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: (I wonder if I could make the Scripts/Conditionals auto-completion and syntax highlighting features work within the query editor conditional strings... )
-
GlobalGameSettings changes
Noqn replied to Hoo's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
Weird, it shouldn't work like that... Basically, edits to a Component are going to be "isolated" by properties. If you make an edit to a specific value in a component (e.g. ItemComponent.IsUnique) that is not going to affect anything else in that Component. However if you make an edit to a property in a component that is a Structure (has nested values e.g. AttackBaseComponent.DamageData) or is a List of Values (e.g. GrimoireComponent.Spells) it is going to overwrite ALL of that property and cause conflicts with other mods that edit that property. This is what happens to ProgressionTables, ClassProgressionTableGameData BaseProgressionTableComponent AbilityUnlocks (all the abilities in the table... editing any of them is going to overwrite the entirety of AbilityUnlocks) ... DefaultCustomAI: DruidAggressive <- editing this won't cause any conflicts with mods that edit AbilityUnlocks On the other hand, changes to TrapAccuracyPerLevel in GlobalGameSettings shouldn't be overwritten since it's a "top level property" in a Component (not within a Structure or List). GlobalGameSettings CombatSettingsComponent TrapAccuracyPerLevel <- editing this shouldn't cause conflicts with anytning else in the CombatSettingsComponent, and should only be overwritten if another mod edits this specific value If it's not being applied to the game, that's super weird, maybe caused by something else... sorry I couldn't help and sorry for late answer -
GlobalGameSettings changes
Noqn replied to Hoo's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
-
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.
-
Fixed now! 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.
-
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. 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.
-
Gotten hold of a computer now, sorry for the late replies! Ooh, excellent idea! I've limited them like this: Progression Tables only: Won't show up in Progression Tables: RecipeData only: Conversations marked ConversationDisplayType: ShipDuel Gonna check this out 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.
-
2024-07-30 Users can now edit Exteral VO values in Conversation Talk Nodes. Users can now edit pre-existing vanilla Link Conditionals in Flow Charts. Added appropriate tags to Conditionals and Scripts button tooltips in Flow Chart Nodes for clarity, e.g. [On Enter Scripts]. The Query sidebar's "Clear All Text" button now uses the correct icon. Made a quick release after all Ah yeah you're right, and it's about time I made a dedicated options page
-
@Kvellen ah turns out I had time to go ahead and implemented your suggestions Just got a couple questions From what I can tell it feels like bad practice to put stuff in the Link Conditionals, for example having to enter duplicate conditionals if there are several links to the same node. The places I checked out where the devs have used Link Conditionals, they could've just used the Node Conditionals to the same effect. I'm considering hiding the Link Conditionals button, unless the Link already had existing Conditionals. This way the user can check out and edit vanilla conditionals but otherwise be prevented from using Link Conditionals instead of Node Conditionals. Do you think this would be a good idea or too restrictive? An example: The icon is meant to look like this btw but doesn't look very clear in small buttons. With this change I'm gonna add a tag to the the conditionals/script button tooltips for clarity, like [Conditionals] / [Link Conditionals] / [On Enter Scripts] / ... This change might be enough that Link Conditionals don't have to be hidden at all? Though less clutter is always nice. I'm going to let you decide what I should go for, I'm uncertain myself
-
2024-07-29 Fixed DLC StringTables not being compiled to apotheosis_exported. Corrupt conversation StringTables files are now skipped rather than causing CTDs when compiling vanilla data. Users can now rename and delete GameDataObjects through the Game Data sidebar context menu. Apotheosis will now check for updates before performing a first-time setup. Removed DataEventScriptComponent as an optional component to Ability/Attack GameDataObject types. Text in Quest pages now properly updates when the localization is changed. Added syntax highlighting, auto-completions and multi-line editing to the Game Data Query sidebar! Auto-completions are now automatically closed if... the active text range has been split up in several syntax tokens (e.g. typing a comma after 'Fireball'). the user presses backspace while the cursor is at the start of the active text range. Opening auto-completion while the cursor is in existing text (e.g. 'Fireball') will... no longer select that text (the cursor will remain where it is). no longer initially filter the list of options based on that text, instead the best match will be selected. (The list will be filtered once the user starts typing.) Pressing Ctrl+Enter in an expression editor will have the same effect as pressing "Accept". Pressing Ctrl+Space will close an auto-completion window.
-
Hi, this is the right place to ask! Also good timing, I've been working on some updates these last weeks and can take a look at your issues as well Icons in general are baked into one of the .unity3d or .assets files in ...\PillarsOfEternityII_Data\*.assets ...\PillarsOfEternityII_Data\assetbundles\*.unity3d I've been using this tool: https://github.com/Perfare/AssetStudio to view & extract them. Background icons specifically can be found in: ...\PillarsOfEternityII_Data\resources.assets @Kvellen has had success replacing loading screen images, maybe a similar method could be used to override/add new background icons? Yeah this is functionality I really should add There's no way to do it currently, you'll have to open the mod's .gamedatabundle and remove the json manually. Sorry. I also want to add some way to compare and revert individual changes made by a mod. Ops, absolutely not intended. It's meant to open the wiki https://gitlab.com/noqn/apotheosis/-/wikis/home May I ask what's your OS & web browser? Anyhow, I'll change the method for opening the browser...