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

#1
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

In the recent devstream devoted to modding, Aarik D mentioned that he or we should start a thread on the modding forum in regards to feature requests for the game.

 

So I figured why not start it? :)

 

Now they did stress in the devstream that some things are easier to do than others, and that they might not be able to get to things for a while, if ever in some cases.  

 

But I know there are things we would like them to consider (and, yes, they are well aware of our desire for custom vendors :lol:) that we can't do yet.  Thus this thread where we can have a dedicated thread for such requests.

 

If Aarik D or BMac (or someone else on the Dev Team) want some sort of formalized process for our suggestions, please let me know and I'll edit it into this OP. :)

 

---

 

NOTE:::: This is a separate thread from peardox's Mod Request thread, as he's dealing with requests for things that can already be done by modders.  Consider this the supplementary thread for Obsidian to look over. ;)


Edited by Zap Gun For Hire, 11 August 2018 - 09:44 PM.

  • Aarik D likes this

#2
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

I'll start out with one I've been thinking about for the last couple of days which might not be that hard to implement as it is already somewhat in the game, and why it would be nice for modders to have.

 

Feature Request:

Being able to unlock the Pet Slot for a party member via a script call.

 

Explanation of Request:

Right now it is possible to unlock the pet slot of all party members via the console command cheat UnlockPets.  This is something of a sledgehammer approach, and one that requires one to set the cheat flag as well (unless one uses Unity Console to reset the cheat status of course).  And it doesn't have any sort of modding potential at the moment.

 

I was thinking it might be nice to be able to allow party members to have a Pet Slot item unlocked via a game mechanic, however.  If the Pet Slot is unlocked via an in-game script call, say an ability, this opens up all sorts of possibilities for modders, from blatant unbalanced game setups to giving folks more difficult choices when it comes to character customization.

 

Possibilities the Request Allows:

By making a Pet Slot unlockable via a script call, it allows for the possibility of a pet to be tied to an item.  An example would be how the Giftbearer Cloak unlocks extra quick slots and an extra weapon set.  So, say, an item allows someone other than the Watcher to have a pet (The Leash of Training or something like that).  

 

By making it a script call, it could then be used by modders to make a new talent as part of the progression table of a new class.  Or made into a general talent and put into (most classes) progression table which would then cause folks to decide whether or not to choose that new talent on level up.

 

Truly ambitious modders far down the line could even make it a quest reward as part of a custom questline where one member of the party (or all outside of the Watcher) are given it as a reward. Or a bit more simply it could be bought via conversation options. 

 

Well, maybe not on that last one, depending on how robust it is, but it's the sort of thinking my noggin was going when it came to possibilities.

 

======

 

Anyway, I don't know how hard it would be to do this, and it probably isn't much of a priority.  But I thought I would start with one that already has something like it via a console command and it might be of interest to folks coming up with concepts for items and classes. :)


Edited by Zap Gun For Hire, 11 August 2018 - 09:41 PM.

  • peardox and kilay like this

#3
peardox

peardox

    (5) Thaumaturgist

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

@BMac - worth a sticky!

 

A big one we've been discussing is new maps

This can start off really simply, a tile-based map edit we can place enemies on for a sort of Fight-Club would do with an AreaTransition to the new "level" would do at a pinch as we could add this to a convo mod.

 

This makes for a perfect levelling mod if nothing else

 

If we can create new named NPCs we can even make new quests

 

We have artists who can do prefabs - a few of the latest mods include this feature so simply having this ability is highly desirable by our group.

 

One of the things that made NWN so successful was Aurora Toolset many years after it's best-before date was way past (Beamdog support it in EE)


  • Kirinaldo likes this

#4
peardox

peardox

    (5) Thaumaturgist

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

Addition of globalvariables in-Mod is also desirable

 

One of our members recently wanted to mod a pistol to have the same effect as Oathbringer's Sanctuary pray at level 4 as a trigger for his SoulBound. The ONLY way I could work out to achieve this was to mod exported (far from desirable). The desire to keep mods clean forced my friend to use a different trigger for the moment.

 

This is not an isolated request, that one is just an example. This facility sounds fairly mundane but is in fact extremely powerful when using conditionals.

 

I'm lead to believe that this one is pretty easy prom PMs - just getting this one down in public.


  • Zap Gun For Hire and kilay like this

#5
peardox

peardox

    (5) Thaumaturgist

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

This is related to the new area thing but distinct from it as it applies for other uses.

 

Another of my friends wanted a Summon that spawns an enemy.

 

The use of this is that using some item has a downside as well as an upside. So if we create let's say Excalibur, a really good sword that un-balances the game in the player's favour it also triggers summoning - oh, let's say Nemnok The Devourer (he's a popular fave) as a balancing effect.

 

The summon spawns a hostile NPC

We did have partial success but not with the hostile bit - I can summon something big but it's not hostile unless you attack it. Instead I get this big bad creature that's on Prozac :)



#6
peardox

peardox

    (5) Thaumaturgist

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

Oh, just re-discovered this one while looking at another Q

 

Savegame cache is still in effect - highly undesirable and causes mods to break

 

To see this in effect go to a vendor who's got some new stuff you're about to mod in to their vendor list

 

You must NOT have the vendor mod installed at this point

 

Save

 

Talk to vendor, see lootlist

 

Save

 

Now install the mod and load the saves in order

 

The one BEFORE you talk to the vendor now has the new lootlist

 

The one AFTER you check them out HASN'T

This is hack-able out but not easy. Basically you have to extract the savegame (it's a ZIP) - delete the area with the vendor in it, reverse the process and things work as expected

Had this one in for ages but still an issue that should be fairly easy to resolve


  • kilay likes this

#7
peardox

peardox

    (5) Thaumaturgist

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

Prompted by a discussion with @Kilay in Slack

Asked this before but this should get a sticky eventually

Does POE2 have a NameSpace or OO Class system? [I'm not talking character class, programmers will know what I'm talking about]

 

Specifically not all Scriptables work in every scriptable definition so I imagine that some namespace sorta stuff is in play

 

Can we have some docs on this?

 

I originally wrote this as a PM but had to kill all my PMs (crappy PM limit gets filled up rapidly by incoming PMs)


Edited by peardox, 12 August 2018 - 03:40 AM.


#8
Zap Gun For Hire

Zap Gun For Hire

    (5) Thaumaturgist

  • Members
  • 417 posts
  • Pillars of Eternity Backer
  • Kickstarter Backer
  • Deadfire Silver Backer
  • Fig Backer
  • Black Isle Bastard!

Addition of globalvariables in-Mod is also desirable

 

One of our members recently wanted to mod a pistol to have the same effect as Oathbringer's Sanctuary pray at level 4 as a trigger for his SoulBound. The ONLY way I could work out to achieve this was to mod exported (far from desirable). The desire to keep mods clean forced my friend to use a different trigger for the moment.

 

This is not an isolated request, that one is just an example. This facility sounds fairly mundane but is in fact extremely powerful when using conditionals.

 

I'm lead to believe that this one is pretty easy prom PMs - just getting this one down in public.

 

Yes, being able to add global variables via the override folder would be fantastic and open up a ton of possibilities.  I wasn't sure if we could do it yet and was on my "to do" list of checking things out.

 

So seconding this one, as well. 


  • kilay likes this

#9
peardox

peardox

    (5) Thaumaturgist

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

Hey @Zap

 

We've had this one in for over a week

 

Try joining us - we're an inventive bunch

 

I know you're resisting the join but believe me, flying solo sucks - doing it as a flock is superb

 

We get many objections to filling in the damned form - required for an invite

 

Try us for a few mins - if you hate us, simply don't visit again

 

PM me your email and I'll do you a direct invite (no form required)



#10
peardox

peardox

    (5) Thaumaturgist

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

Off-topic

 

Can we raise the number of PMs?

 

This is very annoying and has caused me to lose valuable messages



#11
Spherical

Spherical

    (1) Prestidigitator

  • Members
  • 48 posts

I got a request that I thought I'd throw on the pile: is there any chance that we will get access to (and be able to mod) more parts of the UI than what's currently available?

 

The two biggest areas I'd love to have access to would be the Character Sheet and the Combat Log.


  • TT1 and kilay like this

#12
peardox

peardox

    (5) Thaumaturgist

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

Oh - @tt1 wants me to do an extraction of POE2 Atleses

 

Before I go this I'm gonna BMac it



#13
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

Oh - @tt1 wants me to do an extraction of POE2 Atleses

Before I go this I'm gonna BMac it


I want what?

#14
SiliconMage

SiliconMage

    (1) Prestidigitator

  • Members
  • 46 posts
  • Deadfire Silver Backer
  • Fig Backer

Would it be possible to make it so that we can call scripts from attacks or status effects?  Being able to write custom scripts and then have them called from a custom attack or status effect would be sweet.

 

Thanks again for all the hard work you all have already done, though!  It cannot be stated enough how much fun it is to mod this game!


  • Zap Gun For Hire, kilay, Spherical and 1 other like this

#15
Armakoir

Armakoir

    (3) Conjurer

  • Members
  • 110 posts
  • Steam:Armakoir

Greater access and/or control over AttackSummonComponent for the purposes of creating "animal companions" for other classes using existing graphical assets (eg, a spectre or shadow as a summonable companion for a Rogue).

 

Thanks again for all the hard work you all have already done, though!  It cannot be stated enough how much fun it is to mod this game!

Agreed!


Edited by Armakoir, 13 August 2018 - 06:32 PM.

  • Zap Gun For Hire, SiliconMage, kilay and 1 other like this

#16
house2fly

house2fly

    (8) Warlock

  • Members
  • 1137 posts
I want to be able to create an NPC, equip it, and spawn it in a level. I don't care about giving it dialogue or having fine control over where it spawns, I just want to put, say, a Naga in a level, call it Jim The Naga, and let people kill and loot it as an alternative to putting modded items in a store
  • kilay likes this

#17
mammasaura

mammasaura

    (3) Conjurer

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

New options for the "StatusEffectDynamicValueAdjustment" fields.

"Stats" has "Health" with range [0 - 1.0] and requires to have a well known value in order to play around that, for example infestation of the maggots or the armor -% damage taken per health lost.

Should be handy having an "InverseHealth" that map the health with the range [1.0 - 0].

 

A conditional that permits to ignore the primary target, an option like the "ExcludePrimaryTarget" of the "AttackAOEComponent", so it can be widely applied to the other attack components.

A case of use is for the bouncing attack. To emulate that behavior I need to create two attacks, one bounce and one not, but in this way I change how the empowering works. Usually it increments the numbers of the bouncing, with the workaround, this property is lost, and works on the duration of the effects applied. Sometimes you want one, sometimes the other.

 

Having a "StatusEffectType" can triggers abilities on event, mainly for that very specific abilities that have their own custom component, or abilities that requires a primary or full attack: flames of devotion, finishing blow, barbaric blow etc... There are workarounds to recreate those effects, it's funny to find the way but it's also ugh...painful :D

 

More than a request is a check to the behavior that happens on autogranted abilities for the ranger.

If you autogrant abilities to the ranger:

- any of them, beside the ones that are specific for the pet;

- and without spending points to a precursor talent, so pure autogrant;

if you respec, these abilities pass to the pet, that can cast with the shared resource.

 

A flag into the "WeaponGameData" or "ItemGameData" that makes an item unable to sell.

 

If not possible to have custom models in the game, maybe some of the previous game, don't know, for example a spiked mace, for this beauty:

 

V5RwgaF.jpg


Edited by mammasaura , 14 August 2018 - 11:20 AM.

  • Grape_You_In_The_Mouth likes this

#18
BMac

BMac

    Programmer

  • Developers
  • 406 posts
  • Lords of the Eastern Reach Backer
Thanks for creating this thread, it should be very helpful to keep all these things in one spot!

There's a lot here already - I'm just going to try to give my initial comments on each suggestion to set expectations.
 

Being able to unlock the Pet Slot for a party member via a script call

 We could probably add this, I'd probably implement it as a StatusEffectType like BonusQuickSlots or BonusWeaponSets.
 

A big one we've been discussing is new maps

This would of course be really great to get working, but the scope for us is pretty massive and I have to admit it's unlikely that we'll add any built-in support for this in Deadfire.
 

Addition of globalvariables in-Mod is also desirable

This is coming in v2.1.0.
 

Another of my friends wanted a Summon that spawns an enemy.
 
...

We did have partial success but not with the hostile bit - I can summon something big but it's not hostile unless you attack it. Instead I get this big bad creature that's on Prozac :)

The item 'Hunting_Bow_U_Animancer' summons hostile creatures, so this should be possible.  Check out how that's working.
 

Savegame cache is still in effect - highly undesirable and causes mods to break

This isn't really a caching issue, it's a side-effect of how vendor inventories are generated.  It's probably possible for us to do something to make this workflow better.
 

Does POE2 have a NameSpace or OO Class system? [I'm not talking character class, programmers will know what I'm talking about]
 
Specifically not all Scriptables work in every scriptable definition so I imagine that some namespace sorta stuff is in play
 
Can we have some docs on this?

Unfortunately there's no data that controls when certain scripts can be used; it depends entirely on what that script decides to do behind the scenes.  Someone would have to document them manually, which I don't believe we'll have to time to do.  Hopefully it's usually pretty intuitive (ShipDuel scripts only work in ship duels, etc.)
 

I got a request that I thought I'd throw on the pile: is there any chance that we will get access to (and be able to mod) more parts of the UI than what's currently available?
 
The two biggest areas I'd love to have access to would be the Character Sheet and the Combat Log.

UIs live almost entirely in Unity data, so unfortunately it's pretty unlikely that we'll be able to easily expose the data.  It could be done without our support, but you'd have to do some DLL rewriting like the IE Mod on Pillars 1.
 

Oh - @tt1 wants me to do an extraction of POE2 Atleses

There's probably a way to extract those images from the Unity data with the usual tools.  They're probably in the MasterUI data (PillarsOfEternityII_Data/level2).
  • TT1, Zap Gun For Hire, SiliconMage and 2 others like this

#19
BMac

BMac

    Programmer

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

Would it be possible to make it so that we can call scripts from attacks or status effects?  Being able to write custom scripts and then have them called from a custom attack or status effect would be sweet.

Yeah, that seems like a useful addition and not too hard to implement.
 

Thanks again for all the hard work you all have already done, though!  It cannot be stated enough how much fun it is to mod this game!

Yay!
 

Greater access and/or control over AttackSummonComponent for the purposes of creating "animal companions" for other classes using existing graphical assets (eg, a spectre or shadow as a summonable companion for a Rogue).

As far as I know it should be doable right now to create custom summon attacks that summon existing monster prefabs.  If you start or bump a thread for this with an attempt I might be able to investigate.
 

I want to be able to create an NPC, equip it, and spawn it in a level. I don't care about giving it dialogue or having fine control over where it spawns, I just want to put, say, a Naga in a level, call it Jim The Naga, and let people kill and loot it as an alternative to putting modded items in a store

That's another feature that I'd definitely like to have, but the data is in Unity files. It may be possible for us to write another system to allow insertion of objects into existing scenes, but that would be a moderately significant undertaking.
 

New options for the "StatusEffectDynamicValueAdjustment" fields.
"Stats" has "Health" with range [0 - 1.0] and requires to have a well known value in order to play around that, for example infestation of the maggots or the armor -% damage taken per health lost.
Should be handy having an "InverseHealth" that map the health with the range [1.0 - 0].

Good idea, should be fairly easy to implement.
 

A conditional that permits to ignore the primary target, an option like the "ExcludePrimaryTarget" of the "AttackAOEComponent", so it can be widely applied to the other attack components.
A case of use is for the bouncing attack. To emulate that behavior I need to create two attacks, one bounce and one not, but in this way I change how the empowering works. Usually it increments the numbers of the bouncing, with the workaround, this property is lost, and works on the duration of the effects applied. Sometimes you want one, sometimes the other.

Ditto.
 

Having a "StatusEffectType" can triggers abilities on event, mainly for that very specific abilities that have their own custom component, or abilities that requires a primary or full attack: flames of devotion, finishing blow, barbaric blow etc... There are workarounds to recreate those effects, it's funny to find the way but it's also ugh...painful :D

I'm not sure about the feasibility of this offhand. I'll have to look into it if I have time.
 

More than a request is a check to the behavior that happens on autogranted abilities for the ranger.
If you autogrant abilities to the ranger:
- any of them, beside the ones that are specific for the pet;
- and without spending points to a precursor talent, so pure autogrant;
if you respec, these abilities pass to the pet, that can cast with the shared resource.

Sounds like a bug; I'll report it to the appropriate person.
 

A flag into the "WeaponGameData" or "ItemGameData" that makes an item unable to sell.

Should be pretty easy to add. I believe you can approximate this now by setting IsQuestItem to true.
 

If not possible to have custom models in the game, maybe some of the previous game, don't know, for example a spiked mace, for this beauty:

Importing models from the previous game is still a decent chunk of work, since we've switched to a completely new PBR render pipeline; all the materials need to be recreated by an artist. Sadly, I don't think I'll be able to get any artist time for this.
  • Zap Gun For Hire, mammasaura , SiliconMage and 2 others like this

#20
mammasaura

mammasaura

    (3) Conjurer

  • Members
  • 162 posts
  • Location:Seasurfing
  • Deadfire Backer
  • Fig Backer
I'm not sure about the feasibility of this offhand. I'll have to look into it if I have time.

 

I guess can mess up with the result, but just if you have time and will.

I tried to have an item that triggers damage by damage dealt/received on the target like wounding shot, but never worked. Instead I needed to have the target to calculate the self damage in order to apply the damage on it.

I really need to thank you for how many possibilities there are.

 

So, yes, at the end of the end of the requests queue this one.

 

Sounds like a bug; I'll report it to the appropriate person.

 

This is the topic I opened for the issue if can help the bug team.

 

Should be pretty easy to add. I believe you can approximate this now by setting IsQuestItem to true.

 

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.

I still have the item in a different tab and the "Quest Item" line in the item description, but isn't a real issue.

 

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.

Making the item "unsellable" is the faster and safer way to go. The IsQuestItem works.

 

It's not the only issue.

 

The conditional "ObjectHasItemCount" only checks the items in the stash and in the inventory.

The weapon slots aren't checked, and so the equipped item.

 

I added another conditional "IsItemEquipped".

This time the check is on the items you can see on the viewport.

In the case of the weapon sets, it only considers 1 weapon set, the one you can see in the in game.

 

What's left are the other weapon sets.

There isn't a conditional that checks if a very specific Item is in a weapon set.

There are other conditionals like:

"IsRangedWeaponInWeaponSetPrimarySlot" for primary

"IsMeleeWeaponInWeaponSetPrimarySlot"

"IsRangedWeaponInWeaponSetSecondarySlot" for offhand

"IsMeleeWeaponInWeaponSetSecondarySlot"

But you cannot specify which Item to check.

 

Having the counterpart for these conditionals, but with also a specified item id can surely help, for this use but also for others. Then, If can be also added a more generic one that checks all the weapon sets on the character...but it's a plus, can be done with 8 conditionals (4 for two handed weapon), it can help to clarity the code, so you don't need to always put 8 conditionals because you don't know how many sets the character has, but only 2, one checks the primary slot, and one the offhand.

 

Even with these conditionals the system can be tricked.

The check is on all "active" party members.

This means, that if you really want to cheat, you can manage your party, drop the party member with the item and buy it again.

 

I don't know if is possible to have instances id (for scripts and conditionals) for "non active party members", or for "all party members, active or not".

 

Ok that's all :)

 

Thank you again for your commitment, amazing work.


Edited by mammasaura , 15 August 2018 - 03:18 AM.

  • kilay likes this




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users