-
Posts
489 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Blogs
Everything posted by Noqn
-
I got curious and took a look at the decompiled code and the GenericAbility.ConsumeResource function looks kinda like this: if (this.GenericAbilityData.IsSpellUsageType) { casterStats.ExpendSpellCast(this.AbilityClass, this.AbilityLevel); } else if (this.GenericAbilityData.IsClassPoolUsageType) { casterStats.ConsumeClassAbilityPoolPoints(this.AbilityClass, this.UsageValue); } else if (this.GenericAbilityData.IsAccruedResourceUsageType) { casterStats.ExpendAccruedResource(this.AbilityClass, this.UsageValue); } As you can see, the ExpendSpellCasts function doesn't take a parameter for UsageValue and always removes 1 cast from the appropriate spell level. So basically the game never utilizes the UsageValue of Spells specifically. I don't think there's a way to get around it sadly. You could maybe add a status effect with StatusEffectType set to SpellCastBonus and with -1 Value, to "remove" a Lv1 cast? But the spell could still be cast when you only have a single Lv1 cast remaining, so maybe wouldn't be helpful.
-
Thanks for reminding me I tried it now with the remaining voiced line in the finale, and it works flawlessly! The sfx of the wheel getting destroyed from the same .bnk still plays appropriately, so seems like just removing a single baked wem leaves the rest intact. iirc I considered that way back but didn't want to edit any of the convo files
-
Oh and one more thing, It was a while ago I tried this but I remember having trouble with abilities that have no attacks assigned to them (triggered instantly without any cast time whatsoever). The removal wouldn't trigger since there were no attacks made. Some Fighter abilities were designed like this, like Vigorous Defense and Unbending. Not sure if any Cipher spells are like that though.
-
iirc I've tried something like this: Expand TriggerAdjustment, set MaxTriggerCount to 1, RemoveEffectAtMax to true, and ValidateWithAttackFilter to true. I don't remember which TriggerAdjustment -> TriggerOnEvent value you need, to shut the effect off after the spell cast but still give the bonus for the cast itself. Either of these I think: OnBeforeAttackRollCalculated OnPostAttackRollCalculated OnLaunchesAttack OnActivateAttack Oh and this solution needs ClearWhenAttacks to false.
-
You probably could create an ability with several status effect children, each having an ApplicationPrerequisite (?) conditional for every disposition rank like this IsDisposition(CleverDisposition, Rank1, EqualTo) So that only one is active at the same time Wouldn't show the favored/disfavored indicators in the UI though
-
One possibility is that one of the files in the export folder of your installation has been corrupted. The previous bug was caused by a single .stringtable file in the german localization (\exported\localized\de\text\conversations\05_neketaka_artisans_district\05_bs_construct.stringtable) being messed up across all installations by default. That specific file is now being skipped, but if another file has gotten corrupted Apotheosis will still stall when exporting. I'm working on fixing the stalling and showing an error message to the player instead (as well as showing the update-available prompt earlier), but meanwhile you could try backing up your override folder and reinstalling deadfire. Really sorry for all this
-
Sorry, I messed up an update yesterday, you can download the latest version from gitlab which has fixed this issue: https://gitlab.com/noqn/apotheosis#download-run You still might have to wait a minute or so for the export to finish depending on how fast your system is. For a future update I will for sure add a progress bar.
-
****, I realized the app checks for missing exported data before checking for a new version, so everyone on 2024-02-18 will just be indefinitely stalled on the export and never get the update notification... Everyone who updated to yesterdays version would have to install the latest release manually. Agh ****.
-
2024-02-18 Added support for editing StringTables of all localizations! Users can now switch languages with the dropdown located to the right in the headerbar, which determines from which StringTables to load and save text. Note that this update may increase load times and memory usage. For a future release, users will have the option to omit loading localization files to mitigate this impact. ____ Got poked by someone asking for this, most of the code for supporting this has been in place for a long time but never finalized, so it wasn't too painful to complete
-
It's possible to edit variables in the SkillManager object's SleightOfHandSettingsComponent which affects difficulty. VisionModifier & DetectionModifier - How much detection/visibility affects difficulty. LevelModifiers - How much the victim's level affects difficulty. ItemModifiers - How much the item's category (such as weapon, consumable, quest item) affects difficulty. It's also possible to edit the loot lists (though it's not possible to mod which characters use which loot lists), the loot lists can look like this: It's possible to add conditionals to whether a single loot item, a nested loot list, and/or the entire loot list itself should be loaded. It's not possible to make a specific item harder/easier to pick, apart from changing its category's difficulty.
-
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.
-
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?
-
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) }
-
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:
-
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
-
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)