Jump to content

Svartypops

Members
  • Posts

    80
  • Joined

  • Last visited

Posts posted by Svartypops

  1. I was thinking of fudging it so Maia doesn't leave. I believe this is decided in the GlobalScripts.GlobalScriptBundle in this section:

    [edit]I should clarify, this is about her leaving because of POWDERHOUSE, not because the previous quest. 

     
    {
        "ScriptCalls": [
            {
                "Data": {
                    "FullName": "Void DeliverMissive(StringTableType, Int32, Guid)",
                    "Parameters": [
                        "Gui",
                        "4371",
                        "81700f52-4614-4c5e-baba-8a1cb1d44f24"
                    ],
                    "Flags": "",
                    "UnrealCall": "",
                    "FunctionHash": -275187270,
                    "ParameterHash": -1215218949
                },
                "Conditional": {
                    "Operator": 0,
                    "Components": []
                }
            },
            {
                "Data": {
                    "FullName": "Void RemoveFromParty(Guid)",
                    "Parameters": [
                        "b1a7e802-0000-0000-0000-000000000000"
                    ],
                    "Flags": "",
                    "UnrealCall": "",
                    "FunctionHash": -1788529600,
                    "ParameterHash": 171824928
                },
                "Conditional": {
                    "Operator": 0,
                    "Components": []
                }
            }
        ],
        "ID": "ba085bfc-0917-4a14-ab39-6559da364da0",
        "ScriptType": 0,
        "Filename": "gsd_companion_maia_leaves_powderhouse.globalscript"
    },
    {
        "ScriptCalls": [
            {
                "Data": {
                    "FullName": "Void SetGlobalValue(String, Int32)",
                    "Parameters": [
                        "n_Maia_Quest_State",
                        "4"
                    ],
                    "Flags": "",
                    "UnrealCall": "",
                    "FunctionHash": 1935477378,
                    "ParameterHash": -511052062
                },
                "Conditional": {
                    "Operator": 0,
                    "Components": [
                        {
                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                            "Data": {
                                "FullName": "Boolean IsGlobalValue(String, Operator, Int32)",
                                "Parameters": [
                                    "b_Powderhouse_Destroyed",
                                    "EqualTo",
                                    "0"
                                ],
                                "Flags": "",
                                "UnrealCall": "",
                                "FunctionHash": 901380568,
                                "ParameterHash": 63017223
                            },
                            "Not": false,
                            "Operator": 0
                        }
                    ]
                }
            },
            {
                "Data": {
                    "FullName": "Void ShowMessageBox(StringTableType, Int32)",
                    "Parameters": [
                        "AreaNotifications",
                        "125"
                    ],
                    "Flags": "",
                    "UnrealCall": "",
                    "FunctionHash": -1320128747,
                    "ParameterHash": -341371816
                },
                "Conditional": {
                    "Operator": 0,
                    "Components": [
                        {
                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                            "Data": {
                                "FullName": "Boolean IsGlobalValue(String, Operator, Int32)",
                                "Parameters": [
                                    "b_Powderhouse_Destroyed",
                                    "EqualTo",
                                    "0"
                                ],
                                "Flags": "",
                                "UnrealCall": "",
                                "FunctionHash": 901380568,
                                "ParameterHash": 63017223
                            },
                            "Not": false,
                            "Operator": 0
                        }
                    ]
                }
            },
            {
                "Data": {
                    "FullName": "Void SetBenchedPartyMemberBusy(Guid, Boolean)",
                    "Parameters": [
                        "b1a7e802-0000-0000-0000-000000000000",
                        "False"
                    ],
                    "Flags": "",
                    "UnrealCall": "",
                    "FunctionHash": 934743080,
                    "ParameterHash": 776510437
                },
                "Conditional": {
                    "Operator": 0,
                    "Components": [
                        {
                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                            "Data": {
                                "FullName": "Boolean IsGlobalValue(String, Operator, Int32)",
                                "Parameters": [
                                    "b_Powderhouse_Destroyed",
                                    "EqualTo",
                                    "0"
                                ],
                                "Flags": "",
                                "UnrealCall": "",
                                "FunctionHash": 901380568,
                                "ParameterHash": 63017223
                            },
                            "Not": false,
                            "Operator": 0
                        }
                    ]
                }
            },
            {
                "Data": {
                    "FullName": "Void SetWantsToTalk(Guid, Boolean)",
                    "Parameters": [
                        "b1a7e802-0000-0000-0000-000000000000",
                        "True"
                    ],
                    "Flags": "",
                    "UnrealCall": "",
                    "FunctionHash": 1006814398,
                    "ParameterHash": 2030924572
                },
                "Conditional": {
                    "Operator": 0,
                    "Components": [
                        {
                            "$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
                            "Data": {
                                "FullName": "Boolean IsGlobalValue(String, Operator, Int32)",
                                "Parameters": [
                                    "b_Powderhouse_Destroyed",
                                    "EqualTo",
                                    "0"
                                ],
                                "Flags": "",
                                "UnrealCall": "",
                                "FunctionHash": 901380568,
                                "ParameterHash": 63017223
                            },
                            "Not": false,
                            "Operator": 0
                        }
                    ]
                }
            }
        ],
        "ID": "2a44a39d-c6f5-4f8a-a64e-023c18a498b3",
        "ScriptType": 0,
        "Filename": "gsd_companion_maia_returns.globalscript"
    },

    Perhaps I can just delete the "b1a7e802-0000-0000-0000-000000000000" (I think that is Maia's GUID) parameter from the "Remove from party" thingy?

    Alternatively, I might be able fudge some of the "Not" values so she only leaves if the powderhouse IS destroyed, or I could delete the whole section so that if anything happens at the powderhouse, nothing happens to Maia?

    I'm also wondering if it's possible to just edit the original file if you can't use the override folder to do it?

    • Like 2
  2. On 9/11/2021 at 9:48 AM, Psyborg said:

    OK...this and other tutorials are impossible to follow without a json formatter. I downloaded Visual Studio Code, however pressing shift alt f generates an error code that states that there I need to install a formatter...after trying for several hours to google information on what seems like a simple task, I have determined that, without knowing what I am doing, this is an impossible out of reach task for me to figure out.

    I have done the diligence (also tried online tools and Notepad++). Can we get a step by step tutorial on how to convert the plaintext format of the ...export/data files to friendly (properly formatted) json?

    I had this too. 

    VS Code has the ability to use third party "extensions" - formatters are a type of extension used to make the "code" look legible to humans. Third party! So you have to download them separately. Here's how:

    Launch VS Code.

    On the left there should be 4 icons. Hover over each in turn - Explorer, Search, Run-and-Debug, Extensions. Click Extensions.

    Now you see a list of installed/recommended ones. Ignore all that and type the name of JSON in the "Search Extensions in the Marketplace "box.

    You can see a bunch of different extensions for JSON - you want a Formatter

    The one I use is called "JSON Formatter" by Clemens Peters

     

    Extra info:

    FROM right-to-left In the bottom right corner of the VSCode window (the purple bar) is a Notifications Bell, a Tweet Feedback icon and then the format of the current document (select language mode). If you've done it right it should say JSON. IIRC You can also change it to JSON by clicking there.

     

  3. It's not simply a case of saying "Eder, Fighter -> Unbroken" in the files.

    Please correct me if I'm wrong, but it seems ...

    In the ProgressionTables.GameDataBundle file, the characters have their individual abilities listed for each level, totally separate from the player classes.

    Which means you'd have to copy the Unbroken stuff for each level and use that instead of whatever they usually have.

     

    Oh... it might be a case of replacing one or two things with ...

    "AddAbilityID""e97271cd-23b1-4078-8640-6544e1e6451d",
    and/or
    "AddAbilityID""b238c8a4-7ddc-4142-a244-85139a764754",
  4. 6 hours ago, Testlum said:

    About the above post - I'm editing some tags that seemed out of place and I came across the UUID: e19a6f92-2165-4e34-be10-c65e8de970eb for strength, which wasn't included in your list. For reference, I found during the final Courier's Calling reference with Maia for Tekehu's reaction. He ended up with 3 negative pips on his relationship to Maia.

    PS. Xoti is anti-Deceit, not pro-Deceit.

    ChangeStrength is this part of the above post, sorry it's not so obvious:

    Quote

    Reading the Wiki, it seems that topics are given a "Value" in their TopicGameData type. This is likely a bodge used to balance the occurances of conversations about each topic.

     

    Xoti is Pro-Deceit with a Negative value on it. It's weird - but that's how you do a negative reaction to something. 

    Being Pro-Deceit negative means she reacts negatively when someone says something deceitful.

    If she was anti-deceit she would approve when someone said something anti-deceit - like "I don't think we should lie" or whatever.

     

     

  5.  

    Thanks a lot for that! I'm still struggling with the blasted thing, though. :( Did you make working version?

     

    This is a bit off-topic but the script hook you use there is really curious because when I check for the PC in a scene I use this GUID:

    "546e5d97-c2fe-42dd-a22e-e8cbd7888131"

    but yours is only partly the same;

    "546e5d97-c234-46dc-9439-b23aafc02198"

    I wonder why that is?

  6.  

    On 8/13/2021 at 6:16 PM, Kvellen said:

    Opening an inn does seem to be the best solution, and after a quick test I can confirm what @Noqn says does indeed work.

    I can't get it to work. I can't even get the item to appear.

    I have failed :(

     

    Here is what I tried: 

    Quote
    {
        "GameDataObjects": [
            {
                "$type""Game.GameData.ItemGameData, Assembly-CSharp",
                "DebugName""INN_ANYWHERE_Test",
                "ID""d62bc9d4-6e6c-4ecf-8770-a9a7675b0439",
                "Components": [
                    {
                        "$type""Game.GameData.ItemComponent, Assembly-CSharp",
                        "DisplayName"25124,
                        "DescriptionText"25125,
                        "DescriptionTextTactical"-1,
                        "FilterType""Quest",
                        "InventoryAudioEventListID""32023afc-c1c3-4b6a-bcfd-77bde56ee6c3",
                        "IsQuestItem""true",
                        "IsIngredient""false",
                        "IsCurrency""false",
                        "IsAdventuringItem""false",
                        "IsJunk""false",
                        "CanSellForFullValue""false",
                        "MaxStackSize"1,
                        "NeverDropAsLoot""false",
                        "CanBePickpocketed""true",
                        "IsUnique""false",
                        "Value"10,
                        "IconTextureSmall""gui/icons/items/misc/book_paper_s.png",
                        "IconTextureLarge""gui/icons/items/misc/book_paper_l.png",
                        "PencilSketchTexture""",
                        "InspectOnUseButton": [
                            {
                                "DisplayConditional": {
                                    "Operator"0,
                                    "Components": []
                                },
                                "DisplayString"5249,
                                "Script": {
                                    "Conditional": {
                                        "Operator"0,
                                        "Components": []
                                    },
                                    "Scripts": [
                                        {
                                            "Data": {
                                                "FullName""Void StartConversation(Guid, Guid, Int32)",
                                                "Parameters": [
                                                    "b1a8e901-0000-0000-0000-000000000000",
                                                    "6f88c8c2-e6b7-4429-9407-5ae6c011d4fd",
                                                    "0"
                                                ]
                                            },
                                            "Conditional": {
                                                "Operator"0,
                                                "Components": []
                                            }
                                        }
                                    ]
                                }
                            }
                        ],
                        "IsPlaceholder""false"
                    }
                ]
            }
        ]
    }

    I guess 5249 is the button text - I had planned to change it later, if required.

    I've tried Quest or Misc filtertypes.

    I've tried adding it to an NPC inventory and the player using the tried-and-tested method that I used for lots of other items, but to no avail.

  7. 3 hours ago, thelee said:

    edit: i just noticed that (if wiki is accurate) this is standard for hazard effects, but the ability itself should list a duration (versus being attached to the effect). burning ground has a 0s duration.

     

    The Item: "Trap_Item_BurningGround" (without underscore between words) links to this ability:
    "9532c2e3-ef26-493a-83de-0bd6866ee173" which is: "Trap_Item_BurningGround_Ability"
    and links to:
    "809b7234-8f81-4542-9d79-550572a2e7b4" which is : "Trap_Item_BurningGround_Ability_Attack" ... which indeed, has no duration.

     

    meanwhile the "Burning_Ground_Trap" ability links to this attack: 

    "3999697c-0a58-4791-8291-6393c8ca7a7d"which is "Burning_Ground_Trap_AttackPulseAoE", ...which has this component:

                        "$type""Game.GameData.AttackPulsedAOEComponent, Assembly-CSharp",
                        "Duration"9,
                        "PulseIntervalRate"3,

    etc.

    I can't find any item that links to the latter, though, so ... maybe the former one is a later model?

    • Thanks 1
  8. 4 hours ago, Elric Galad said:

    It's a parameter in the attack component of the summon. You can find an example in the "Conjurer/Familiar" file of the Buff package from my mod :

    Deadfire Balance Polishing Mod at Pillars of Eternity 2: Deadfire Nexus - Mods and Community (nexusmods.com)

    Really the easiest fix of the world.

    I changed the "SummonTypevalue to NotSummoned - that seems to do it.

  9. On 8/5/2021 at 2:43 PM, Noqn said:

    Cool idea, I had similar thoughts before.
    Sadly ScriptHooks only trigger when you load a scene or open a new map, though I think it's possible to utilize the InspectOnUseButton property of an ItemComponent to trigger a script. IIRC that's how Modwyr opens conversations.

    As for Inns, try "6f88c8c2-e6b7-4429-9407-5ae6c011d4fd" - the ID of Port Maje's crew shop which is globally available and should allow you to edit the party.

     

    This may be grasping at straws...

    The companion dialogue buttons (speech bubble icon) seem to be dynamic - I've seen them appear after dialogue in a scene - would it be possible to open one on the player's portrait, perhaps?

    • Like 1
  10. 6 hours ago, Elric Galad said:

    You can only have one "summon" (or pair/triple/qudruplet of the same spell), doesn't matter which comes first.

    You're right that "a character/actor" can only have one summon, but please see the image above, where I prove that a summon can have it's own summon.

     

    Watching the behaviour of the clones created with the wand (they pop when they attack a second time because they can only have one spawn), you get a rippling pattern like the Conway's Game of Life. 

    So after two(?) generations you get independence from the original creator. Those don't pop when the generation before the generation before them dies. Aloth is dead in the image, the clones don't just poof away.

    If you were to spawn a creature (A) that spawns [whatever you want], you can spawn [your other thing] independently. The other spawn [whatever you want] isn't "your" spawn.

     

      

    6 hours ago, Elric Galad said:

    You can mod a summon spell so it doesn't count for the limit. 

    I didn't know that, can you point me to more info on this, please?

     

     

     

  11. 4 hours ago, Elric Galad said:

    Ninagauth Killing Bolt's conditional spectre does count as summon.

    So it will remove any preexisting summon...

    ... unless you summon the first thing and then make that one summon the second thing ...? 

    ... or make a variant of it that summons both in the same Attack? Is that possible?

  12. I like the idea of Empower, but even though the icon is a huge swirling and flashing circle, I forget it's there.

     

    I was thinking maybe of different spells - so at lower levels you get spells that ALTER other spells - so they'd still be relevant later in the game.

    For example one might put a statuseffect on the caster and the description could be something like "After casting this, the next spell is instant". Then you'd have several versions of every spell and one would be an instant cast which is used when this statuseffect is on the player... oh gaun, you'd have to make zillions of versions of every spell. Forget I suggested it.

    Unless a modifier could be applied instead somehow?

     

    What do you think should happen to keep low level content relevant, if anything?

  13. As you might guess from the title, I have been trying to make a mod that lets me open the party selection window because I have the game on a mechanical drive and the load times are ... long. Having to switch several zones to swap in a "Suggested party member" is a somewhat lengthy process that I'd like to enbriefenate.

     

    To that end, I've tried the following, but with no success.

    • I made an item,
    • put an itemmod on the item,
    • put a statuseffect on the itemmod,
    • put the item in my character's inventory,
    • made a new hook that checks if the player is in the scene (as above) and if any party member ("b1a7ea1e-0000-0000-0000-000000000000") has the status effect from the item above,
    • with the script to Open Inn (I couldn't find one to open the party selection window) with this guid:  "19b74d83-b66b-4cd2-aad2-5f43a2a5b3fa".

     

    Does anybody know what I might be doing wrong or a better way to do it, please?

    • Like 2
    • Thanks 1
  14. On 8/3/2021 at 8:23 PM, Pfeifchen said:

    Well, thats something! Do you know by any chance, how to edit drop of chests and people?

    Items.GameDataBundle

    ... has LootLists in it. 

    Objects such as chests or cupboards or characters all have certain LootLists allocated to them in the same file.

    You can cross-check the references. 

     

    Search for this in the file:    "LL_       <-include the inverted commas! 

    That will show you a Loot List (they start with LL_).

    Some objects have specific drops, some are random, but from specific LootLists. Some have LootLists within LootLists.

    (This is why my Bountiful Booty mod goes way over the top sometimes!)

    • Like 1
  15. I think you need a Unity development kit to get at that stuff.

     

    I think some people may have provided some icon sheets from PoE1 on Nexusmods.

     

    Krystina Haggerty seems to have done at least some of the icons - it looks like their handle is Tigrin. You can find some examples on their deviantart page or personal website:

    http://tigrin.net/illustration

     

    Many thanks to Boeroer (below) for their work on the Community patch icons, which are a neat alternative for you: https://www.nexusmods.com/pillarsofeternity2/mods/335

    • Like 1
    • Thanks 1
×
×
  • Create New...