Jump to content

Noqn

Members
  • Posts

    528
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Noqn

  1. Thanks for finding! I'll take a look at this (and make the finishing touches on AI Decion Trees which I've been postponing for a long time now...) and see if I can release a fix tomorrow
  2. No, I firmly believe the current implementation is the best way. Opening up for loading invalid data can lead to a bunch of unexpected behavior. If some invalid edits have been made, they should be manually fixed first. The warning & json highlighting should make it easy, in this case you want to replace the faulty line with this: "ClassID": "00000000-0000-0000-0000-000000000000", To find exactly what has gone wrong, you can look around the official gamedata documentation, in this case you're looking for StatusEffectDynamicValueAdjusment which is located in the Structures page: https://eternity.obsidian.net/game-data-formats/structures#statuseffectdynamicvalueadjustment
  3. Hi, thank you for letting me know and I'm sorry for the issues, I'll look into this! It really shouldn't hang like this at all. My ~15 year old laptop exports everything in maybe a couple minutes? And that's an extreme case. A few questions: Which DLCs do you have installed? Have you edited any of the .gamedatabundle files in the exported folders prior? Are you on Windows or Linux?
  4. Yeah I saw the screenshots, sorry for not responding. It's not something I've seen before I'm afraid or have a solution for
  5. If you are ok with using console commands for this save (will disable achievements for your current save), you can enter this command to increase his responsibility points: IncrementGlobalValue n_aloth_p2_responsible 999 (You have to enter IRoll20s first if you haven't already.) If you want to do it the modding way, here's the following instructions for Apotheosis: Select Conversations, search for 'endgameslides' and double click that option. Next search for 'Aloth' in the left-bottom search box in the conversation tab and press Enter. You should now be centered on the "Bank Node" which defines all of Aloth's ending slides. Now for every child node in this Bank Node (#146), the easies solution would be to press the Conditionals button (it has a Key icon) and replace all the text with either AlwaysFalse() or AlwaysTrue() depending on whether you want that particular slide to show up or not. Happy modding
  6. Oooh exciting, there were a couple of the narrator's voice lines baked into global.bnk that I couldn't cover with No Narrator Updated. I'll have to check this out, many thanks! YES FINALLY
  7. Hi, for this Apotheosis (mod editor) will be of much use, which you can download here: https://gitlab.com/noqn/apotheosis#download-run Open your work-in-progress mod (if you don't have one, skip this step). Navigate to Characters -> NPCApperanceOptions in the leftmost tree view, then click NPCAppearanceOptions in the panel to its right. Expand the following rows: NPCAppearanceOptions -> NPCAppearanceOptionsComponent -> SubraceAppearanceDatas -> [1] -> MaleHeadAppearancePieces Make sure that the Subrace value is Meadow_Human. Right-click the AppearancePiece[3] cell to the right of MaleHeadAppearancePieces, then in the popup-menu select "Add New Item" A new child will show up, with the value "prefabs/*.asset". Click it, then in the popup menu search for "eder", select "a_head_eder" and press Accept. Press the save button and then you'll be asked to name your new mod folder. (If you loaded a mod folder, you won't have to enter a new name.) It will now show up in character creation when making a male Human Meadow Folk!
  8. I don't remember whether I verified it in dnSpy, but I've always had the assumption that the last operator is ignored. I'm defaulting the last operators to 0 in Apotheosis, and that has never caused any unexpected behavior.
  9. I'm pretty much finished with AIDecisionTrees now! The expressions that are used for defining target prioritization use a different set of methods from the standard Scripts, though I've made sure to cover them all. There's no documentation on them, but the auto-completion feature should be of help enough One issue, as you can see in the videos, is that most of the trees have no DebugName assigned to them... I'm thinking of assigning DebugNames to the trees before exporting to `apotheosis_export` based on this order or priority: AiDecisionTrees whose CharacterClassID is set to a specific class will be named after that class. AiDecisionTrees which a CharacterProgressionTable points to will get that PT's name. If a CharacterProgressionTable contains all abilities of the AiDecisionTree, that table's name will be used. Next, the name of the CharacterProgressionTable with MOST matching abilities with the AiDecisionTree will be used. Lastly, the CharacterProgressionTable with ANY matching ability will be used. Afterwards with this implementation it looks like this, which from what I can tell is accurate enough: Sounds good? Idk if I should name the remaining trees something? I've also updated the export dialog so that it will let you know if you have partially exported data, thought it would be a good idea to clarify since it will show up for everyone after the update now that AI decision trees have to be exported.
  10. I found that 5/226 insight checks can also be solved with perception. Which sounds less than I would've thought, but I went to check some scripted interactions manually to confirm and I think it's accurate.
  11. In Carnage_SE_PrimaryAttackDamage you can see that they've intentionally set the scaling to WeaponDamage * 0.33 * (1 + (0.1 * PL)) From what I can tell from the code, the PrimarWeapon/SecondaryWeapon damage in the DynamicValue does not account for modifiers such as Weapon quality, it just makes a new damage roll based on the weapon's base min & max damage values. Which is consistent with what you've found
  12. Yeah, you're right. Looking at the decompiled code with dnSpy, the AttackBeam creates a timer based on "BeamDuration" without any external multipliers taken into account.
  13. New release with AppearancePiece popup and a few fixes and features! Be aware that AppearancePiece values are also used elsewhere for weapon scabbards, as well as character heads, hair and beards. So those will also be available in the popup when you click EquippableComponent -> AppearancePiece. @Hoo Let me know if you think the menu gets to crowded or filled with irrelevant stuff, I can break them up into separate categories if you'd like _____ 2023-07-17 Added AppearancePiece "prefab path" selector popup. AppearancePiece's ModelVisualDataPath and SummonPath's Filename children are now hidden. Clicking AppearancePiece/SummonPath will bring up the prefab selector instead. AppearancePiece and SummonPath can be used directly in string queries, e.g. #Equippable.AppearancePiece &= "great_sword_naga" Pasting objects no longer populates child rows that are supposed to be hidden. Added new context menu options when right-clicking an Expression row: Copy Expression text to clipboard Clear Expression 2023-07-07 Expression editor can now parse GameData DebugNames containing spaces if the user types them out "surrounded with quotation marks".
  14. Great suggestion, I'll add this as well! I think I'll also make it so that `AppearancePiece` can't be expanded, and when you click it you set `ModelVisualDataPath` directly instead.
  15. Those are similar to the instructions I used for No Narrator Updated, which works for voice files but not music files in deadfire
  16. I might have misunderstood your last post, did you want to import new item/spell icons with Apotheosis? If you add new icons by creating the atlas .png & .txt manually, Apotheosis will load those icons correctly and you'll be able to assign them to abilities/items. But there's no way (at the moment) to import new ones through Apotheosis, but it's a feature I've been thinking about adding: https://gitlab.com/noqn/apotheosis/-/issues/6 Try to find some Creative Commons-licensed icons sets, that would be fair game. You could also check these out this icon resource: https://www.nexusmods.com/pillarsofeternity2/mods/339 This too is something I've put on a to-do list https://gitlab.com/noqn/apotheosis/-/issues/5 I've got just a week left until vacation and work is chill atm so I might get started on these features
  17. You might need to edit the duration in the status effect (Spiritshift_StormBlight_SE_ChangeForm) instead.
  18. Not currently sadly I thought before about whether to load other icon sheets besides Item & SpellAbility, but there's a bit of manual work to extract the coordinates for each sheet and I figured it was low priority. Also some concerns about memory usage iirc. Which icon sets are you interested in?
  19. iirc there's no way to set the effect color with .gamedatabundles one solution might be to find some other appropriate effect to use instead? It should be easier to find other effects in Apotheosis now that there's a Popup menu for searching & selecting VisualEffects
  20. I'm viewing them with Unity Asset Studio (I think it's called) but I have no experience with modifying asset files whatsoever so I'm of no help there
  21. Sorry, I didn't mention that modscripthooks only trigger when you load a save or enter a new scene. This command (looking for the ID of the gsd_companion_pallegina_leaves script) A:\Games\Pillars of Eternity II Deadfire\PillarsOfEternityII_Data>findstr /s /i /m e62c7498-4ee1-446e-9008-c00532221daf level* gave me two matches in files `level4` and `level133` inside level4 I found an object `ScriptEvent #34347` which is basically equivalent to this script if { CallGlobalConditional(GE_Companion_Pallegina_Leave) and IsGlobalValue(b_Pallegina_Recruited, EqualTo, 1) and IsGlobalValue(b_Pallegina_Dead, EqualTo, 0) and IsGlobalValue(b_Pallegina_Quit_Party, EqualTo, 0) } then { CallGlobalScriptAfterTimePasses(gsd_companion_pallegina_leaves, 0, 1, 0, 0, False) } GE_Companion_Pallegina_Leave in vanilla is defined as IsGlobalValue(n_VTC_Faction_State, EqualTo, 2) or IsGlobalValue(n_Strongest_Rival_Faction, EqualTo, 2) you could change this conditional to fix the behavior of when her missive triggers
  22. If whatever used to trigger the conversation node has been cut, you could try creating a new ModScriptHook object to trigger it yourself under the right circumstances. Set its SucceedOnlyOnce to true and RunOnlyOnce to false, and with its Script set to trigger the conversation node. Something like this if { IsCompanionInRoster(Pallegina) and { IsGlobalValue(n_Allied_Faction, EqualTo, 1) or IsGlobalValue(n_Allied_Faction, EqualTo, 3) or IsGlobalValue(n_Allied_Faction, EqualTo, 4) } } then { StartConversation(Pallegina, companion_pallegina_hub, 224) } I don't remember whether the StartConversation script ignores the conditionals of the conversation node, so you might still have to edit those
  23. Agh I forgot to reply to this thread back when it was posted... I actually had the exact same experience with replacing music, I successfully replaced the main menu theme with Eora redux (though couldn't get it to loop), but any attempts at replacing any other tracks (in my case Eothas' piano theme with a slightly louder version) got me absolutely nowhere. My suspicion at the time was that you might also have to define the wwise states(?) to match Deadfire's stealth/conversation/normal states (which the main theme doesn't have configured iirc), but I had no motivation whatsoever to investigate that further. encampment...
×
×
  • Create New...