Jump to content

Apotheosis - Mod Editor for Deadfire


Recommended Posts

15 hours ago, Noqn said:

@Kvellen ah turns out I had time to go ahead and implemented your suggestions 😄

Thanks!

I agree with restricting conditions on links to just exiting ones. Seemed like bad practice to me when I noticed them, and I couldn't really come up with any solid use cases. So wasn't going to push for it being implemented if it were a choice between it and ExternalVO field. Which while also niche has some additional uses I can think of beyond its original intention.

  • Thanks 1
Link to comment
Share on other sites

When using conditionals in Progression Tables, the auto-complete lists all conditionals, including non-Progression Tables conditionals.

I was made aware of this since some conditionals did not not work and saw that there are different conditionals category in https://eternity.obsidian.net/game-data-formats/conditionals.

Would it be possible to restrict conditions to their usage?

For example:

  • "ProgressionTableHasAbility" appears only Progression Tables conditional auto-completes.
  • "CanUseAbility" and "HasAbility" in RPG (conversations?).
  • "HasActiveAbility" in Targeting Filter (status effects or AI commands?).
Edited by Cmushi
  • Like 1
Link to comment
Share on other sites

Is there a way to rename the "Subclass" title in paladin subclass selection menu and how do you make disposition automatically appear in custom subclasses ability through the editor? 

image.thumb.png.39b0130e178816a1f3a82186a78912e5.png

  • Hmmm 1
Link to comment
Share on other sites

On 7/30/2024 at 10:50 PM, Noqn said:

Users can now edit Exteral VO values in Conversation Talk Nodes.

Uh-oh, new nodes default to the ExternalVO being checked and auto-fill with "null". Clicking on the field when this is the case crashes the editor 😬
This can be worked around by unchecking "ExternalVO", closing the conversation, and then reopening it.
Not a problem for existing nodes from can tell.

Edited by Kvellen
  • Like 1
Link to comment
Share on other sites

Posted (edited)

Gotten hold of a computer now, sorry for the late replies!

On 8/5/2024 at 3:13 PM, Cmushi said:

When using conditionals in Progression Tables, the auto-complete lists all conditionals, including non-Progression Tables conditionals.

I was made aware of this since some conditionals did not not work and saw that there are different conditionals category in https://eternity.obsidian.net/game-data-formats/conditionals.

Would it be possible to restrict conditions to their usage?

Ooh, excellent idea! I've limited them like this:

Progression Tables only:

Spoiler
"ProgressionTableHasAbility"
"ProgressionTableIsAttribute"
"ProgressionTableIsBackground"
"ProgressionTableIsClass"
"ProgressionTableIsCulture"
"ProgressionTableIsPartyMember"
"ProgressionTableIsPlayer"
"ProgressionTableIsRace"
"ProgressionTableIsRandomIndex"
"ProgressionTableIsSubclass"
"ProgressionTableIsSubrace"

Won't show up in Progression Tables:

Spoiler
"HasAbility"
"IsAttributeScoreValue"
"IsBackground"
"HasClass"
"IsCulture"
"IsPartyMember"
"IsRace"
"HasSubClass"
"IsSubrace"

RecipeData only:

Spoiler
"HasItemMod"
"IsSoulbound"
"IsUnique"

Conversations marked ConversationDisplayType: ShipDuel

Spoiler
"CanFlee"
"FullSailWillRam"
"HalfSailWillRam"
"HasCaptainPersonality"
"HasOngoingAction"
"HasOngoingActionOfType"
"HasShipDuelAdvantage"
"IsActionValid"
"IsAtShipRetreatDistance"
"IsCurrentHullHealthValue"
"IsCurrentSailHealthValue"
"IsInCombatEncounter"
"IsLastVolleyDamageAmount"
"IsLastVolleyHitCount"
"IsLastVolleyMissCount"
"IsLastVolleyShotCount"
"IsShipDeathType"
"IsShipDistance"
"IsShipExploded"
"IsShipType"
"ShipDuelAIActionIs"
"ShipDuelIsFirstTurn"
"ShipDuelIsRelativeBearing"
"ShipDuelIsTurn"

 

On 8/10/2024 at 9:35 PM, Cmushi said:

Is there a way to rename the "Subclass" title in paladin subclass selection menu and how do you make disposition automatically appear in custom subclasses ability through the editor? 

Gonna check this out 👍

 

On 8/14/2024 at 6:58 PM, Kvellen said:

Uh-oh, new nodes default to the ExternalVO being checked and auto-fill with "null". Clicking on the field when this is the case crashes the editor 😬

😬

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.
Edited by Noqn
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 3 weeks later...

Hi Hi

Amazing work with Apotheosis, even the name is wonderfully chosen!
I have been having a blast putting in more AI conditionals and stuff like that ;)
However as I am just an amateur at programming I'm not sure how to acces the names / string names of certain fields in the User scripts.
For example I know I need string number 253, but idk how to get the localized name for this string.

 

I am trying to see if I can add all spell buffs as a CustomAIConditionalScriptSet.
This so I can realize my grand master plan AI ;) first for my own party, then for mobs :D

I know how to do it manually but doing it in an automated way sounds cool to try ;)
But first things first, making the spell CustomAIConditionalCategory for each class.

 However I am lost with the stringindextable and stuff like that, I can't solve an easy thing like the following:

Where I just want to make an extra category for each existing class

SetGameDataPath("ai.gamedatabundle");
foreach (var POEClass in Components<CharacterClassComponent>())
{
  CustomAIConditionalCategoryComponent test = new CustomAIConditionalCategoryComponent
  {
    CategoryName = POEClass.DisplayName
  };
}

Sincerely

 

lalolalo9

  • Like 1
Link to comment
Share on other sites

On 9/2/2024 at 2:54 PM, lalolalo9 said:

I have been having a blast putting in more AI conditionals and stuff like that ;)
However as I am just an amateur at programming I'm not sure how to acces the names / string names of certain fields in the User scripts.

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.

On 9/2/2024 at 2:54 PM, lalolalo9 said:

Amazing work with Apotheosis, even the name is wonderfully chosen!

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.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...