Jump to content

Welcome to Obsidian Forum Community
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

The "Feature Requests to Obsidian for Modding Deadfire" Thread


  • Please log in to reply
91 replies to this topic

#21
kilay

kilay

    (5) Thaumaturgist

  • Members
  • 524 posts

Please take a look here

 

https://forums.obsid...-caching-issue/



#22
peardox

peardox

    (5) Thaumaturgist

  • Members
  • 563 posts
  • Location:Manchester, UK
  • Deadfire Backer

Ooh - we're pinned :)

 

Go crazy guys - one week til the next cast...



#23
TT1

TT1

    Transcendent Spirit of the Obsidian Order

  • Members
  • 299 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Lords of the Eastern Reach Backer
  • Deadfire Backer
  • Fig Backer

There are some things I think should be nice to have. Some of the suggestions I already said during the dev stream, but now for register:

 

1) There are some attributes refering to "class" inside components, like RestrictedToClassIDs or BindableClassesIDs, for example. Could be nice to have the same, but for Races.

 

2) StatusEffectType: "ChangeForm" dont allow to change equipment or even to use equipped weapons. I propose a new StatusEffectType to allow use/ change equipment and weapons.

 

3) Could be interesting to have an attribute to define an array of Item IDs to make a "set" of Items, like in Diablo 2, for example. Or even a new Component to define sets of items, so the items could gain special abilities/ SE when combined. 2 items -> ability X. 3 items -> ability Y, etc.



#24
peardox

peardox

    (5) Thaumaturgist

  • Members
  • 563 posts
  • Location:Manchester, UK
  • Deadfire Backer

Actually in 2.1 we should be able to do sets like Diablo / WOW - here's my reasoning...

 

Something myself an @Kilay looked into was globalvariables, I ended up hacking the main bundle as a proof of concept got his pistols - he changed the trigger as we don't wanna hack exported.

 

These @BMac informs us as coming in 2.1.0

This will allow, I think, some scripted to conditionally add a set bonus


  • kilay likes this

#25
mammasaura

mammasaura

    (3) Conjurer

  • Members
  • 162 posts
  • Location:Seasurfing
  • Deadfire Backer
  • Fig Backer

I don't know if possible but two scripts that add/remove lootlists from a storage, but not regenerative.

 

There are these two scripts:

 

Void StoreAddRegenerationList(Guid, Guid)

Void StoreRemoveRegenerationList(Guid, Guid)

 

Storage seems to have a lists attached to it and in item.gamedatabundle seems you can manipulate only lootlist that are regenerative.

I don't know if the items you can buy only once are just added in a different way or not, but if they are in a list that can be attached...having the script for add and delete should be a huge thing and a lot appreciated.

 

:)


  • Zap Gun For Hire likes this

#26
BMac

BMac

    Programmer

  • Developers
  • 406 posts
  • Lords of the Eastern Reach Backer

Ok, this will end with another (2) request(s) and the "unsellable" flag can be put at the very end of the request list. I didn't try the "IsQuestItem" because the documentation writes about "can't be interacted with", so I expected the item to be put in the quest tab and cannot be equipped, I was wrong.

Yeah, that comment was out of date, I've updated it for v2.1.0.
 

I requested this flag because I was using a condition in a regeneration item loot list for a storage vendor. The check to repopulate the list with my item was on its itemcount, but can be easily bypassed selling the item to a third person, buy, and re-buy.

A better way to achieve this might be to create a global variable and set it when the player has acquired the item (via a SetGlobalValue script on a DataScriptEventComponent attached to the item's data). You can then check the variable to know if the player has got the item yet, no matter what they did with it. You'll be able to add new global variables in v2.1.0.

 

Actually in 2.1 we should be able to do sets like Diablo / WOW - here's my reasoning...

 

Something myself an @Kilay looked into was globalvariables, I ended up hacking the main bundle as a proof of concept got his pistols - he changed the trigger as we don't wanna hack exported.

 

These @BMac informs us as coming in 2.1.0

This will allow, I think, some scripted to conditionally add a set bonus

I think it would be tricky to do this with global variables since they are, well, global.  So you'll have trouble distinguishing whether one character or different characters are wearing the set pieces.

 

The way we'd probably do it internally would be to have each set piece apply a hidden marker status effect, each with a unique custom keyword MySet_HelmMySet_Armor, etc.  Have one of the items grant a custom passive ability that applies the set bonus, with ActivationPrerequisites checking that the character has all the keywords (HasStatusEffectWithKeyword checking Owner).


  • Zap Gun For Hire, mammasaura and kilay like this

#27
kilay

kilay

    (5) Thaumaturgist

  • Members
  • 524 posts

I think it would be tricky to do this with global variables since they are, well, global.  So you'll have trouble distinguishing whether one character or different characters are wearing the set pieces.
 
The way we'd probably do it internally would be to have each set piece apply a hidden marker status effect, each with a unique custom keyword MySet_HelmMySet_Armor, etc.  Have one of the items grant a custom passive ability that applies the set bonus, with ActivationPrerequisites checking that the character has all the keywords (HasStatusEffectWithKeyword checking Owner).


 I was really looking for that to be able to achieve a user request. Thnks :)



#28
Armakoir

Armakoir

    (3) Conjurer

  • Members
  • 110 posts
  • Steam:Armakoir

It looks like the weapon proficiency icons in character creation cannot be modified or replaced. I have tried atlases (which correctly displays the actual modal ability for my equipped weapon) as well as various filepaths to individual 100x100 icons. Nothing seems to work. Can this be adjusted as it was for profile pictures? Best.

 

https://i.imgur.com/gmmpGCa.png


Edited by Armakoir, 17 August 2018 - 05:43 AM.


#29
Armakoir

Armakoir

    (3) Conjurer

  • Members
  • 110 posts
  • Steam:Armakoir

During character creation, can Culture and Background selection occur BEFORE class selection? This would allow us to utilize IsBackground and IsCulture conditionals within PTs and see those changes in "real time" as opposed to during Level Up.

 

 

How difficult is it to add ProgressionTable conditionals? For example, is ProgressionTableIsDisposition a possibility?


Edited by Armakoir, 18 August 2018 - 04:30 AM.

  • kilay likes this

#30
peardox

peardox

    (5) Thaumaturgist

  • Members
  • 563 posts
  • Location:Manchester, UK
  • Deadfire Backer

 

Actually in 2.1 we should be able to do sets like Diablo / WOW - here's my reasoning...

 

Something myself an @Kilay looked into was globalvariables, I ended up hacking the main bundle as a proof of concept got his pistols - he changed the trigger as we don't wanna hack exported.

 

These @BMac informs us as coming in 2.1.0

This will allow, I think, some scripted to conditionally add a set bonus

I think it would be tricky to do this with global variables since they are, well, global.  So you'll have trouble distinguishing whether one character or different characters are wearing the set pieces.

 

The way we'd probably do it internally would be to have each set piece apply a hidden marker status effect, each with a unique custom keyword MySet_HelmMySet_Armor, etc.  Have one of the items grant a custom passive ability that applies the set bonus, with ActivationPrerequisites checking that the character has all the keywords (HasStatusEffectWithKeyword checking Owner).

 

Actually as @Kilay mentions Sets is not the only reason we want globals

I was merely theorising on the use requested

We also need it for triggers in Conditionals like his Pistols and other things we get asked to write



#31
BMac

BMac

    Programmer

  • Developers
  • 406 posts
  • Lords of the Eastern Reach Backer

It looks like the weapon proficiency icons in character creation cannot be modified or replaced. I have tried atlases (which correctly displays the actual modal ability for my equipped weapon) as well as various filepaths to individual 100x100 icons. Nothing seems to work. Can this be adjusted as it was for profile pictures? Best.

 

https://i.imgur.com/gmmpGCa.png

It looks like there was a bug with how the character creator was fetching the sprite. That'll be fixed for v2.1.0.

 

During character creation, can Culture and Background selection occur BEFORE class selection? This would allow us to utilize IsBackground and IsCulture conditionals within PTs and see those changes in "real time" as opposed to during Level Up.

I don't think I'll be able to justify rearranging the flow of character creation for the sake of mods.  It's a lot of work and I believe it was laid out that way for user experience reasons.

 

How difficult is it to add ProgressionTable conditionals? For example, is ProgressionTableIsDisposition a possibility?

That would be reasonably straightforward.


  • Armakoir likes this

#32
Spherical

Spherical

    (1) Prestidigitator

  • Members
  • 48 posts

Q1: Would it be possible to allow us to separate tooltip entries from cyclopedia entries?

In other words: I'd like to be able to tell the game to show a tooltip that is different from it's cyclopedia entry for example.

 

Q2: Would it be possible to set a max amount of characters that a tooltip can display? If a tooltip is long enough it wont fit on the screen and instead get cropped at the screens edge.

 

This image will hopefully demonstrate both inquiries and the issues that arises with the currently implemented system of how the game displays tooltips:

 

IQQCZSh.jpg

 

Edit: Thank you @BMac for answering the question I posted the previous page, I kind of figured that the UI would be hard to "open up" in a way that's as easy to mod as the .stringtable/.gamedatabundle-files are. Never hurts to ask though ;)


Edited by Spherical, 21 August 2018 - 03:34 PM.

  • kilay likes this

#33
BMac

BMac

    Programmer

  • Developers
  • 406 posts
  • Lords of the Eastern Reach Backer

Q1: Would it be possible to allow us to separate tooltip entries from cyclopedia entries?
In other words: I'd like to be able to tell the game to show a tooltip that is different from it's cyclopedia entry for example.
 
Q2: Would it be possible to set a max amount of characters that a tooltip can display? If a tooltip is long enough it wont fit on the screen and instead get cropped at the screens edge.

That's pretty cool. Both of those should be pretty straightforward (though they probably won't be a high priority).
  • Spherical likes this

#34
peardox

peardox

    (5) Thaumaturgist

  • Members
  • 563 posts
  • Location:Manchester, UK
  • Deadfire Backer

Something @spherikal didn't mention is that we have automated the gamedatabundle translation (and stringtable)

Here's a sample

 

{
    "GameDataObjects": [
        {
            "$type": "Game.GameData.GlossaryEntryGameData, Assembly-CSharp",
            "DebugName": "GlossaryEntry_Abydon",
            "ID": "6cfc5d32-82ef-4297-9446-04cfcaa6df29",
            "Components": [
                {
                    "$type": "Game.GameData.GlossaryEntryComponent, Assembly-CSharp",
                    "TermCyclopedia": 322386000,
                    "TermGui": -1,
                    "DescriptionCyclopedia": 322386001,
                    "DescriptionGui": -1,
                    "CategoryID": "7294de11-2ea6-496a-b99e-be2458de150a",
                    "ShowInJournal": "false",
                    "CaseSensitive": "false",
                    "AutomaticallyAddLinks": "true",
                    "LinkedEntriesIDs": [],
                    "ParentObjectID": "00000000-0000-0000-0000-000000000000"
                }
            ]
        },
        {
            "$type": "Game.GameData.GlossaryEntryGameData, Assembly-CSharp",
            "DebugName": "GlossaryEntry_Abydon_CyclopediaEntry",
            "ID": "b7c58117-5ed2-41e4-afbf-6c94f1540369",
            "Components": [
                {
                    "$type": "Game.GameData.GlossaryEntryComponent, Assembly-CSharp",
                    "TermCyclopedia": 322386002,
                    "TermGui": -1,
                    "DescriptionCyclopedia": 322386003,
                    "DescriptionGui": -1,
                    "CategoryID": "7294de11-2ea6-496a-b99e-be2458de150a",
                    "ShowInJournal": "true",
                    "CaseSensitive": "false",
                    "AutomaticallyAddLinks": "false",
                    "LinkedEntriesIDs": [],
                    "ParentObjectID": "00000000-0000-0000-0000-000000000000"
                }
            ]
        },

Repeat this and he's got something he can use in Enhanced User Interface

 

I'm going to clarify this here as we were looking at an extra entry to the exported

"DebugName": "GlossaryEntry_Abydon_TooltipEntry"

This is a variant of GlossaryEntry_Abydon_CyclopediaEntry with different bools

 

Oh - on the fly new GUIDs for new debugs

This is going on our work this week - I'm just automating the typing for him :)


Edited by peardox, 24 August 2018 - 05:16 PM.


#35
peardox

peardox

    (5) Thaumaturgist

  • Members
  • 563 posts
  • Location:Manchester, UK
  • Deadfire Backer

@BMac

 

The dis-association between exported and in-game GUIDs is the root cause of all the MAJOR modding we encounter

 

What we REALLY need is a translation table - you can code this as a "String FindInGame(String GUID)"

That's a nice short one



#36
mammasaura

mammasaura

    (3) Conjurer

  • Members
  • 162 posts
  • Location:Seasurfing
  • Deadfire Backer
  • Fig Backer

Is it possible to have a new WeaponType of value "ThrowingWeapon"? It's the only category missing in the list

(Or also a more generic one, it's possible to sort out by keywords so, also a generic one can do the trick).

 

At the moment the proficiency is bound to the weapon type and a custom one cannot be "properly" added.

You can still create your own proficiency but only on the weapons that are listed, but can be counter intuitive create a weapon of a type not supposed to be (ex: throwing knife but listed as stiletto).

 

Related to this, is possible to have a mouse scroll feature in the proficiency page of the character? Or this can happen:

o1r4s7P.jpg

 

 Thank you for your attention :)


Edited by mammasaura , 25 August 2018 - 09:11 AM.

  • kilay likes this

#37
kilay

kilay

    (5) Thaumaturgist

  • Members
  • 524 posts

I have a Similar issue with colors in CC  (but i can solve that using appearance editor on Characer Sheet) and with a scrolling page  we could open more possibilities also for Backgrounds Unlocked mod
 
So +1 for mammasaura

Pillars_of_Eternity_II_Deadfire_Screensh
Pillars_of_Eternity_II_Deadfire_Screensh


Edited by kilay, 25 August 2018 - 08:56 AM.


#38
Armakoir

Armakoir

    (3) Conjurer

  • Members
  • 110 posts
  • Steam:Armakoir

Along the lines of weapon proficiencies, is it possible to change "ProficientAbilityID" in the ItemComponent of WeaponGameData so that it supports multiple GUIDs? This appears to be THE limiting factor for expanding or significantly altering weapon proficiencies.

 

And, as mammasaura said, the ability to scroll.



#39
kilay

kilay

    (5) Thaumaturgist

  • Members
  • 524 posts

Drag and drop mod in Mod manager to rearrange the order .
Atm i have more than 50 mods installed, when i add a new one rearrange the whole bunch take time



#40
Armakoir

Armakoir

    (3) Conjurer

  • Members
  • 110 posts
  • Steam:Armakoir

Is it possible to have a new WeaponType of value "ThrowingWeapon"? It's the only category missing in the list

(Or also a more generic one, it's possible to sort out by keywords so, also a generic one can do the trick).

 

At the moment the proficiency is bound to the weapon type and a custom one cannot be "properly" added.

You can still create your own proficiency but only on the weapons that are listed, but can be counter intuitive create a weapon of a type not supposed to be (ex: throwing knife but listed as stiletto).

 

Have you tried the WeaponTypeComponent from WeaponTypeGameData?






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users