Jump to content

Help trying to make a custom grimoire?


Recommended Posts

So I saw the Al-Amir spellbook mod and have been trying to edit it. I think I have the spell list and everything correct (main changes are the spell list and changing the +1 conjuration power level to +1 evocation power level).
This is the spell list:
1: Wizard's Double, Fan of Flames
2: Concelhaut's Draining Missiles, Merciless Gaze
3: Ninagauth's Death Ray, Llengrath's Displaced Image
4: Ninagauth's Shadowflame, Ironskin
5: Llengrath's Safeguard, Arkemyr's Wondrous Torment
6: Arkemyr's Brilliant Departure, Arkemyr's Capricious Hex
7: Ninagauth's Killing Bolt, Concelhaut's Crushing Doom
8: Llengrath's Superior Elemental Bulwark, Wall of Many Colors
9: Llengrath's Relfection, Minoletta's Missile Salvo
 
I'm also at a loss for how to get the item into my inventory, I tried the hookscript(?) to make it try to autoadd to inventory but I can't wrap my head around it.

 

Anyway, this is what it looks like if anyone can help.
 

{

"GameDataObjects": [
"$type": "Game.GameData.EquippableGameData, Assembly-CSharp",
"DebugName": "Grimoire_Lucina",
"ID": "748a4aee-aed8-4bb0-a0ab-3edd516a6812"
"Components": [
{
"$type": "Game.GameData.ItemComponent, Assembly-CSharp",
"DisplayName": 99995,
"DescriptionText": 1176,
"DescriptionTextTactical": -1,
"FilterType": "Weapons",
"InventoryAudioEventListID": "32023afc-c1c3-4b6a-bcfd-77bde56ee6c3",
"IsQuestItem": "false",
"IsIngredient": "false",
"IsCurrency": "false",
"IsAdventuringItem": "false",
"IsJunk": "false",
"CanSellForFullValue": "false",
"MaxStackSize": 1,
"NeverDropAsLoot": "false",
"CanBePickpocketed": "true",
"IsUnique": "true",
"Value": 3800,
"IconTextureSmall": "gui/icons/items/misc/grimoire07_s.png",
"IconTextureLarge": "gui/icons/items/misc/grimoire07_l.png",
"PencilSketchTexture": "",
"InspectOnUseButton": [],
"IsPlaceholder": "false"
},
{
"$type": "Game.GameData.EquippableComponent, Assembly-CSharp",
"EquipmentType": "None",
"EquipmentSlot": "GrimoireOrTrinket",
"AppearancePiece": {
"ModelVisualDataPath": "prefabs/items/appearance/weapons/grimoire/a_grimoire07.asset"
},
"ItemModsIDs": ["6b876729-649c-48ad-8b60-23fb5d42c32a"],
"OnEquipVisualEffects": [],
"RestrictedToClassIDs": [
"acfd1303-4699-4939-91eb-6ac46d4af0bd"
],
"RestrictedToPlayer": "false",
"EquipConditionals": {
"Operator": 0,
"Components": []
},
"ProficientAbilityID": "00000000-0000-0000-0000-000000000000",
"CannotUnequip": "false",
"ItemRendererPrefab": "prefabs/itemrenderers/genericanimateditemrenderer.prefab",
"ItemModel": "art/character/weapons/grimoire/grimoire01/w_grimoire01_cast.fbx",
"AnimationController": "art/animation/animationcontrollers/weapon/w_grimoire.controller",
"PaperdollOverrideRenderer": "",
"AttackSummonID": "00000000-0000-0000-0000-000000000000",
"CannotSheathe": "false",
"PropVisualEffects": []
},
{
"$type": "Game.GameData.GrimoireComponent, Assembly-CSharp",
"NPCsAutomaticallyFill": "false",
"SchoolID": "00000000-0000-0000-0000-000000000000",
"SpellsIDs": [
"7d032f3c-386a-4711-b760-4285ea7f7e3e",
"07110385-72fd-4323-8b67-5734662ad53c",
"3f46f1e1-51b5-4567-a350-42a948218b4b",
"03819651-f218-4d29-a002-ceb99a489f1f",
"c0913543-b464-4138-a8cd-000f4ab10c67",
"75b14374-12fe-498e-9391-4c70a7acabc1",
"1e2c967f-b5bc-412c-ba34-0355737d338c",
"2d810c5c-b3cb-4f80-9ed6-5371e8a1f1e5",
"dd28d41d-862f-419f-a16e-cad2a1507918",
"c3fd9042-7c9b-44da-9b25-142bde609498",
"e50eae7a-220e-4ce9-a55f-1f796a4289b7",
"ca629ecb-b299-4831-ba46-795511b62887",
"4d7f980a-bb04-4874-b184-3a3493d20bf3",
"01e682b1-dd28-4c84-a63b-27cbd950be49",
"b341a2a4-07bc-4959-b4a6-5d14e9a3487d",
"9456a886-211c-404a-843e-a2fcf22bff6e",
"fded625a-081d-41ac-aa09-cfa92bd2ab5f",
"a15d0649-6283-48a8-a55e-b78f733c4382"
]

}
{
"$type": "Game.GameData.ItemModGameData, Assembly-CSharp",
"DebugName": "Empower_Evocation",
"ID": "6b876729-649c-48ad-8b60-23fb5d42c32a",
"Components": [{
"$type": "Game.GameData.ItemModComponent, Assembly-CSharp",
"DisplayName": 99650,
"HideFromUI": "false",
"EnchantCategory": "None",
"Cost": 4,
"DisplayEvenIfCostZero": "false",
"CursesItem": "false",
"StatusEffectsOnEquipIDs": ["b5eac66e-c834-4ca6-a61b-c9ed8fd96fca"],
"StatusEffectsOnLaunchIDs": [],
"StatusEffectsOnAttackIDs": [],
"AbilityModsOnEquipIDs": [],
"OnEquipVisualEffects": [],
"DamageProcs": [],
"AbilityModsOnEquipIDs": [],
}]
},
{
                "$type": "Game.GameData.ModScriptHookGameData, Assembly-CSharp",
                "DebugName": "Grimoire_ItemAdd",
                "ID": "a7c6a2b7-97fe-4b18-9448-ef59ad65aa54",
                "Components": [
                    {
                        "$type": "Game.GameData.ModScriptHookComponent, Assembly-CSharp",
                        "RunOnlyOnce": "false",
                        "SucceedOnlyOnce": "true",
                        "Script": {
                            "Data": {
                                "FullName": "Void GiveItems(748a4aee-aed8-4bb0-a0ab-3edd516a6812, 1",
                            }
                            }
                        }
                    
                ]
 
            }
            ]
]
}

 

Link to comment
Share on other sites

{
                "$type": "Game.GameData.ModScriptHookGameData, Assembly-CSharp",
                "DebugName": "Grimoire_ItemAdd",
                "ID": "a7c6a2b7-97fe-4b18-9448-ef59ad65aa54",
                "Components": [
                    {
                        "$type": "Game.GameData.ModScriptHookComponent, Assembly-CSharp",
                        "RunOnlyOnce": "false",
                        "SucceedOnlyOnce": "true",
                        "Script": {
                            "Data": {
                                "FullName": "Void GiveItems(748a4aee-aed8-4bb0-a0ab-3edd516a6812, 1",
                            }
                            }
                        }
                    
                ]
 
            }

 

 

I use the "ModScriptHook" if I want to add it to a store, container, NPC etc. If you just want to add it to your inventory then you can use the "PromotionalItemCollection", the game will treat it as a DLC and drop it in your inventory the next time you load a save or start a new game.

 

If I didn't screw anything up then this should work.

 

 

{

    "GameDataObjects": [

        {

            "$type": "Game.GameData.PromotionalItemCollectionGameData, Assembly-CSharp",

            "DebugName": "Grimoire_ItemAdd",

            "ID": "a7c6a2b7-97fe-4b18-9448-ef59ad65aa54",

            "Components": [

                {

                    "$type": "Game.GameData.PromotionalItemCollectionComponent, Assembly-CSharp",

                    "PromotionalItemCollections": {

                        "PromotionalItemCollection": [

                            {

                                "ItemReferenceID": "748a4aee-aed8-4bb0-a0ab-3edd516a6812",

                                "Quantity": 1

                            }

                        ]

                    }

                }

            ]

        }

    ]

}

 

Edited by Arthur Dent
Link to comment
Share on other sites

Well I tried that, the whole file looks like this now, however I think something else is throwing a wrench in the works. I checked the output_log.txt and it's throwing out this:

 

 

FormatException: Invalid format for Guid.Guid(string).
  at System.Guid+GuidParser.ParseChar (Char c) [0x00000] in <filename unknown>:0 
  at System.Guid+GuidParser.ParseGuid2 () [0x00000] in <filename unknown>:0 
  at System.Guid+GuidParser.Parse () [0x00000] in <filename unknown>:0 
  at System.Guid..ctor (System.String g) [0x00000] in <filename unknown>:0 
  at Onyx.GameDataObject.ParseGuidArray (Newtonsoft.Json.JsonTextReader jsonReader) [0x00000] in <filename unknown>:0 
  at Game.GameData.EquippableComponent.Parse (Newtonsoft.Json.JsonTextReader jsonReader) [0x00000] in <filename unknown>:0 
  at Onyx.GameDataObject.ParseComponent (Newtonsoft.Json.JsonTextReader jsonReader, Boolean allowPartialOverride) [0x00000] in <filename unknown>:0 
  at Onyx.GameDataObject.Parse (Newtonsoft.Json.JsonTextReader jsonReader, Boolean allowPartialOverride) [0x00000] in <filename unknown>:0 
  at Game.GameData.GameDataBundle.LoadJson (System.String filename, IGameDataProvider partialOverrideProvider) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
Game.GameData.GameDataBundle:LoadJson(String, IGameDataProvider)
Game.ResourceManager:LoadPartialGameDataBundle(String)
Game.ResourceManager:LoadBundles(String, String, String, Action`1, Action`1)
Game.ResourceManager:LoadGameDataBundles()
Game.ResourceManager:ReloadDataBundles()
Game.ResourceManager:Init()
Game.ResourceManager:.cctor()
ResolutionControllerBootstrap:Awake()
ResolutionControllerBootstrap:Awake()
 
(Filename:  Line: -1)
 
ERROR: Failed to load game data bundle E:/Steam/steamapps/common/Pillars of Eternity II/PillarsOfEternityII_Data/override/Lucina's Grimoire\design\gamedata\lucina_book.gamedatabundle.

 

Updated file:

 

{
    "GameDataObjects": [{
            "$type": "Game.GameData.EquippableGameData, Assembly-CSharp",
            "DebugName": "Grimoire_Lucina",
            "ID": "748a4aee-aed8-4bb0-a0ab-3edd516a6812",
            "Components": [{
                    "$type": "Game.GameData.ItemComponent, Assembly-CSharp",
                    "DisplayName": 99995,
                    "DescriptionText": 1176,
                    "FilterType": "Weapons",
                    "InventoryAudioEventListID": "32023afc-c1c3-4b6a-bcfd-77bde56ee6c3",
                    "IsQuestItem": "false",
                    "IsIngredient": "false",
                    "IsCurrency": "false",
                    "IsAdventuringItem": "false",
                    "IsJunk": "false",
                    "CanSellForFullValue": "false",
                    "MaxStackSize": 1,
                    "NeverDropAsLoot": "true",
                    "CanBePickpocketed": "false",
                    "IsUnique": "true",
                    "Value": 3800,
                    "IconTextureSmall": "gui/icons/items/misc/grimoire07_s.png",
                    "IconTextureLarge": "gui/icons/items/misc/grimoire07_l.png",
                    "PencilSketchTexture": "",
                    "InspectOnUseButton": [],
                    "IsPlaceholder": "false"
                },
                {
                    "$type": "Game.GameData.EquippableComponent, Assembly-CSharp",
                    "EquipmentType": "None",
                    "EquipmentSlot": "GrimoireOrTrinket",
                    "AppearancePiece": {
                        "ModelVisualDataPath": "prefabs/items/appearance/weapons/grimoire/a_grimoire07.asset"
                    },
                    "ItemModsIDs": ["6b876729-649c-48ad-8b60-23fb5d42c32a"],
                    "OnEquipVisualEffects": [],
                    "RestrictedToClassIDs": [{
"ClassType": "Wizard"
}],
                    "RestrictedToPlayer": "false",
                    "ProficientAbilityID": "00000000-0000-0000-0000-000000000000",
                    "CannotUnequip": "false",
                    "ItemRendererPrefab": "prefabs/itemrenderers/genericanimateditemrenderer.prefab",
                    "ItemModel": "art/character/weapons/grimoire/grimoire01/w_grimoire01_cast.fbx",
                    "AnimationController": "art/animation/animationcontrollers/weapon/w_grimoire.controller",
                    "PaperdollOverrideRenderer": "",
                    "AttackSummonID": "00000000-0000-0000-0000-000000000000",
                    "CannotSheathe": "false",
                    "PropVisualEffects": []
                },
                {
                    "$type": "Game.GameData.GrimoireComponent, Assembly-CSharp",
                    "NPCsAutomaticallyFill": "false",
                    "SchoolID": "00000000-0000-0000-0000-000000000000",
                    "SpellsIDs": [
                        "7d032f3c-386a-4711-b760-4285ea7f7e3e",
                        "07110385-72fd-4323-8b67-5734662ad53c",
                        "3f46f1e1-51b5-4567-a350-42a948218b4b",
                        "03819651-f218-4d29-a002-ceb99a489f1f",
                        "c0913543-b464-4138-a8cd-000f4ab10c67",
                        "75b14374-12fe-498e-9391-4c70a7acabc1",
                        "1e2c967f-b5bc-412c-ba34-0355737d338c",
                        "2d810c5c-b3cb-4f80-9ed6-5371e8a1f1e5",
                        "dd28d41d-862f-419f-a16e-cad2a1507918",
                        "c3fd9042-7c9b-44da-9b25-142bde609498",
                        "e50eae7a-220e-4ce9-a55f-1f796a4289b7",
                        "ca629ecb-b299-4831-ba46-795511b62887",
                        "4d7f980a-bb04-4874-b184-3a3493d20bf3",
                        "01e682b1-dd28-4c84-a63b-27cbd950be49",
                        "b341a2a4-07bc-4959-b4a6-5d14e9a3487d",
                        "9456a886-211c-404a-843e-a2fcf22bff6e",
                        "fded625a-081d-41ac-aa09-cfa92bd2ab5f",
                        "a15d0649-6283-48a8-a55e-b78f733c4382"
                    ]

                },
                {
                    "$type": "Game.GameData.ItemModGameData, Assembly-CSharp",
                    "DebugName": "Empower_Evocation",
                    "ID": "6b876729-649c-48ad-8b60-23fb5d42c32a",
                    "Components": [{
                        "$type": "Game.GameData.ItemModComponent, Assembly-CSharp",
                        "DisplayName": 99650,
                        "HideFromUI": "false",
                        "EnchantCategory": "None",
                        "Cost": 4,
                        "DisplayEvenIfCostZero": "false",
                        "CursesItem": "false",
                        "StatusEffectsOnEquipIDs": ["b5eac66e-c834-4ca6-a61b-c9ed8fd96fca"],
                        "StatusEffectsOnLaunchIDs": [],
                        "StatusEffectsOnAttackIDs": [],
                        "AbilityModsOnEquipIDs": [],
                        "OnEquipVisualEffects": [],
                        "DamageProcs": []
                    }]
                }
            ]
        },
        {
            "GameDataObjects": [{
                "$type": "Game.GameData.PromotionalItemCollectionGameData, Assembly-CSharp",
                "DebugName": "Grimoire_ItemAdd",
                "ID": "879ee637-b908-4218-a3c7-da004e1cdd88",
                "Components": [{
                    "$type": "Game.GameData.PromotionalItemCollectionComponent, Assembly-CSharp",
                    "PromotionalItemCollections": {
                        "PromotionalItemCollection": [{
                            "ItemReferenceID": "748a4aee-aed8-4bb0-a0ab-3edd516a6812",
                            "Quantity": 1
                        }]
                    }
                }]
            }]
        }
    ]
}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...