Jump to content

Noqn

Members
  • Posts

    496
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Noqn

  1. Hi @Kvellen sorry for late reply, I wanted to reply and post an update in the same go but I ran into what I suspect is corona Fever is down and headaches gone so I'm sit down and finish the last pieces now Thank you so much for your words and happy new year to you too I'll see if I can look into this later on. Maybe it's something Apotheosis could automatize.
  2. Speaking of quests, I will take the opportunity to take a look at this as well (better late than never )
  3. Oh nice, that would be great! Is the quest triggering in vanilla when you enter the bog before the druid attack or are you doing that by script hooks btw? I don't know if this was because I only half-accounted for the alternate descriptions, or because I realized they weren't usable for Objective Nodes, I'll double check later. It's possible to select alternate descriptions for the Quest (root) Node tho, but I noticed that Apotheosis only lets you select already defined alternate descriptions (with id >= 40_000) but not add new ones... I'll fix that for sure... Could you send me the version of the mod where this happens, if you still have the files?
  4. This works for me, even with an already opened container: In this case the 22746573-3fea-4362-bc8c-a919703d5793 is the ID of the container, which I got with the "PrintInstance oei_hovered" console command. if { IsInActiveScene(22746573-3fea-4362-bc8c-a919703d5793) } then { GiveItemsToObject(22746573-3fea-4362-bc8c-a919703d5793, Drug_Svef, 1) }
  5. Oh how time flies by First of all, a thank you so very much for the BPM Absolutely monumental work, well-deserved of being called complete! Also wanted to say that I'm really glad that you posted this and to hear people are still going to be here and available although less active. I feel a bit guilty since I've always been a bit lurky (never had much to contribue to strats and balancing ), though it's always been a delight reading your posts and the discussions in this thread. And fwiw, I am still lurking the forum! Lastly, if I remember correctly, someone once posted this in appreciation of the BPM and I want to say I share the sentiment:
  6. Aaah, replace that piece with this: result = conditional with { Data = conditional.Data with { FullName = "Boolean HasAbility(Guid, Guid)", Parameters = conditional.Data.Parameters.SetItem(1, pair[1]) } }; There's this documentation page, but it's lacking: https://gitlab.com/noqn/apotheosis/-/blob/main/Docs/User Scripts.md?ref_type=heads I'm aware the UserScripts are not very user fiendly at all, the lack of autocompletions especially is a big pain point. I'm considering adding a page to explain how to set up dotnet-script and importing the Apotheosis dlls so that so that the scripts can be edited in VS Code with full language analysis (which is what I've been doing recently), then the user can copy-paste that code into Apotheosis. Ooh, I'm loving this, would open up for a lot more combinations and playstyles than vanilla wizard specializations
  7. Hi, thanks for your questions, I'll do my best to answer If you right-click the topmost row in the tree view, you can select "Add Component..." and add any valid components. If you expand AttackBase row and right-click e.g. AttackBeam, you get to create a gamedata of that type instead. No, but that sounds like a good feature! Like getting a full list of other objects that reference a specific StatusEffect, or just which data types that can reference StatusEffects? If it's the latter, try searching the official documentation pages for Components and Structures, then manually Ctrl+F for "StatusEffectGameData". If it's the former, it's a feature that would be very useful but isn't available. For now, the closest thing is querying for a specific data type that may refer to a specific StatusEffect and see if that matches, for example: #GenericAbility.StatusEffects[*]=LAX02_Food_Ekkevit_SE_Hangover ^ will display abilities that contain your status effect Ooooh, it makes me very happy that someone is getting use of the use script functions! This script should do the trick, just replace the contents of the SubclassPairs: https://gitlab.com/noqn/apotheosis-user-scripts/-/blob/main/swap_subclass_checks.cs (Note that IsPaladinOrder or IsDeity are used in some conversations instead of the HasSubclass conditional. In case you specifically want to replace Paladin/Priest subclass checks, you would have to edit this script to properly replace those checks too.) Yeah I saw your thread, I briefly checked the decompiled code with dnSpy to see how it's implemented, but didn't get any answers from what I looked at. Anyhow, my guess is that it's hardcoded so that only Custom1 shows up. No, but that would be a good feature. I've considered a data view where you get to visualize all mod files of the current mod, get to see exactly which changes those files make, compare the changes with vanilla/dependent mod values, etc. Some kind of JSON preview would be a good thing on top of that (and really nice as a separate feature regardless). If you create a BaseProgressionTableAppend object, you'll only have the option to add new abilities to the referenced table, not edit ones that already exist in it. The advantage is that it will be fully compatible with other mods that edit the same table, so I highly recommend it if you only need to add new stuff. Editing the CharacterProgressionTable or ClassProgressionTable objects directly will however allow you to edit the existing abilities, at the cost of overriding/getting overriden by all other mods that edit the same table. (I might've misunderstood this question, let me know if that's the case.) Hm, this might be tricky, don't know if there're any vanilla spells that only trigger once like that. Something like this for finding StatusEffects which trigger on a spell attack at least: #StatusEffect{AttackFilter.Source=Spell && EventValue=OnLaunchesAttack} I think if you edit the ApplicationPrerequisites of the StatusEffect you might be able to achieve that (though testing may be required): HasStatusEffect(Target, Your_SE_here)
  8. Thanks, your tool looks awesome too I'll take a more in depth look at it tomorrow Maybe using the RemoveFromParty / RemoveFromPartyAndLeave scripts could reset the stats? You could try running them as console commands to test: https://eternity.obsidian.net/game-data-formats/scripts#RemoveFromParty I have a gut feeling it won't work, but it's the only thing I can come up with and is worth testing at least
  9. I'm gonna take this opportunity to promote Apotheosis Download links can be found here: https://gitlab.com/noqn/apotheosis#download-run For this you want to navigate to GameData -> Items -> ItemMods and search for soul_reaper to find the right object. Next you want to expand the StatusEffectsOnEquip row, right-click on the child row and select Duplicate. (Creates a new row with the same ID reference). Then right-click the duplicate row that was just added, and select Assign Duplicate. (Creates a duplicate of the GameData object that is referenced, then assigns the ID of the new object to the selected row). In the popup dialog, keep the old name but add _OnCrit at the end to distinguish it from the old effect, then press Accept. Next press the Save button under the tab, then you'll get to enter a name for you mod folder. After that, right-click the _OnCrit row and select Open in New Tab. In this new tab you want to make a few changes: Edit the OverrideDescriptionString text so that it mentions "on scoring Crit" or something, rather than "on scoring a Kill". (Press the Pen icon to edit text) Change the EventValue row from OnScoringKill to OnScoringCriticalHit After all that, hit the save button under the 2nd tab, as well as the save button in the upper left corner of the app window. One concern with this solution (I haven't tested it) is that the effects could stack separately (potentially getting up to two x4 stacks)? But anyhow you'll find out if that's the case
  10. It will be fully playable, you won't miss generic Priest dialogue options, but you won't get any "Priest of Rymrgand" options when other classes would've gotten a special option for their Deity. CharacterSubClassComponent -> IncompatibleWith lets you add new restrictions, but the ones with opposing dispositions are automatically detected as invalid combos by the game, sadly... So there's no way to "enable" forbidden combos.
  11. Oh, this is probably something I should support. Ok I looked into it, the crash happens because BPM Buffs adds a statuseffect named Perishing_Strike_SE_ApplyOnEvent without overriding the old SE also named that, and I hadn't accounted for duplicate names (which I should've). Both of these issues were quick to fix, in other words a new release is up now 2023-10-02 Fix CTD when using auto-completion in the expression editor when there are more than two GDOs sharing the same name. Support capitalized keywords in expression editor (AND, OR, NOT, THEN, IF, TRUE, FALSE).
  12. Uh oh. First of all, a thousand thanks for reporting! I should definitely implement crash log functionality, but for now could you describe how to reproduce the crash? Are you separating each conditional with and or or, like this? HasAbility(Player, Fireball) or Always(True) If you are already doing this, could you post an example of script text you've entered that is not validating? Btw, it's not the best docummentation, but I've written a bit about scripts/conditionals syntax here: https://gitlab.com/noqn/apotheosis/-/wikis/General-Instructions/Expressions A feature I've been aware would be useful, would be some hinting (like green/yellow underlines) that indicates exactly what part of the script syntax can't be parsed correctly. (Currently it only warns about invalid characters and unfinished strings iirc.)
  13. That's insane, what even are the odds for you both to be working on this?
  14. Yep, go to GameData -> ProgressionTables -> CharacterProgressionTable. Then you can either right-click CharacterProgressionTable to create a new one from scratch or move to the panel to the right and search for the table you want (e. g. one of Eder's tables), right-click that row and press Duplicate - then you'll create a deep copy of the that table. After you've created the new table you can edit the by pressin the Pen icon next to AbilityUnlocks You can see this in action here: (It looks better for ClassProgressionTables since the view puts ability icons on rows depending on their PL requirement and not Level requirement - so almost all abilities are on the first row in CharacterProgressionTables) You can then add the new ProgressionTable to your Companion by navigating to GameData -> Characters -> Companions, selecting the Companion in the panel to the right, then in the tree view expand the ProgressionTables row and click the row of the PT you want to replace, then lastly just search/select the PT you want to replace it with And hit the save button to save the mod:
  15. Hi just a heads-up that this can be done with Apotheosis:
  16. Try including only the modified properties of each component. This works for me, though it would only apply to a new game, not mid-playthrough after recruiting Eder. { "GameDataObjects": [ { "$type": "Game.GameData.CharacterStatsGameData, Assembly-CSharp", "DebugName": "Companion_Eder", "ID": "90f0d0df-dde6-4e68-b56b-66a446341ce3", "Components": [ { "$type": "Game.GameData.CharacterStatsComponent, Assembly-CSharp", "BaseConstitution": 10, "BaseIntellect": 16 } ] } ] }
  17. Yeah this would be a great feature to add, I'll work on this next!
  18. New update! Should fix the bug reported by @abot 2023-09-24 Added support for AIDecision trees! Fixed Quest StringTable entries being written with incorrect IDs. The save button is now properly disabled after unloading unsaved changes. Here's a video I posted a bit further up on this page showcasing AIDecisionTree modding
  19. 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
  20. 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
  21. 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?
  22. 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
  23. 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
  24. 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
×
×
  • Create New...