Everything posted by BMac
-
[CLOSED] Devs, can you add fallbacks to the conversation portrait loader?
This is already the behavior, it's just implemented a little differently that you're expecting - Portrait.GetTexture returns the non-conversation portraits if conversation portraits aren't available.
-
Spellcasters ability uses per tier
BMac replied to squared_cirkle's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)Those values are in Unity-packaged data in the current build, but we'll change that for v1.0.3.
-
Useful Tutorials and Links
There weren't any major changes for modding between the last backer beta release and the 1.0 release, just some changes in the structure of a few gamedata types to make them more amendable to overriding. Adding new icons is still difficult; it's possible a patch could change this. You do have to fully override one of the store's loot lists to add an item to it. I could make a change in a patch to make it possible to add additional loot lists to stores. I'll make a note of it.
-
Need help creating override compatible file
BMac replied to JESUSSSAYSNO's topic in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)An override gamedatabundle should look something like this: { "GameDataObjects": [ { "$type": "Game.GameData.TYPE_HERE, Assembly-CSharp", "DebugName": "DEBUG_NAME_HERE", "ID": "ID-GUID-HERE", "Components": [ ... ] }, { "$type": "Game.GameData.TYPE_HERE, Assembly-CSharp", "DebugName": "DEBUG_NAME_OF_ANOTHER_THING", "ID": "ID-GUID-OF-ANOTHER-THING", "Components": [ ... ] } ] }
-
Enormous player.log file
BMac replied to PangaeaACDC's topic in Pillars of Eternity II: Deadfire Technical Support (Spoiler Warning!)This will be fixed in v1.0.3.
-
Duping bug involving Ordinary Sword / Examining Items
BMac replied to Naisiem's topic in Pillars of Eternity II: Deadfire Technical Support (Spoiler Warning!)This will be fixed in v1.0.3.
-
Useful Tutorials and Links
Official tutorials for modding game data: Basic Concepts: https://forums.obsidian.net/topic/103384-tutorial-modding-basic-concepts/. Adding New Icons: https://forums.obsidian.net/topic/104091-tutorial-adding-new-icons-v200/. Adding Items to a Store (using ModScriptHookGameData): https://forums.obsidian.net/topic/105275-tutorial-adding-items-to-a-store-v210-beta/. Adding New Abilities to Progression Tables (using BaseProgressionTableAppendGameData): https://forums.obsidian.net/topic/107923-tutorial-adding-new-abilities-to-a-class-v410/. How to Upload Mods to the Steam Workshop: https://forums.obsidian.net/topic/105660-tutorial-how-to-upload-mods-to-the-steam-workshop. (Advanced) How to Edit Assets and Assetbundles (by Fhav6X): https://forums.obsidian.net/topic/105849-tutorial-how-to-edit-assets-and-assetbundles/ Documentation for all game data formats: https://eternity.obsidian.net/game-data-formats. Basic information about modding string tables: https://forums.obsidian.net/topic/94795-obsidian-will-you-provide-xml-documentation-or-other-editing-tools-on-release/?p=1977260 Much of Deadfire's data is placed in easily-readable text files located in Pillars of Eternity II\PillarsOfEternityII_Data\exported. You can modify these files directly, but a better way to make mods that you can easily share is to use the override folder. The override folder is Pillars of Eternity II\PillarsOfEternityII_Data\override. You should create a subfolder in the override folder for each mod. So my mod might be in the folder Pillars of Eternity II\PillarsOfEternityII_Data\override\bmac-mod. *.conversationbundle files must appear at the path specified in the bundle as the "Filename" property. For example, re_si_ship_combat.conversationbundle needs to appear at \Conversations\RE_Scripted_Interactions\re_si_ship_combat.conversation. *.stringtable files need to be in the same folder hierarchy as the file they're overriding. E.g. to override localized\en\text\game\gui.stringtable, your override file should be in override\[yourmod]\localized\en\text\game\gui.stringtable. Other *.bundle files can be anywhere in your mod folder If your mod causes problems or doesn't function correctly, you might find helpful error messages in the game's output log folder at "PillarsOfEternityII_Data/output_log.txt".
-
Anyone got the equation on what levels the companion skills boost the party?
BMac replied to PatrioticChief's topic in Pillars of Eternity II: Deadfire General Discussion (NO SPOILERS)If you're referring the the skill assist bonus to dialogue checks, that's driven by this table: (Total Companion Skill, Assist Bonus) 1, 1 2, 2 4, 3 7, 4 11, 5 16, 6 22, 7 29, 8
-
Can we mod POTD difficulty?
This is still the same (but note that Story Time also changes enemy stats, and did in PoE1, too). The accuracy, health, and stat scaling for PotD (and Story Time) are unfortunately in code at the moment, though we can change that in a patch. EDIT: the data in the OP all applies specifically to Ship Combat.
-
Modding Subclasses
You should set the hashes to 0 or just omit them and they'll be automatically handled by the game. You can't remove a game data object from the game. You can, as you said, override it with an effect that does nothing ("None" type), or you can instead override the ability(s) that reference the effect and remove the GUID for it from their status effect lists.
-
Obsidian - Will you provide xml documentation or other editing tools on release?
Yeah, this is definitely not an ideal setup for modding. Hopefully we'll be able to look at override support for assetbundles. Try "GetTransform ". It doesn't have tab-completion, though, so you'll have to have the full object name from FindObject. The NPC AI system might be a bit opaque and I don't know too much about it myself - but for anyone who wants to dig into it, you want to check out ScheduleGameData in the AI gamedatabundle and the AIController component on the character prefabs (assetbundle). There are also some scripts you can use for one-off stuff ('find ai'). The overhead text is referred to as "barks" or "bark strings". They're set up as Conversations and played with the startconversation script.
-
The ka-ching sound when salaries and other consumables are used up is too loud
Thanks for the report! I fixed this just the other day, it was playing the sound once for each crewman paid. I also fixed a similar problem in the store.
-
Obsidian - Will you provide xml documentation or other editing tools on release?
That's a good idea and it's on my list, though we'll be pretty busy with the game until release, so it may not come until after that. I think in order to create your own sidekick, these are the major steps you'd have to do: Make CharacterStatsGameData and SpeakerGameData objects for your character in an override gamedatabundle. Make a name string for the character in an override stringtable. Hook up the name and Speaker to the CharacterStats. Make a chatter file for the character, which defines which lines they'll say, and when. The different chatter setups for each character go in chatterbundles, which can be overridden exactly like gamedatabundles. The actual game files, for reference, are in PillarsOfEternity2_Data\exported\design\chatter. Hook up the chatter file to the Speaker you made. Make the audio files that are referenced by the chatter file. They are packed in a Wwise format and they're at PillarsOfEternity2_Data\StreamingAssets\Audio\GeneratedSoundBanks\Windows\Voices. You can probably get the free version of Wwise to produce these. We don't support an override folder for them, though. Actually creating a character prefab is probably the hardest. This will be the actual object in the game, where you'd attach the CharacterStatsGameData you created and set up the character's appearance. They live in the characters assetbundle (PillarsOfEternity2_Data\assetbundles). I think there are ways to unpack and repack these but I haven't messed with them myself. You could then use console commands to instantiate the character and add it to your party.
-
Obsidian - Will you provide xml documentation or other editing tools on release?
The newest backer beta has added support for overriding string table entries. You can both override existing strings and add entirely new strings. To do this, you create a .stringtable file in the override directory where the path matches that of the table you want to override. For example, if you want to override the English for \Pillars of Eternity II\PillarsOfEternity2_Data\exported\localized\en\text\game\abilities.stringtable, you need to create the file \Pillars of Eternity II\PillarsOfEternity2_Data\override\[YOUR MOD]\localized\en\text\game\abilities.stringtable. The file should look the same, except that you only need to include blocks for the entries you want to change or add. Example abilities.stringtable overriding the Holy Radiance ability name and adding a new ability name: <?xml version="1.0" encoding="utf-8"?> <StringTableFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Name>game\abilities</Name> <Entries> <Entry> <ID>2</ID> <DefaultText>Unholy Space Jam</DefaultText> <FemaleText /> </Entry> <Entry> <ID>10000</ID> <DefaultText>Reap the Rappers</DefaultText> <FemaleText /> </Entry> </Entries> </StringTableFile> You don't have to put override gamedatabundles in a [YOUR MOD] folder like this, but I'd recommend that to keep your mods organized.
-
How do I undo a hotkey?
Start a new game. Nah, just kidding, you can press the same hotkey while hovering the ability icon.
- Hyperlink Text Color (Reposted from Discussions)
-
Offer an option to go to normal speed in combat (from fast speed)
Thanks for the feedback! I've added the option back in and now it just disables Fast Mode. I'll make sure we have a bug for that auto-pause failing to trigger.
-
Quality-of-life change for the ship map
You used to be able to hold down the mouse when in follow cam mode - it looks like that broke at some point. I've fixed it for the next release.
-
Lash doesn't suffer from penetration penalty
Yes, in the next release damage procs should make their own separate penetration calculation against the target's armor.
-
Companion won't heal a wound despite repeated rests with food
That is the problem, and it should be fixed in the next release.
-
Two Small Things That Are Annoying Me
I fixed these, though the fixes may not be included in the next release.
-
A couple suggestions
- Obsidian - Will you provide xml documentation or other editing tools on release?
If you don't want to rely on the order of the files for overriding, there is an override folder you can use. This is probably a slightly better way to do mods. The game's data is in Pillars of Eternity II\PillarsOfEternity2_Data\exported\design\gamedata, which is what you're using. The override folder is Pillars of Eternity II\PillarsOfEternity2_Data\override\gamedata (you'll have to create it). Files in the override folder will always take priority over ones in the exported folder. Note that the override folder is broken in the current release, but it will work in the next. This is a good point. I will make a note that we should take a look at this. Unfortunately, it's unlikely that scene modding will be any different than Pillars 1.- [Bug?] Not getting bonus damage from high Armor Penetration?
Misleadingly, Might is actually applied in a separate pass (after any additive bonuses). So the math that's actually happening is: 22.9 * (1 + 0.5 + 0.15 + 0.15) * (1 + 0.18) = 22.9 * 1.8 * 1.18 = 48.64 (with a minor rounding problem at the end) I think we can consider that a UI problem, but I'll check that we still want the math to work this way. I didn't work this one through, but negative multipliers are handled in a rather unusual way to prevent them from dropping the value all the way to 0. They are converted to "Steps" like so: Steps = (1 - 1/0.50) + (1 - 1/0.33) = (1 - 2) + (1 - 3) = -1 + -2 And then back to a final multiplier: Multiplier = 1 / (1 - Steps) = 1 / (1 - -3) = 0.25 Positive multipliers are also handed in Steps but each +100% is simply considered 1 step, so it works out the same way. This is definitely a bit weird to look at, I will make a note to think about how to display this. The accuracy penalty is grayed out because it isn't being applied to that attack (you'll see that the numbers add up correctly without it). Ideally we'll hide bonuses that do not apply to that attack, I have a bug for this. MaxQuest is correct in that it has been silently included in the "+50% Crit" line (base crit is +25%). I'll consider that a UI problem. That is indeed a bug that I'll file.- Special Dialogue Reactions
I believe that the case you're talking about is a response with multiple conditions (Island Aumaua and Deadfire culture). The UI in the current beta just isn't capable of showing you both of them. - Obsidian - Will you provide xml documentation or other editing tools on release?