Jump to content

Noqn

Members
  • Posts

    460
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Noqn

  1. Maybe HasStatusEffectType would work? not HasStatusEffectType(This, Concentration)
  2. New release! I've implemented automatic updates! (You still have to install *this* version manually though) I've also added a popup selector for most of the *.prefab fields. You'll get to choose from among what's available in the corresponding "PillarsOfEternityII_Data/assetbundles/*.unity3d" files. This will make it a lot easier to find values for character and effect prefabs, among others. Also started exporting conversations.manifest and fixed some other stuff mentioned here: 2023-01-19 Auto Updates! When a new release is available, a dialog will give the user the opportunity to download it. Added a "prefab path" selector popup. conversations.manifest files will now be exported. Fixed an issue which caused GameDataObjects to be created with DebugName set to null. SpeakerComponent.ChatterFile will now correctly default to an empty ID string. Improved generation time of Conversation & Quest diagrams. StringTable queries now search GameData/Conversation/Quest tables asynchronously.
  3. Thanks had a boatload of vacation days saved up! Oh wow thanks, I wasn't even aware of conversation manifests, I'll make sure they are generated. All you've written re: documentation is invaluable feedback, many thanks! I'm thinking about moving the documentation to the gitlab project's wiki page, then adding a "Help" or ? button to the application's header bar which will open that web page. Sounds good? Good point, how about displaying the mod's stringtable range in the Manifest-editing dialog? Thanks, I'm super happy how the error messages turned out I'll check ot the null debugname bug tho
  4. Yeah pretty much. All StringTableEntry text are stored when the mods are loaded, so here I'm just enumerating through the collections and doing standard string comparisons. If its particularily fast, it's thanks to .NET string comparisons being well optimized mmm, it's a bit awkward how the StringTableEntries are stored. You basically got three levels of nested Dictionaries: First you got a Dictionary with string keys (defining the language) and nested Dictionary values. These nested Dictionaries* has either GameData categories (e.g. Abilities, Items) or a path (e.g. "conversations\00_prototype\00_cv_drummer") as keys, and again nested Dictionaries as values. Lastly, these Dictionaries have int keys (StringTableEntry IDs) and StringTableEntry values. (*The second layer is a actually a class that wraps dictionaries and exposes some helper methods. Maybe this could be replaced in favor of just using extension methods?)
  5. Added a String Table Query to the sidebar! It will check for matching entries in the standard, Conversation and Quest StringTables: Clicking a row under GameData StringTables will open that StringTable in a new tab. Clicking a row under Conversation/Quest StringTables will open that convo/quest in a new tab. (You can then go to the StringTable view in that tab and find the specific entry from there.)
  6. aaagh. Alright, so GTK runs its own locale logic which is inconsistent with .NET's... Another release is up, this time it should be fixed.
  7. @RilleL oh that would be useful, I'll try to throw something together! Also, maybe this is not what you asked for, but for finding gamedata based on in-game text, check out Queries! https://gitlab.com/noqn/apotheosis/-/blob/main/Docs/Queries.md e.g. #GenericAbility.DisplayName &= "Minoletta" will match all abilities with "Minoletta" in their in-game name
  8. @RilleL Thanks for reporting. Yeah, this is the GUI library's doing... The "number editor" popup belongs to a particularily ancient part of the library and has quirks. The widget itself is basically a glorified text entry. To explain the 000000's, It's default behavior is to fill itself with with trailing 0's decimals. I've however disabled the decimals when editing an integer, and made it so that the decimals in a float value will initially be trimmed away. But once you press the +/- buttons, the widget will again fill the entry with trailing 0's decimals. It also formats the string independently of .NET locale like you guessed. I've published a new release which *should* fix the parsing of the string that is returned from the popup on all locales. Can you verify that the latest version is working? ______ Also, Thanks @Kvellen for finding some quite severe regressions and bugs: 2022-12-13 - TalkNode Speaker and Listener options are now updated when Character Mappings are edited - Fix float values being parsed incorrectly in GameData editor - Stop incorrectly throwing MismatchFromNodeID exception when loading Quests - Fix recusion causing stack overflow when editing Quest string tables.
  9. It happen 100% of the time for me. Unless I use the workarounds (shift+enter breaks, stop quoting users, stop using bullet lists, etc)
  10. Love this idea, I got it to work like this: "I can't follow Eothas around if you're going to keep dragging my soul into the Beyond whenever the whim takes you." [<link="gamedata://cbfa7a85-cc0f-436d-8d8a-4b61332e5a15">MIG</link>]
  11. I'm actually doing this for the .gamedatabundles that are compiled to apotheosis_exported to improve load times all booleans/numbers/Guids/enums with default values are skipped. I've vaguely played with the idea of letting users trim the output (and also disable JSON formating) before, so it's cool you brought it up. In terms of what's theoretically safe to skip: 1. Edits to pre-existing GameDataComponents' properties -> has to be included to register the change. 2. New GameDataComponents' properties -> could probably be skipped. 3. Struct properties -> can safely be skipped. One major concern I have is that it would be significantly harder to debug or manually fix the mod if a bunch of properties are hidden, so in terms of readability it might actually do more harm than good. Also, it might give users the impression that something has gone wrong if not everything is written. If I were to add a feature like this, it would have to be opt-in. In terms of size, while it depends on the data type, I suspect the difference would be negligible. Some of the really large data types like ProgressionTables actually has a smaller portion of values that are safe to default. I could see the case for this feature if you were to auto-generate a bunch of GameData with the User Script feature. At the moment I would be against it, but it's in the "definitely worth considering" category. I've added an issue to GitLab for the future.
  12. I'm experiencing this. If it helps, I can visibly see the text past the first paragraph disappearing from the text editor box, after having pressed "Submit Reply" and before the post is actually posted.
  13. 2022-12-10 Popups will now "gray out" their parent dialogs and not just the main window. Improvements to Bundle Path selector: Existing files are now hidden when selecting where to create a new Conversation or Quest. Add labels to New File/Folder popups indicating which you clicked, e.g. "New .conversationbundle" New File button in the headerbar is moved to the left of the New Folder button for consistency with icons in the rows. Clicking the empty area to the left of the New File icon in the rows will no longer trigger the New File popup. Exception handling when a Conversation or Quest couldn't be loaded: If it's a "fixable" issue, a confirmation dialog will be displayed with the option to either apply the fix or close the tab. If it's not "fixable", a message dialog with the exception message will be displayed and the tab will close. Excplicit messages have been created for most FlowChart errors.
  14. Additionally, the bundle selector will hide existing .conversationbundle files when selecting where to create a new Conversation. -> Also added some labels to popups in the bundle selector, and popups will now gray out the parent dialog, not just the main window: ->
  15. Oh nono, this is absolutely something Apotheosis should've accounted for. Don't hesitate to raise issues like this on GitLab
  16. Ok, here we go again: From now on, if an exception is thrown when a conversation or quest is loaded, and the issue is easily fixed (in this case setting some links' PointsToGhost to true), the user will get the option to either close the tab or let Apotheosis apply the fix: If there's no straightforward fix or something fundamental is wrong (like a missing root node), the tab will close and a simple message will be displayed:
  17. Ah what the .. my posts are getting cut off after the first paragraph, I've lost everything I wrote
  18. The duration extender is baked into the TriggerAdjustment of Blood_Storm_SE_AttackSpeed Copy the value and paste it to the TriggerAdjustment of Spirit_Tornado_SE_AttackSpeed should do the trick!
  19. 2022-01-04 Improvements to Conversation, Quest & GlobalScript references in the GameData editor: Will now displayed the name of referenced object rather than the ID. Clicking the row will now open a selector popup (previously these were not editable at all). Context menu includes a "Open in New Tab" option. Will no longer appear nested in a GuidString property* ->
  20. Fixed some bugs, thanks @Kvellen for reporting! 2022-01-03 TopicComponent now properly uses the CompanionTopics StringTable Fixed some properties not being initialized when adding a new Component: TalkingItemComponent.ItemGuidString CompanionComponent.CompanionGuidString
  21. Thanks for noticing, this was my error and it should not display as percentage. It's now fixed in the latest version! Great, I've given it its own category now. 2022-11-29 Fix StatusEffectLevelScaling display text Move ModScriptHookGameData to its own category ("ModScriptHooks")
  22. Just to clarify, I think I was mostly wrapped up in Companions passive skill spread when writing those posts! The main reason I lean heavily towards spreading points (more-or-less) evenly for Companions is that it makes it so much easier to switch party members without tilting the stat distribution. If everyone is specialized, switching members will most likely leave you with gaps in one skill and abundant points in another.
×
×
  • Create New...