Jump to content

BMac

Developers
  • Posts

    418
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by BMac

  1. For what it's worth, the base game Soul Collector appears to be using the 'LL_Lurker_Bog' loot list.
  2. Unless I've misunderstood you, you can find the paths the icon atlases need to be at in the tutorial. That might be possible. I'll note it. Good idea, we might be able to do something about that. That's correct. The Instance ID ("hover") represents the prefab/GameObject for the character, which is in Unity data and is the actual object that's instantiated. The Game Data ID ("exported") represents the CharacterStatsGameData for that character - an object containing its starting stats, not the character itself.
  3. Almost any technical countermeasure can be circumvented by a determined user, so we won't be attempting to introduce mod DRM or anything like that. We will require people to take an additional step in the data files so it's not as simple as just clicking a button in-game. The dialogue to submit a mod to the Workshop also requires the user to explicitly check a box that says "All files in this mod are my own creation, or I have permission to use them." This should prevent users from accidentally or casually publishing your non-Steam mods to the Workshop. In the event that someone does choose to circumvent these measures and publish your mod anyway, it's not just impolite, it's a violation of United States and international copyright law. On the rare occasion that this does happen, you can ask them to remove it. If they won't, you can file a DMCA takedown request with Steam. If you have a link to e.g. your Nexus mod page that clearly shows you've previously published this mod, you should have no trouble demonstrating that it's not theirs to publish. Valve will process these requests (pretty quickly, according to reddit) and remove the mod from the workshop - you won't need to wait for Obsidian to take any action.
  4. The instance ID documentation has been published.
  5. No, we probably won't be able to selectively load data properties like that. Any changes to game data won't be loaded, only changes to string tables.
  6. Yes, I'm planning to do something about this by 3.0 if not 2.1 so that string table mods can still be loaded.
  7. Right, unfortunately the inline atlas needs to be packed via a different system (TextMesh Pro) that doesn't support dynamic loading at the moment.
  8. I've linked it in the Useful Information sticky - just trying (perhaps overzealously) to avoid a ballooning sticky section No, we don't support animating these icons. We'll only use the single image specified in IconTextureSmall. The 4k value is a maximum. The atlas that's produced by SpriteSheetPacker will only be as big as it needs to be, as noted by Armakoir. Yes, you can use icons from other mod folders. You'll have to make sure the user installs both mods, of course.
  9. Your item game data's AttackID is still pointing to the original blunderbuss attack "2af49303-b215-42aa-b933-7b0497a1c19d" rather than the ID you assigned for your custom attack, "75e41a87-9eb2-4062-8127-f8f2b121a9e3".
  10. Checking the game's log in PillarsOfEternityII_Data/output_log.txt might help you diagnose errors like this. You'll have to filter through some other stuff, but in this case you may find a helpful error like this in there: XmlException: Expected >, but found < [60] file:///D:/SteamLibrary/steamapps/common/Pillars of Eternity II/PillarsOfEternityII_Data/override/modder-background/localized/en/text/game/cyclopedia.stringtable Line 11, position 2. at Mono.Xml2.XmlTextReader.ExpectAfterWhitespace (Char c) [0x00000] in <filename unknown>:0 at Mono.Xml2.XmlTextReader.ReadEndTag () [0x00000] in <filename unknown>:0 at Mono.Xml2.XmlTextReader.ReadContent () [0x00000] in <filename unknown>:0 at Mono.Xml2.XmlTextReader.Read () [0x00000] in <filename unknown>:0 at System.Xml.XmlTextReader.Read () [0x00000] in <filename unknown>:0 at Mono.Xml.EntityResolvingXmlReader.Read () [0x00000] in <filename unknown>:0 at Mono.Xml.Schema.XsdValidatingReader.Read () [0x00000] in <filename unknown>:0 at System.Xml.XmlValidatingReader.Read () [0x00000] in <filename unknown>:0 at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 at System.Xml.XmlDocument.ReadNodeCore (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 at System.Xml.XmlDocument.ReadNode (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 at System.Xml.XmlDocument.Load (System.Xml.XmlReader xmlReader) [0x00000] in <filename unknown>:0 at System.Xml.XmlDocument.Load (System.String filename) [0x00000] in <filename unknown>:0 at Game.StringTable.Load (System.String filename) [0x00000] in <filename unknown>:0
  11. Yeah, the 48x48 icons are in error. They're always rendered at 42x42, so they're being scaled down in-game.
  12. Yeah, that's a good idea, I'd like to do it if we get a chance. Small icons are 42x42.
  13. I'm not sure if it's possible to do what you want to do exactly, though I may not be totally clear on what that is. Cone attacks (AOEs with Maybe a janky way to do it would be to make the first attack a very small AOE with the same range as the cone's radius. The character won't track moving enemies with it, though.
  14. Yes, that's true. That should work as expected, though it is perhaps a bit less organized. If users don't have those expansions installed, they won't see the text (since they don't have the content that references it). Yes, we will try to take a look at this in a future version.
  15. You should be familiar with the Modding Basic Concepts tutorial before following this one. In this tutorial, I'm going to show you how to add a new icon for a custom ability or item in Pillars of Eternity II: Deadfire. You must have Deadfire version 2.0.0 or later to use this functionality. I've already created game data objects for two custom items, and I've created two PNG icons for each: a small 42x42 icon, which will be used to show the item in an inventory slot, and a large 100x100 icon, which will be used to show the item when it's being dragged, and in the detailed inspection window. Items require both icons, but abilities only need the small 42x42 icon. To allow the game to load my large icon, all I have to do is put it in my mod folder at "/gui/icons/items". I can then reference it in the IconTextureLarge property of my item's game data. Small icons work a little differently. They need to be packed into an atlas, which is a single image file that has multiple images in it. The free tool SpriteSheetPacker can build an atlas for you from your collection of small icon images. Download SpriteSheetPacker and run it. Select "Add Images" and find all the small icon images you want to include in your mod. Click the "..." next to "Output Image". Browse to your mod folder. Create a new folder in it called "atlases". In this folder, save the image as "ItemIcons.png". If you were adding abilities, the icons for those would need to be in a separate atlas, also in this folder, called "SpellAbilityIcons.png". Ensure "Generate Map?" is enabled. Now click "Build Sprite Sheet". This will create the atlas image, and also a file called "ItemIcons.txt", which tells the game about each separate icon in the atlas. Finally, I can add a reference to the small icon in the IconTextureSmall property of my item's game data. Because the icon is in an atlas, this only needs the name of the sprite. It doesn't need any directory information. That's it. My new item now has custom icons to use in-game. If you need some great-looking, stylistically-matching icon images for your items and abilities, you can use the ones from the first Pillars of Eternity: PoE 1 Icon Resource at Pillars of Eternity 2: Deadfire Nexus - Mods and Community PoE 1 Item Sketches at Pillars of Eternity 2: Deadfire Nexus - Mods and Community
  16. This is a list of changes from 1.2.0.0017 to 2.0.0.0029 that specifically affect modding the game. Thanks for your feedback and suggestions - we'll continue to implement more of these in the future. The patch notes for other changes to the game can be found here. Modding Patch Notes for 2.0.0.0029 Mods can now add new spell/ability and small item icons. See this tutorial. Mods can now add new languages to the game in mod folders (rather than just in the exported folder) by including "/localized//language.xml". Added IncompatibleWith property to CharacterSubClassComponent to mark a subclass as incompatible with particular subclasses from other classes. Added EquipConditionals property to EquippableComponent to prevent characters from equipping an item based on script conditionals. The game will not load any mods when playing in the Magran's Fires mode. ShowMods console command will show both the display name and folder name of the mod. Fixed the mod manager UI not correctly falling back to the default language when a manifest did not specify text for the current language. Added some information about GameObject InstanceID GUIDs to the documentation. The FindObject console command will also show the GUIDs of found objects.
  17. You don't need to use any different folders to mod expansion content. You can think of the expansion "lax*_exported" folders as being themselves much like mods of the base game You can't override the globalvariablesbundle yet, unfortunately.
  18. You can call the script from anywhere that has a "ScriptsOnly" or "ConditionalAndScripts" property in the documentation (search the Components and Structures pages). Soulbound items can directly fire scripts when they level up - you wouldn't even need a scripted interaction.
  19. It doesn't look like we currently provide a way on abilities, attacks, or status effects to execute a script call. Your script call looks correct, though.
  20. You may want to instead generate most of the GUID randomly and use a small chunk for counting (e.g. "544a30f4-b90e-451b-bb2d-fadc88000001"). Random GUIDs are useful because they are statistically guaranteed to be unique, but the less of the GUID you generate randomly, the more likely it'll conflict with one in someone else's mod.
  21. Stealth uses the character's WalkSpeed, which is defined on each MoverGameData object. Stride does affect walk speed, but not outside of combat, and that behavior is in code.
  22. You won't be able to do this easily, unfortunately, this is controlled by Unity data in the inventory UI screen.
×
×
  • Create New...